license.txt000060400000043077152455403670006751 0ustar00 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 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 licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) 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 this service 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 make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. 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. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute 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 and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), 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 distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the 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 a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, 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. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE 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. 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 convey 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 2 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 is interactive, make it output a short notice like this when it starts in an interactive mode: Gnomovision version 69, Copyright (C) year name of author Gnomovision 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, the commands you use may be called something other than `show w' and `show c'; they could even be mouse-clicks or menu items--whatever suits your program. You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the program, if necessary. Here is a sample; alter the names: Yoyodyne, Inc., hereby disclaims all copyright interest in the program `Gnomovision' (which makes passes at compilers) written by James Hacker. , 1 April 1989 Moe Ghoul, President of Vice This 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.templates/layout1.html000060400000000315152455403670011034 0ustar00
Column 1 Column 2
Username: {$username} Staffid: {$staffid}
templates/snippet1.html000060400000000050152455403670011175 0ustar00This is just some code.langs/pl.js000060400000017662152455403670006644 0ustar00tinymce.addI18n('pl',{ "Cut": "Wytnij", "Heading 5": "Nag\u0142\u00f3wek 5", "Header 2": "Nag\u0142\u00f3wek 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Twoja przegl\u0105darka nie obs\u0142uguje bezpo\u015bredniego dost\u0119pu do schowka. U\u017cyj zamiast tego kombinacji klawiszy Ctrl+X\/C\/V.", "Heading 4": "Nag\u0142\u00f3wek 4", "Div": "Div", "Heading 2": "Nag\u0142\u00f3wek 2", "Paste": "Wklej", "Close": "Zamknij", "Font Family": "Kr\u00f3j czcionki", "Pre": "Sformatowany tekst", "Align right": "Wyr\u00f3wnaj do prawej", "New document": "Nowy dokument", "Blockquote": "Blok cytatu", "Numbered list": "Lista numerowana", "Heading 1": "Nag\u0142\u00f3wek 1", "Headings": "Nag\u0142\u00f3wki", "Increase indent": "Zwi\u0119ksz wci\u0119cie", "Formats": "Formaty", "Headers": "Nag\u0142\u00f3wki", "Select all": "Zaznacz wszystko", "Header 3": "Nag\u0142\u00f3wek 3", "Blocks": "Bloki", "Undo": "Cofnij", "Strikethrough": "Przekre\u015blenie", "Bullet list": "Lista wypunktowana", "Header 1": "Nag\u0142\u00f3wek 1", "Superscript": "Indeks g\u00f3rny", "Clear formatting": "Wyczy\u015b\u0107 formatowanie", "Font Sizes": "Rozmiar czcionki", "Subscript": "Indeks dolny", "Header 6": "Nag\u0142\u00f3wek 6", "Redo": "Pon\u00f3w", "Paragraph": "Akapit", "Ok": "Ok", "Bold": "Pogrubienie", "Code": "Kod \u017ar\u00f3d\u0142owy", "Italic": "Kursywa", "Align center": "Wyr\u00f3wnaj do \u015brodka", "Header 5": "Nag\u0142\u00f3wek 5", "Heading 6": "Nag\u0142\u00f3wek 6", "Heading 3": "Nag\u0142\u00f3wek 3", "Decrease indent": "Zmniejsz wci\u0119cie", "Header 4": "Nag\u0142\u00f3wek 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Wklejanie jest w trybie tekstowym. Zawarto\u015b\u0107 zostanie wklejona jako zwyk\u0142y tekst dop\u00f3ki nie wy\u0142\u0105czysz tej opcji.", "Underline": "Podkre\u015blenie", "Cancel": "Anuluj", "Justify": "Do lewej i prawej", "Inline": "W tek\u015bcie", "Copy": "Kopiuj", "Align left": "Wyr\u00f3wnaj do lewej", "Visual aids": "Pomoce wizualne", "Lower Greek": "Ma\u0142e greckie", "Square": "Kwadrat", "Default": "Domy\u015blne", "Lower Alpha": "Ma\u0142e litery", "Circle": "K\u00f3\u0142ko", "Disc": "Dysk", "Upper Alpha": "Wielkie litery", "Upper Roman": "Wielkie rzymskie", "Lower Roman": "Ma\u0142e rzymskie", "Name": "Nazwa", "Anchor": "Kotwica", "You have unsaved changes are you sure you want to navigate away?": "Masz niezapisane zmiany. Czy na pewno chcesz opu\u015bci\u0107 stron\u0119?", "Restore last draft": "Przywr\u00f3\u0107 ostatni szkic", "Special character": "Znak specjalny", "Source code": "Kod \u017ar\u00f3d\u0142owy", "B": "B", "R": "R", "G": "G", "Color": "Kolor", "Right to left": "Od prawej do lewej", "Left to right": "Od lewej do prawej", "Emoticons": "Emotikony", "Robots": "Roboty", "Document properties": "W\u0142a\u015bciwo\u015bci dokumentu", "Title": "Tytu\u0142", "Keywords": "S\u0142owa kluczowe", "Encoding": "Kodowanie", "Description": "Opis", "Author": "Autor", "Fullscreen": "Pe\u0142ny ekran", "Horizontal line": "Pozioma linia", "Horizontal space": "Odst\u0119p poziomy", "Insert\/edit image": "Wstaw\/edytuj obrazek", "General": "Og\u00f3lne", "Advanced": "Zaawansowane", "Source": "\u0179r\u00f3d\u0142o", "Border": "Ramka", "Constrain proportions": "Zachowaj proporcje", "Vertical space": "Odst\u0119p pionowy", "Image description": "Opis obrazka", "Style": "Styl", "Dimensions": "Wymiary", "Insert image": "Wstaw obrazek", "Zoom in": "Powi\u0119ksz", "Contrast": "Kontrast", "Back": "Cofnij", "Gamma": "Gamma", "Flip horizontally": "Przerzu\u0107 w poziomie", "Resize": "Zmiana rozmiaru", "Sharpen": "Wyostrz", "Zoom out": "Pomniejsz", "Image options": "Opcje obrazu", "Apply": "Zaakceptuj", "Brightness": "Jasno\u015b\u0107", "Rotate clockwise": "Obr\u00f3\u0107 w prawo", "Rotate counterclockwise": "Obr\u00f3\u0107 w lewo", "Edit image": "Edytuj obrazek", "Color levels": "Poziom koloru", "Crop": "Przytnij", "Orientation": "Orientacja", "Flip vertically": "Przerzu\u0107 w pionie", "Invert": "Odwr\u00f3\u0107", "Insert date\/time": "Wstaw dat\u0119\/czas", "Remove link": "Usu\u0144 link", "Url": "Url", "Text to display": "Tekst do wy\u015bwietlenia", "Anchors": "Kotwice", "Insert link": "Wstaw link", "New window": "Nowe okno", "None": "\u017baden", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "URL, kt\u00f3ry wprowadzi\u0142e\u015b wygl\u0105da na link zewn\u0119trzny. Czy chcesz doda\u0107 http:\/\/ jako prefiks?", "Target": "Cel", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "URL, kt\u00f3ry wprowadzi\u0142e\u015b wygl\u0105da na adres e-mail. Czy chcesz doda\u0107 mailto: jako prefiks?", "Insert\/edit link": "Wstaw\/edytuj link", "Insert\/edit video": "Wstaw\/edytuj wideo", "Poster": "Plakat", "Alternative source": "Alternatywne \u017ar\u00f3d\u0142o", "Paste your embed code below:": "Wklej tutaj kod do osadzenia:", "Insert video": "Wstaw wideo", "Embed": "Osad\u017a", "Nonbreaking space": "Nie\u0142amliwa spacja", "Page break": "Podzia\u0142 strony", "Paste as text": "Wklej jako zwyk\u0142y tekst", "Preview": "Podgl\u0105d", "Print": "Drukuj", "Save": "Zapisz", "Could not find the specified string.": "Nie znaleziono szukanego tekstu.", "Replace": "Zamie\u0144", "Next": "Nast.", "Whole words": "Ca\u0142e s\u0142owa", "Find and replace": "Znajd\u017a i zamie\u0144", "Replace with": "Zamie\u0144 na", "Find": "Znajd\u017a", "Replace all": "Zamie\u0144 wszystko", "Match case": "Dopasuj wielko\u015b\u0107 liter", "Prev": "Poprz.", "Spellcheck": "Sprawdzanie pisowni", "Finish": "Zako\u0144cz", "Ignore all": "Ignoruj wszystko", "Ignore": "Ignoruj", "Add to Dictionary": "Dodaj do s\u0142ownika", "Insert row before": "Wstaw wiersz przed", "Rows": "Wiersz.", "Height": "Wysoko\u015b\u0107", "Paste row after": "Wklej wiersz po", "Alignment": "Wyr\u00f3wnanie", "Border color": "Kolor ramki", "Column group": "Grupa kolumn", "Row": "Wiersz", "Insert column before": "Wstaw kolumn\u0119 przed", "Split cell": "Podziel kom\u00f3rk\u0119", "Cell padding": "Dope\u0142nienie kom\u00f3rki", "Cell spacing": "Odst\u0119py kom\u00f3rek", "Row type": "Typ wiersza", "Insert table": "Wstaw tabel\u0119", "Body": "Tre\u015b\u0107", "Caption": "Tytu\u0142", "Footer": "Stopka", "Delete row": "Usu\u0144 wiersz", "Paste row before": "Wklej wiersz przed", "Scope": "Kontekst", "Delete table": "Usu\u0144 tabel\u0119", "H Align": "Wyr\u00f3wnanie w pionie", "Top": "G\u00f3ra", "Header cell": "Kom\u00f3rka nag\u0142\u00f3wka", "Column": "Kolumna", "Row group": "Grupa wierszy", "Cell": "Kom\u00f3rka", "Middle": "\u015arodek", "Cell type": "Typ kom\u00f3rki", "Copy row": "Kopiuj wiersz", "Row properties": "W\u0142a\u015bciwo\u015bci wiersza", "Table properties": "W\u0142a\u015bciwo\u015bci tabeli", "Bottom": "D\u00f3\u0142", "V Align": "Wyr\u00f3wnanie w poziomie", "Header": "Nag\u0142\u00f3wek", "Right": "Prawo", "Insert column after": "Wstaw kolumn\u0119 po", "Cols": "Kol.", "Insert row after": "Wstaw wiersz po", "Width": "Szeroko\u015b\u0107", "Cell properties": "W\u0142a\u015bciwo\u015bci kom\u00f3rki", "Left": "Lewo", "Cut row": "Wytnij wiersz", "Delete column": "Usu\u0144 kolumn\u0119", "Center": "\u015arodek", "Merge cells": "\u0141\u0105cz kom\u00f3rki", "Insert template": "Wstaw szablon", "Templates": "Szablony", "Background color": "Kolor t\u0142a", "Custom...": "Niestandardowy...", "Custom color": "Kolor niestandardowy", "No color": "Bez koloru", "Text color": "Kolor tekstu", "Show blocks": "Poka\u017c bloki", "Show invisible characters": "Poka\u017c niewidoczne znaki", "Words: {0}": "S\u0142\u00f3w: {0}", "Insert": "Wstaw", "File": "Plik", "Edit": "Edycja", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Obszar Edycji. ALT-F9 - menu. ALT-F10 - pasek narz\u0119dzi. ALT-0 - pomoc", "Tools": "Narz\u0119dzia", "View": "Widok", "Table": "Tabela", "Format": "Format" });langs/km.js000060400000051620152455403670006630 0ustar00tinymce.addI18n('km',{ "Cut": "\u1780\u17b6\u178f\u17cb", "Heading 5": "\u1780\u17d2\u1794\u17b6\u179b 5", "Header 2": "\u1780\u17d2\u1794\u17b6\u179b 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u1780\u1798\u17d2\u1798\u179c\u17b7\u1792\u17b8\u200b\u17a2\u17ca\u17b8\u1793\u1792\u17ba\u178e\u17b7\u178f\u200b\u179a\u1794\u179f\u17cb\u200b\u17a2\u17d2\u1793\u1780\u200b\u1798\u17b7\u1793\u200b\u17a2\u17b6\u1785\u200b\u1785\u17bc\u179b\u200b\u1795\u17d2\u1791\u17b6\u179b\u17cb\u200b\u1791\u17c5\u200b\u1780\u17b6\u1793\u17cb\u200b\u1780\u17d2\u178a\u17b6\u179a\u200b\u178f\u1798\u17d2\u1794\u17c0\u178f\u200b\u1781\u17d2\u1791\u17b6\u179f\u17cb\u200b\u17a1\u17be\u1799\u17d4 \u179f\u17bc\u1798\u200b\u1794\u17d2\u179a\u17be Ctrl+X\/C\/V \u179b\u17be\u200b\u1780\u17d2\u178a\u17b6\u179a\u200b\u1785\u17bb\u1785\u200b\u1787\u17c6\u1793\u17bd\u179f\u200b\u179c\u17b7\u1789\u17d4", "Heading 4": "\u1780\u17d2\u1794\u17b6\u179b 4", "Div": "Div", "Heading 2": "\u1780\u17d2\u1794\u17b6\u179b 2", "Paste": "\u1794\u17b7\u1791\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb", "Close": "\u1794\u17b7\u1791", "Font Family": "\u1796\u17bb\u1798\u17d2\u1796\u200b\u17a2\u1780\u17d2\u179f\u179a", "Pre": "Pre", "Align right": "\u178f\u1798\u17d2\u179a\u17b9\u1798\u200b\u1791\u17c5\u200b\u179f\u17d2\u178a\u17b6\u17c6", "New document": "\u17af\u1780\u179f\u17b6\u179a\u200b\u17a2\u178f\u17d2\u1790\u1794\u1791\u200b\u1790\u17d2\u1798\u17b8", "Blockquote": "\u1794\u17d2\u179b\u1780\u17cb\u200b\u1796\u17b6\u1780\u17d2\u1799\u200b\u179f\u1798\u17d2\u179a\u1784\u17cb", "Numbered list": "\u1794\u1789\u17d2\u1787\u17b8\u200b\u1787\u17b6\u200b\u179b\u17c1\u1781", "Heading 1": "\u1780\u17d2\u1794\u17b6\u179b 1", "Headings": "\u1780\u17d2\u1794\u17b6\u179b", "Increase indent": "\u1781\u17b7\u178f\u200b\u1794\u1793\u17d2\u1791\u17b6\u178f\u17cb\u200b\u1785\u17bc\u179b", "Formats": "\u1791\u1798\u17d2\u179a\u1784\u17cb", "Headers": "\u1780\u17d2\u1794\u17b6\u179b", "Select all": "\u1787\u17d2\u179a\u17be\u179f\u200b\u1791\u17b6\u17c6\u1784\u200b\u17a2\u179f\u17cb", "Header 3": "\u1780\u17d2\u1794\u17b6\u179b 3", "Blocks": "\u1794\u17d2\u179b\u1780\u17cb", "Undo": "\u1798\u17b7\u1793\u200b\u1792\u17d2\u179c\u17be\u200b\u179c\u17b7\u1789", "Strikethrough": "\u1782\u17bc\u179f\u200b\u1794\u1793\u17d2\u1791\u17b6\u178f\u17cb\u200b\u1780\u178e\u17d2\u178a\u17b6\u179b", "Bullet list": "\u1794\u1789\u17d2\u1787\u17b8\u200b\u1787\u17b6\u200b\u1785\u17c6\u178e\u17bb\u1785", "Header 1": "\u1780\u17d2\u1794\u17b6\u179b 1", "Superscript": "\u17a2\u1780\u17d2\u179f\u179a\u200b\u178f\u17bc\u1785\u200b\u179b\u17be", "Clear formatting": "\u179f\u1798\u17d2\u17a2\u17b6\u178f\u200b\u1791\u1798\u17d2\u179a\u1784\u17cb", "Font Sizes": "\u1791\u17c6\u17a0\u17c6\u200b\u17a2\u1780\u17d2\u179f\u179a", "Subscript": "\u17a2\u1780\u17d2\u179f\u179a\u200b\u178f\u17bc\u1785\u200b\u1780\u17d2\u179a\u17c4\u1798", "Header 6": "\u1780\u17d2\u1794\u17b6\u179b 6", "Redo": "\u1792\u17d2\u179c\u17be\u200b\u179c\u17b7\u1789", "Paragraph": "\u1780\u178b\u17b6\u1781\u178e\u17d2\u178c", "Ok": "\u1796\u17d2\u179a\u1798", "Bold": "\u178a\u17b7\u178f", "Code": "\u1780\u17bc\u178a", "Italic": "\u1791\u17d2\u179a\u17c1\u178f", "Align center": "\u178f\u1798\u17d2\u179a\u17b9\u1798\u200b\u1791\u17c5\u200b\u1780\u178e\u17d2\u178a\u17b6\u179b", "Header 5": "\u1780\u17d2\u1794\u17b6\u179b 5", "Heading 6": "\u1780\u17d2\u1794\u17b6\u179b 6", "Heading 3": "\u1780\u17d2\u1794\u17b6\u179b 3", "Decrease indent": "\u1781\u17b7\u178f\u200b\u1794\u1793\u17d2\u1791\u17b6\u178f\u17cb\u200b\u1785\u17c1\u1789", "Header 4": "\u1780\u17d2\u1794\u17b6\u179b 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u1780\u17b6\u179a\u200b\u1794\u17b7\u1791\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb\u200b\u1796\u17c1\u179b\u200b\u1793\u17c1\u17c7 \u179f\u17d2\u1790\u17b7\u178f\u200b\u1780\u17d2\u1793\u17bb\u1784\u200b\u1794\u17c2\u1794\u200b\u1795\u17c2\u1793\u200b\u17a2\u1780\u17d2\u179f\u179a\u200b\u1792\u1798\u17d2\u1798\u178f\u17b6\u17d4 \u1794\u1785\u17d2\u1785\u17bb\u1794\u17d2\u1794\u1793\u17d2\u1793\u200b\u1793\u17c1\u17c7 \u1798\u17b6\u178f\u17b7\u1780\u17b6\u200b\u1791\u17b6\u17c6\u1784\u200b\u17a1\u17b6\u1799\u200b\u1793\u17b9\u1784\u200b\u178f\u17d2\u179a\u17bc\u179c\u200b\u1794\u17b6\u1793\u200b\u1794\u17b7\u1791\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb\u200b\u1787\u17b6\u200b\u17a2\u1780\u17d2\u179f\u179a\u200b\u1792\u1798\u17d2\u1798\u178f\u17b6 \u179b\u17bb\u17c7\u178f\u17d2\u179a\u17b6\u200b\u178f\u17c2\u200b\u17a2\u17d2\u1793\u1780\u200b\u1794\u17b7\u1791\u200b\u1787\u1798\u17d2\u179a\u17be\u179f\u200b\u1793\u17c1\u17c7\u17d4", "Underline": "\u1782\u17bc\u179f\u200b\u1794\u1793\u17d2\u1791\u17b6\u178f\u17cb\u200b\u1796\u17b8\u200b\u1780\u17d2\u179a\u17c4\u1798", "Cancel": "\u1794\u17c4\u17c7\u200b\u1794\u1784\u17cb", "Justify": "\u178f\u1798\u17d2\u179a\u17b9\u1798\u200b\u1796\u17c1\u1789", "Inline": "\u1780\u17d2\u1793\u17bb\u1784\u200b\u1794\u1793\u17d2\u1791\u17b6\u178f\u17cb", "Copy": "\u1785\u1798\u17d2\u179b\u1784", "Align left": "\u178f\u1798\u17d2\u179a\u17b9\u1798\u200b\u1791\u17c5\u200b\u1786\u17d2\u179c\u17c1\u1784", "Visual aids": "\u1791\u17b7\u178a\u17d2\u178b\u1797\u17b6\u1796\u200b\u1787\u17c6\u1793\u17bd\u1799", "Lower Greek": "\u179b\u17c1\u1781\u200b\u1780\u17d2\u179a\u17b7\u1780\u200b\u178f\u17bc\u1785", "Square": "\u1787\u17d2\u179a\u17bb\u1784", "Default": "\u179b\u17c6\u1793\u17b6\u17c6\u200b\u178a\u17be\u1798", "Lower Alpha": "\u17a2\u1780\u17d2\u179f\u179a\u200b\u178f\u17bc\u1785", "Circle": "\u1798\u17bc\u179b", "Disc": "\u1790\u17b6\u179f", "Upper Alpha": "\u17a2\u1780\u17d2\u179f\u179a\u200b\u1792\u17c6", "Upper Roman": "\u179b\u17c1\u1781\u200b\u179a\u17c9\u17bc\u1798\u17c9\u17b6\u17c6\u1784\u200b\u1792\u17c6", "Lower Roman": "\u179b\u17c1\u1781\u200b\u179a\u17c9\u17bc\u1798\u17c9\u17b6\u17c6\u1784\u200b\u178f\u17bc\u1785", "Name": "\u1788\u17d2\u1798\u17c4\u17c7", "Anchor": "\u1799\u17bb\u1790\u17d2\u1780\u17b6", "You have unsaved changes are you sure you want to navigate away?": "\u1798\u17b6\u1793\u200b\u1794\u1793\u17d2\u179b\u17b6\u179f\u17cb\u200b\u1794\u17d2\u178a\u17bc\u179a\u200b\u1798\u17b7\u1793\u200b\u1791\u17b6\u1793\u17cb\u200b\u1794\u17b6\u1793\u200b\u179a\u1780\u17d2\u179f\u17b6\u200b\u1791\u17bb\u1780\u17d4 \u178f\u17be\u200b\u17a2\u17d2\u1793\u1780\u200b\u1796\u17b7\u178f\u200b\u1787\u17b6\u200b\u1785\u1784\u17cb\u200b\u1785\u17b6\u1780\u200b\u1785\u17c1\u1789\u200b\u1796\u17b8\u1791\u17b8\u1793\u17c1\u17c7\u200b\u1798\u17c2\u1793\u1791\u17c1?", "Restore last draft": "\u179f\u17d2\u178a\u17b6\u179a\u200b\u179f\u17c1\u1785\u1780\u17d2\u178a\u17b8\u200b\u1796\u17d2\u179a\u17b6\u1784\u200b\u1796\u17b8\u200b\u1798\u17bb\u1793", "Special character": "\u178f\u17bd\u200b\u17a2\u1780\u17d2\u179f\u179a\u200b\u1796\u17b7\u179f\u17c1\u179f", "Source code": "\u17a2\u1780\u17d2\u179f\u179a\u200b\u1780\u17bc\u178a", "B": "B", "R": "R", "G": "G", "Color": "\u1796\u178e\u17cc", "Right to left": "\u179f\u17d2\u178a\u17b6\u17c6\u200b\u1791\u17c5\u200b\u1786\u17d2\u179c\u17c1\u1784", "Left to right": "\u1786\u17d2\u179c\u17c1\u1784\u200b\u1791\u17c5\u200b\u179f\u17d2\u178a\u17b6\u17c6", "Emoticons": "\u179a\u17bc\u1794\u200b\u179f\u1789\u17d2\u1789\u17b6\u178e\u200b\u17a2\u17b6\u179a\u1798\u17d2\u1798\u178e\u17cd", "Robots": "\u179a\u17bc\u1794\u1799\u1793\u17d2\u178f", "Document properties": "\u179b\u1780\u17d2\u1781\u178e\u17c8\u200b\u179f\u1798\u17d2\u1794\u178f\u17d2\u178f\u17b7\u200b\u17af\u1780\u179f\u17b6\u179a", "Title": "\u1785\u17c6\u178e\u1784\u200b\u1787\u17be\u1784", "Keywords": "\u1796\u17b6\u1780\u17d2\u1799\u200b\u1782\u1793\u17d2\u179b\u17b9\u17c7", "Encoding": "\u1780\u17b6\u179a\u200b\u17a2\u17ca\u17b8\u1793\u1780\u17bc\u178a", "Description": "\u179f\u17c1\u1785\u1780\u17d2\u178a\u17b8\u200b\u17a2\u1792\u17b7\u1794\u17d2\u1794\u17b6\u1799", "Author": "\u17a2\u17d2\u1793\u1780\u200b\u1793\u17b7\u1796\u1793\u17d2\u1792", "Fullscreen": "\u1796\u17c1\u1789\u200b\u17a2\u17c1\u1780\u17d2\u179a\u1784\u17cb", "Horizontal line": "\u1794\u1793\u17d2\u1791\u17b6\u178f\u17cb\u200b\u178a\u17c1\u1780", "Horizontal space": "\u179b\u17c6\u17a0\u200b\u1795\u17d2\u178a\u17c1\u1780", "Insert\/edit image": "\u1794\u1789\u17d2\u1785\u17bc\u179b\/\u1780\u17c2 \u179a\u17bc\u1794\u200b\u1797\u17b6\u1796", "General": "\u1791\u17bc\u1791\u17c5", "Advanced": "\u1780\u1798\u17d2\u179a\u17b7\u178f\u200b\u1781\u17d2\u1796\u179f\u17cb", "Source": "\u1794\u17d2\u179a\u1797\u1796", "Border": "\u179f\u17ca\u17bb\u1798", "Constrain proportions": " \u1794\u1784\u17d2\u1781\u17c6\u200b\u17b2\u17d2\u1799\u200b\u1798\u17b6\u1793\u200b\u179f\u1798\u17b6\u1798\u17b6\u178f\u17d2\u179a", "Vertical space": "\u179b\u17c6\u17a0\u200b\u1794\u1789\u17d2\u1788\u179a", "Image description": "\u179f\u17c1\u1785\u1780\u17d2\u178a\u17b8\u200b\u17a2\u1792\u17b7\u1794\u17d2\u1794\u17b6\u1799\u200b\u1796\u17b8\u200b\u179a\u17bc\u1794", "Style": "\u179a\u1785\u1793\u17b6\u1794\u1790", "Dimensions": "\u179c\u17b7\u1798\u17b6\u178f\u17d2\u179a", "Insert image": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u179a\u17bc\u1794\u200b\u1797\u17b6\u1796", "Zoom in": "\u1796\u1784\u17d2\u179a\u17b8\u1780", "Contrast": "\u1780\u1798\u17d2\u179a\u17b7\u178f\u200b\u1796\u178e\u17cc", "Back": "\u1790\u1799\u1780\u17d2\u179a\u17c4\u1799", "Gamma": "\u17a0\u17d2\u1782\u17b6\u1798\u17c9\u17b6", "Flip horizontally": "\u178f\u17d2\u179a\u17a1\u1794\u17cb\u200b\u1795\u17d2\u178a\u17c1\u1780", "Resize": "\u1794\u17d2\u178a\u17bc\u179a\u200b\u1791\u17c6\u17a0\u17c6", "Sharpen": "\u1785\u17d2\u1794\u17b6\u179f\u17cb", "Zoom out": "\u1794\u1784\u17d2\u179a\u17bd\u1798", "Image options": "\u1787\u1798\u17d2\u179a\u17be\u179f\u200b\u179a\u17bc\u1794\u1797\u17b6\u1796", "Apply": "\u17a2\u1793\u17bb\u179c\u178f\u17d2\u178f", "Brightness": "\u1796\u1793\u17d2\u179b\u17ba", "Rotate clockwise": "\u1794\u1784\u17d2\u179c\u17b7\u179b\u200b\u179f\u17d2\u179a\u1794\u200b\u1791\u17d2\u179a\u1793\u17b7\u1785\u200b\u1793\u17b6\u17a1\u17b7\u1780\u17b6", "Rotate counterclockwise": "\u1794\u1784\u17d2\u179c\u17b7\u179b\u200b\u1785\u17d2\u179a\u17b6\u179f\u200b\u1791\u17d2\u179a\u1793\u17b7\u1785\u200b\u1793\u17b6\u17a1\u17b7\u1780\u17b6", "Edit image": "\u1780\u17c2\u179f\u1798\u17d2\u179a\u17bd\u179b\u200b\u179a\u17bc\u1794\u1797\u17b6\u1796", "Color levels": "\u1780\u1798\u17d2\u179a\u17b7\u178f\u200b\u1796\u178e\u17cc", "Crop": "\u1785\u17d2\u179a\u17b9\u1794", "Orientation": "\u1791\u17b7\u179f", "Flip vertically": "\u178f\u17d2\u179a\u17a1\u1794\u17cb\u200b\u1794\u1789\u17d2\u1788\u179a", "Invert": "\u178a\u17b6\u1780\u17cb\u200b\u1794\u1789\u17d2\u1785\u17d2\u179a\u17b6\u179f", "Insert date\/time": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u1780\u17b6\u179b\u200b\u1794\u179a\u17b7\u1785\u17d2\u1786\u17c1\u1791\/\u1798\u17c9\u17c4\u1784", "Remove link": "\u178a\u1780\u200b\u178f\u17c6\u178e\u200b\u1785\u17c1\u1789", "Url": "Url", "Text to display": "\u17a2\u1780\u17d2\u179f\u179a\u200b\u178f\u17d2\u179a\u17bc\u179c\u200b\u1794\u1784\u17d2\u17a0\u17b6\u1789", "Anchors": "\u1799\u17bb\u1790\u17d2\u1780\u17b6", "Insert link": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u178f\u17c6\u178e", "New window": "\u1795\u17d2\u1791\u17b6\u17c6\u1784\u200b\u179c\u17b8\u1793\u178a\u17bc\u200b\u1790\u17d2\u1798\u17b8", "None": "\u1798\u17b7\u1793\u200b\u1798\u17b6\u1793", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u17a2\u17d2\u1793\u1780\u200b\u1794\u17b6\u1793\u200b\u1794\u1789\u17d2\u1785\u17bc\u179b URL \u178a\u17c2\u179b\u200b\u1787\u17b6\u200b\u178f\u17c6\u178e\u200b\u1791\u17c5\u200b\u1781\u17b6\u1784\u200b\u1780\u17d2\u179a\u17c5\u17d4 \u178f\u17be\u200b\u17a2\u17d2\u1793\u1780\u200b\u1785\u1784\u17cb\u200b\u1794\u1793\u17d2\u1790\u17c2\u1798\u200b\u1794\u17bb\u1796\u17d2\u179c\u1794\u200b\u1791 http:\/\/ \u178a\u17c2\u179a\u200b\u17ac\u1791\u17c1?", "Target": "\u1791\u17b7\u179f\u178a\u17c5", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u17a2\u17d2\u1793\u1780\u200b\u1794\u17b6\u1793\u200b\u1794\u1789\u17d2\u1785\u17bc\u179b URL \u178a\u17c2\u179b\u200b\u1798\u17b6\u1793\u200b\u179f\u178e\u17d2\u178b\u17b6\u1793\u200b\u178a\u17bc\u1785\u200b\u17a2\u17b6\u179f\u1799\u178a\u17d2\u178b\u17b6\u1793\u200b\u17a2\u17ca\u17b8\u1798\u17c2\u179b\u17d4 \u178f\u17be\u200b\u17a2\u17d2\u1793\u1780\u200b\u1785\u1784\u17cb\u200b\u1794\u1793\u17d2\u1790\u17c2\u1798\u200b\u1794\u17bb\u1796\u17d2\u179c\u1794\u200b\u1791 mailto: \u178a\u17c2\u179a\u200b\u17ac\u1791\u17c1?", "Insert\/edit link": "\u1794\u1789\u17d2\u1785\u17bc\u179b\/\u1780\u17c2 \u178f\u17c6\u178e", "Insert\/edit video": "\u1794\u1789\u17d2\u1785\u17bc\u179b\/\u1780\u17c2 \u179c\u17b8\u178a\u17c1\u17a2\u17bc", "Poster": "\u17a2\u17d2\u1793\u1780\u200b\u1795\u17d2\u179f\u17b6\u1799", "Alternative source": "\u1794\u17d2\u179a\u1797\u1796\u200b\u178a\u1791\u17c3\u200b\u1791\u17c0\u178f", "Paste your embed code below:": "\u1794\u17b7\u1791\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb\u200b\u1780\u17bc\u178a\u200b\u1794\u1784\u17d2\u1780\u1794\u17cb\u200b\u1793\u17c5\u200b\u1781\u17b6\u1784\u200b\u1780\u17d2\u179a\u17c4\u1798:", "Insert video": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u179c\u17b8\u178a\u17c1\u17a2\u17bc", "Embed": "\u1794\u1784\u17d2\u1780\u1794\u17cb", "Nonbreaking space": "\u178a\u17c6\u178e\u1780\u200b\u1783\u17d2\u179b\u17b6\u200b\u1798\u17b7\u1793\u200b\u1794\u17c6\u1794\u17c2\u1780", "Page break": "\u1794\u17c6\u1794\u17c2\u1780\u200b\u1791\u17c6\u1796\u17d0\u179a", "Paste as text": "\u1794\u17b7\u1791\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb\u200b\u1787\u17b6\u200b\u17a2\u1780\u17d2\u179f\u179a", "Preview": "\u1798\u17be\u179b\u200b\u1787\u17b6\u200b\u1798\u17bb\u1793", "Print": "\u1794\u17c4\u17c7\u200b\u1796\u17bb\u1798\u17d2\u1796", "Save": "\u179a\u1780\u17d2\u179f\u17b6\u200b\u1791\u17bb\u1780", "Could not find the specified string.": "\u1798\u17b7\u1793\u200b\u17a2\u17b6\u1785\u200b\u179a\u1780\u200b\u1783\u17be\u1789\u200b\u1781\u17d2\u179f\u17c2\u200b\u17a2\u1780\u17d2\u179f\u179a\u200b\u178a\u17c2\u179b\u200b\u1794\u17b6\u1793\u200b\u1780\u17c6\u178e\u178f\u17cb\u17d4", "Replace": "\u1787\u17c6\u1793\u17bd\u179f", "Next": "\u1798\u17bb\u1781", "Whole words": "\u1796\u17b6\u1780\u17d2\u1799\u200b\u1791\u17b6\u17c6\u1784\u200b\u1798\u17bc\u179b", "Find and replace": "\u179f\u17d2\u179c\u17c2\u1784\u200b\u179a\u1780\u200b\u1793\u17b7\u1784\u200b\u1787\u17c6\u1793\u17bd\u179f", "Replace with": "\u1787\u17c6\u1793\u17bd\u179f\u200b\u178a\u17c4\u1799", "Find": "\u179f\u17d2\u179c\u17c2\u1784\u200b\u179a\u1780", "Replace all": "\u1787\u17c6\u1793\u17bd\u179f\u200b\u1791\u17b6\u17c6\u1784\u200b\u17a2\u179f\u17cb", "Match case": "\u1780\u179a\u178e\u17b8\u200b\u178a\u17c6\u178e\u17bc\u1785", "Prev": "\u1780\u17d2\u179a\u17c4\u1799", "Spellcheck": "\u1796\u17b7\u1793\u17b7\u178f\u17d2\u1799\u200b\u17a2\u1780\u17d2\u1781\u179a\u17b6\u179c\u17b7\u179a\u17bb\u1791\u17d2\u1792", "Finish": "\u1794\u1789\u17d2\u1785\u1794\u17cb", "Ignore all": "\u1798\u17b7\u1793\u200b\u17a2\u17be\u1796\u17be\u200b\u1791\u17b6\u17c6\u1784\u200b\u17a2\u179f\u17cb", "Ignore": "\u1798\u17b7\u1793\u200b\u17a2\u17be\u200b\u1796\u17be", "Add to Dictionary": "\u1794\u1793\u17d2\u1790\u17c2\u1798\u200b\u1791\u17c5\u200b\u179c\u1785\u1793\u17b6\u1793\u17bb\u1780\u17d2\u179a\u1798", "Insert row before": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u1788\u17bd\u179a\u200b\u178a\u17c1\u1780\u200b\u1796\u17b8\u200b\u1798\u17bb\u1781", "Rows": "\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Height": "\u1780\u1798\u17d2\u1796\u179f\u17cb", "Paste row after": "\u1794\u17b7\u1791\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780\u200b\u1796\u17b8\u200b\u1780\u17d2\u179a\u17c4\u1799", "Alignment": "\u1780\u17b6\u179a\u200b\u178f\u1798\u17d2\u179a\u17b9\u1798", "Border color": "\u1796\u178e\u17cc\u200b\u179f\u17ca\u17bb\u1798", "Column group": "\u1780\u17d2\u179a\u17bb\u1798\u200b\u1787\u17bd\u179a\u200b\u1788\u179a", "Row": "\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Insert column before": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u1787\u17bd\u179a\u200b\u1788\u179a\u200b\u1796\u17b8\u200b\u1798\u17bb\u1781", "Split cell": "\u1789\u17c2\u1780\u200b\u1780\u17d2\u179a\u17a1\u17b6", "Cell padding": "\u1785\u1793\u17d2\u179b\u17c4\u17c7\u200b\u1780\u17d2\u179a\u17a1\u17b6", "Cell spacing": "\u1782\u1798\u17d2\u179b\u17b6\u178f\u200b\u1780\u17d2\u179a\u17a1\u17b6", "Row type": "\u1794\u17d2\u179a\u1797\u17c1\u1791\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Insert table": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u178f\u17b6\u179a\u17b6\u1784", "Body": "\u178f\u17bd\u200b\u179f\u17c1\u1785\u1780\u17d2\u178a\u17b8", "Caption": "\u1785\u17c6\u178e\u1784\u200b\u1787\u17be\u1784", "Footer": "\u1794\u178b\u1798\u200b\u1780\u1790\u17b6", "Delete row": "\u179b\u17bb\u1794\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Paste row before": "\u1794\u17b7\u1791\u200b\u1797\u17d2\u1787\u17b6\u1794\u17cb\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780\u200b\u1796\u17b8\u200b\u1798\u17bb\u1781", "Scope": "\u179c\u17b7\u179f\u17b6\u179b\u200b\u1797\u17b6\u1796", "Delete table": "\u179b\u17bb\u1794\u200b\u178f\u17b6\u179a\u17b6\u1784", "H Align": "\u1780\u17b6\u179a\u200b\u178f\u1798\u17d2\u179a\u17b9\u1798\u200b\u1795\u17d2\u178a\u17c1\u1780", "Top": "\u179b\u17be", "Header cell": "\u1780\u17d2\u179a\u17a1\u17b6\u200b\u1785\u17c6\u178e\u1784\u200b\u1787\u17be\u1784", "Column": "\u1787\u17bd\u179a\u200b\u1788\u179a", "Row group": "\u1780\u17d2\u179a\u17bb\u1798\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Cell": "\u1780\u17d2\u179a\u17a1\u17b6", "Middle": "\u1780\u178e\u17d2\u178a\u17b6\u179b", "Cell type": "\u1794\u17d2\u179a\u1797\u17c1\u1791\u200b\u1780\u17d2\u179a\u17a1\u17b6", "Copy row": "\u1785\u1798\u17d2\u179b\u1784\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Row properties": "\u179b\u1780\u17d2\u1781\u178e\u17c8\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Table properties": "\u179b\u1780\u17d2\u1781\u178e\u17c8\u200b\u178f\u17b6\u179a\u17b6\u1784", "Bottom": "\u1780\u17d2\u179a\u17c4\u1798", "V Align": "\u1780\u17b6\u179a\u200b\u178f\u1798\u17d2\u179a\u17b9\u1798\u200b\u1794\u1789\u17d2\u1788\u179a", "Header": "\u1785\u17c6\u178e\u1784\u200b\u1787\u17be\u1784", "Right": "\u179f\u17d2\u178a\u17b6\u17c6", "Insert column after": "\u1794\u1789\u17d2\u1787\u17bc\u179b\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780\u200b\u1796\u17b8\u200b\u1780\u17d2\u179a\u17c4\u1799", "Cols": "\u1787\u17bd\u179a\u200b\u1788\u179a", "Insert row after": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780\u200b\u1796\u17b8\u200b\u1780\u17d2\u179a\u17c4\u1799", "Width": "\u1791\u1791\u17b9\u1784", "Cell properties": "\u179b\u1780\u17d2\u1781\u178e\u17c8\u200b\u1780\u17d2\u179a\u17a1\u17b6", "Left": "\u1786\u17d2\u179c\u17c1\u1784", "Cut row": "\u1780\u17b6\u178f\u17cb\u200b\u1787\u17bd\u179a\u200b\u178a\u17c1\u1780", "Delete column": "\u179b\u17bb\u1794\u200b\u1787\u17bd\u179a\u200b\u1788\u179a", "Center": "\u1780\u178e\u17d2\u178a\u17b6\u179b", "Merge cells": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u1780\u17d2\u179a\u17a1\u17b6\u200b\u1785\u17bc\u179b\u200b\u1782\u17d2\u1793\u17b6", "Insert template": "\u1794\u1789\u17d2\u1785\u17bc\u179b\u200b\u1796\u17bb\u1798\u17d2\u1796\u200b\u1782\u1798\u17d2\u179a\u17bc", "Templates": "\u1796\u17bb\u1798\u17d2\u1796\u200b\u1782\u1798\u17d2\u179a\u17bc", "Background color": "\u1796\u178e\u17cc\u200b\u1795\u17d2\u1791\u17c3\u200b\u1780\u17d2\u179a\u17c4\u1799", "Custom...": "\u1795\u17d2\u1791\u17b6\u179b\u17cb\u200b\u1781\u17d2\u179b\u17bd\u1793...", "Custom color": "\u1796\u178e\u17cc\u200b\u1795\u17d2\u1791\u17b6\u179b\u17cb\u200b\u1781\u17d2\u179b\u17bd\u1793", "No color": "\u1782\u17d2\u1798\u17b6\u1793\u200b\u1796\u178e\u17cc", "Text color": "\u1796\u178e\u17cc\u200b\u17a2\u1780\u17d2\u179f\u179a", "Show blocks": "\u1794\u1784\u17d2\u17a0\u17b6\u1789\u200b\u1794\u17d2\u179b\u17bb\u1780", "Show invisible characters": "\u1794\u1784\u17d2\u17a0\u17b6\u1789\u200b\u178f\u17bd\u200b\u17a2\u1780\u17d2\u179f\u179a\u200b\u1780\u17c6\u1794\u17b6\u17c6\u1784", "Words: {0}": "\u1796\u17b6\u1780\u17d2\u1799: {0}", "Insert": "\u1794\u1789\u17d2\u1785\u17bc\u179b", "File": "\u17af\u1780\u179f\u17b6\u179a", "Edit": "\u1780\u17c2\u1794\u17d2\u179a\u17c2", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u1791\u17b8\u178f\u17b6\u17c6\u1784\u200b\u17a2\u1780\u17d2\u179f\u179a\u200b\u179f\u17c6\u1794\u17bc\u179a\u1794\u17c2\u1794\u17d4 \u1785\u17bb\u1785 ALT-F9 \u179f\u1798\u17d2\u179a\u17b6\u1794\u17cb\u200b\u1798\u17c9\u17ba\u1793\u17bb\u1799\u17d4 \u1785\u17bb\u1785 ALT-F10 \u179f\u1798\u17d2\u179a\u17b6\u1794\u17cb\u200b\u179a\u1794\u17b6\u179a\u200b\u17a7\u1794\u1780\u179a\u178e\u17cd\u17d4 \u1785\u17bb\u1785 ALT-0 \u179f\u1798\u17d2\u179a\u17b6\u1794\u17cb\u200b\u1787\u17c6\u1793\u17bd\u1799\u17d4", "Tools": "\u17a7\u1794\u1780\u179a\u178e\u17cd", "View": "\u1791\u17b7\u178a\u17d2\u178b\u1797\u17b6\u1796", "Table": "\u178f\u17b6\u179a\u17b6\u1784", "Format": "\u1791\u1798\u17d2\u179a\u1784\u17cb" });langs/nb.js000060400000017605152455403670006625 0ustar00tinymce.addI18n('nb',{ "Cut": "Klipp ut", "Heading 5": "Overskrift 5", "Header 2": "Overskrift 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Nettleseren din st\u00f8tter ikke direkte tilgang til utklippsboken. Bruk istedet tastatur-snarveiene Ctrl+X\/C\/V, eller Cmd+X\/C\/V p\u00e5 Mac.", "Heading 4": "Overskrift 4", "Div": "Delblokk
", "Heading 2": "Overskrift 2", "Paste": "Lim inn", "Close": "Lukk", "Font Family": "Skriftsnitt", "Pre": "Definert
",
"Align right": "H\u00f8yrejustert",
"New document": "Nytt dokument",
"Blockquote": "Sitatblokk 
", "Numbered list": "Nummerliste", "Heading 1": "Overskrift 1", "Headings": "Overskrifter", "Increase indent": "\u00d8k innrykk", "Formats": "Stiler", "Headers": "Overskrifter", "Select all": "Marker alt", "Header 3": "Overskrift 3", "Blocks": "Blokker", "Undo": "Angre", "Strikethrough": "Gjennomstreket", "Bullet list": "Punktliste", "Header 1": "Overskrift 1", "Superscript": "Hevet skrift", "Clear formatting": "Fjern formateringer", "Font Sizes": "St\u00f8rrelse", "Subscript": "Senket skrift", "Header 6": "Overskrift 6", "Redo": "Utf\u00f8r likevel", "Paragraph": "Avsnitt

", "Ok": "OK", "Bold": "Halvfet", "Code": "Kode ", "Italic": "Kursiv", "Align center": "Midtstilt", "Header 5": "Overskrift 5", "Heading 6": "Overskrift 6", "Heading 3": "Overskrift 3", "Decrease indent": "Reduser innrykk", "Header 4": "Overskrift 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Lim inn er n\u00e5 i ren-tekst modus. Kopiert innhold vil bli limt inn som ren tekst inntil du sl\u00e5r av dette valget.", "Underline": "Understreket", "Cancel": "Avbryt", "Justify": "Juster alle linjer", "Inline": "Innkapslet ", "Copy": "Kopier", "Align left": "Venstrejustert", "Visual aids": "Visuelle hjelpemidler", "Lower Greek": "Greske minuskler", "Square": "Fylt firkant", "Default": "Normal", "Lower Alpha": "Minuskler", "Circle": "\u00c5pen sirkel", "Disc": "Fylt sirkel", "Upper Alpha": "Versaler", "Upper Roman": "Romerske versaler", "Lower Roman": "Romerske minuskler", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id burde starte med en bokstav, bare fulgt av bokstaver, nummer, streker, punktum, koloner eller understreker.", "Name": "Navn", "Anchor": "Anker", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "Du har ikke arkivert endringene. Vil du fortsette uten \u00e5 arkivere?", "Restore last draft": "Gjenopprett siste utkast", "Special character": "Spesialtegn", "Source code": "Kildekode", "Language": "Spr\u00e5k", "Insert\/Edit code sample": "Sett inn\/endre kodeeksempel", "B": "B", "R": "R", "G": "G", "Color": "Farge", "Right to left": "H\u00f8yre til venstre", "Left to right": "Venstre til h\u00f8yre", "Emoticons": "Hum\u00f8rfjes", "Robots": "Roboter", "Document properties": "Dokumentegenskaper", "Title": "Tittel", "Keywords": "N\u00f8kkelord", "Encoding": "Tegnkoding", "Description": "Beskrivelse", "Author": "Forfatter", "Fullscreen": "Fullskjerm", "Horizontal line": "Horisontal linje", "Horizontal space": "Horisontal marg", "Insert\/edit image": "Sett inn\/endre bilde", "General": "Generelt", "Advanced": "Avansert", "Source": "Bildelenke", "Border": "Ramme", "Constrain proportions": "Behold proporsjoner", "Vertical space": "Vertikal marg", "Image description": "Bildebeskrivelse", "Style": "Stil", "Dimensions": "Dimensjoner", "Insert image": "Sett inn bilde", "Image": "Bilde", "Zoom in": "Zoom inn", "Contrast": "Kontrast", "Back": "Tilbake", "Gamma": "Gamma", "Flip horizontally": "Speilvend horisontalt", "Resize": "Skaler", "Sharpen": "Skarphet", "Zoom out": "Zoom ut", "Image options": "Bilde innstillinger", "Apply": "Utf\u00f8r", "Brightness": "Lysstyrke", "Rotate clockwise": "Roter mot h\u00f8yre", "Rotate counterclockwise": "Roter mot venstre", "Edit image": "Rediger bilde", "Color levels": "Fargeniv\u00e5", "Crop": "Beskj\u00e6r", "Orientation": "Orientering", "Flip vertically": "Speilvend vertikalt", "Invert": "Inverter", "Date\/time": "Dato\/tid", "Insert date\/time": "Sett inn dato\/tid", "Remove link": "Fjern lenke", "Url": "Url", "Text to display": "Tekst som skal vises", "Anchors": "Anker", "Insert link": "Sett inn lenke", "Link": "Lenke", "New window": "Nytt vindu", "None": "Ingen", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Oppgitt URL ser ut til \u00e5 v\u00e6re en e-postadresse. \u00d8nsker du \u00e5 sette inn p\u00e5krevd mailto:-prefiks foran e-postadressen?", "Paste or type a link": "Lim inn eller skriv en lenke", "Target": "M\u00e5l", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Oppgitte URL ser ut til \u00e5 v\u00e6re en epost-adresse. \u00d8nsker du \u00e5 sette inn p\u00e5krevet mailto: prefiks forran epost-adressen?", "Insert\/edit link": "Sett inn\/endre lenke", "Insert\/edit video": "Sett inn\/rediger video", "Media": "Media", "Alternative source": "Alternativ kilde", "Paste your embed code below:": "Lim inn inkluderings-koden nedenfor", "Insert video": "Sett inn video", "Poster": "Plakatbilde", "Insert\/edit media": "Sett inn\/endre media", "Embed": "Inkluder", "Nonbreaking space": "Hardt mellomrom", "Page break": "Sideskifte", "Paste as text": "Lim inn som tekst", "Preview": "Forh\u00e5ndsvisning", "Print": "Skriv ut", "Save": "Arkiver", "Could not find the specified string.": "Kunne ikke finne den spesifiserte teksten", "Replace": "Erstatt", "Next": "Neste", "Whole words": "Hele ord", "Find and replace": "Finn og erstatt", "Replace with": "Erstatt med", "Find": "Finn", "Replace all": "Erstatt alle", "Match case": "Match store og sm\u00e5 bokstaver", "Prev": "Forrige", "Spellcheck": "Stavekontroll", "Finish": "Avslutt", "Ignore all": "Ignorer alle", "Ignore": "Ignorer", "Add to Dictionary": "Legg til i ordliste", "Insert row before": "Sett inn rad f\u00f8r", "Rows": "Rader", "Height": "H\u00f8yde", "Paste row after": "Lim inn rad etter", "Alignment": "Justering", "Border color": "Rammefarge", "Column group": "Kolonnegruppe", "Row": "Rad", "Insert column before": "Sett inn kolonne f\u00f8r", "Split cell": "Splitt celle", "Cell padding": "Cellemarg", "Cell spacing": "Celleavstand", "Row type": "Rad-type", "Insert table": "Sett inn tabell", "Body": "Br\u00f8dtekst", "Caption": "Tittel", "Footer": "Bunntekst", "Delete row": "Slett rad", "Paste row before": "Lim inn rad f\u00f8r", "Scope": "Omfang", "Delete table": "Slett tabell", "H Align": "H Justering", "Top": "Topp", "Header cell": "Topptekst-celle", "Column": "Kolonne", "Row group": "Radgruppe", "Cell": "Celle", "Middle": "Midten", "Cell type": "Celletype", "Copy row": "Kopier rad", "Row properties": "Rad egenskaper", "Table properties": "Tabell egenskaper", "Bottom": "Bunn", "V Align": "V Justering", "Header": "Topptekst", "Right": "H\u00f8yre", "Insert column after": "Sett inn kolonne etter", "Cols": "Kolonner", "Insert row after": "Sett in rad etter", "Width": "Bredde", "Cell properties": "Celle egenskaper", "Left": "Venstre", "Cut row": "Klipp ut rad", "Delete column": "Slett kolonne", "Center": "Midtstilt", "Merge cells": "Sl\u00e5 sammen celler", "Insert template": "Sett inn mal", "Templates": "Maler", "Background color": "Bakgrunnsfarge", "Custom...": "Tilpass...", "Custom color": "Tilpasset farge", "No color": "Ingen farge", "Text color": "Tekstfarge", "Table of Contents": "Innholdsfortegnelse", "Show blocks": "Vis blokker", "Show invisible characters": "Vis skjulte tegn", "Words: {0}": "Antall ord: {0}", "Insert": "Sett inn", "File": "Arkiv", "Edit": "Rediger", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Tekstredigering. Tast ALT-F9 for meny. Tast ALT-F10 for verkt\u00f8ys-rader. Tast ALT-0 for hjelp.", "Tools": "Verkt\u00f8y", "View": "Vis", "Table": "Tabell", "Format": "Format" });langs/it.js000060400000020415152455403670006633 0ustar00tinymce.addI18n('it',{ "Cut": "Taglia", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Il tuo browser non supporta l'accesso diretto negli Appunti. Per favore usa i tasti di scelta rapida Ctrl+X\/C\/V.", "Paste": "Incolla", "Paste as text": "Incolla come testo", "Close": "Chiudi", "Align right": "Allinea a Destra", "New document": "Nuovo Documento", "Numbered list": "Elenchi Numerati", "Increase indent": "Aumenta rientro", "Formats": "Formattazioni", "Select all": "Seleziona tutto", "Undo": "Annulla", "Strikethrough": "Barrato", "Bullet list": "Elenchi Puntati", "Superscript": "Apice", "Clear formatting": "Cancella formattazione", "Subscript": "Pedice", "Redo": "Ripristina", "Ok": "Ok", "Bold": "Grassetto", "Italic": "Corsivo", "Align center": "Allinea al Centro", "Decrease indent": "Riduci rientro", "Underline": "Sottolineato", "Cancel": "Cancella", "Justify": "Giustifica", "Copy": "Copia", "Align left": "Allinea a Sinistra", "Visual aids": "Elementi Visivi", "Lower Greek": "Minuscolo lettere greche", "Square": "Quadrato", "Default": "Predefinito", "Lower Alpha": "Minuscolo alfanumerico", "Circle": "Cerchio", "Disc": "Disco", "Upper Alpha": "Maiuscolo alfanumerico", "Upper Roman": "Maiuscolo lettere romane", "Lower Roman": "Minuscolo lettere romane", "Name": "Nome", "Anchor": "Ancora", "Anchors": "Ancora", "You have unsaved changes are you sure you want to navigate away?": "Non hai salvato delle modifiche, sei sicuro di andartene?", "Restore last draft": "Ripristina l'ultima bozza.", "Special character": "Inserisci Carattere Speciale", "Source code": "Codice Sorgente", "Right to left": "Da Destra a Sinistra", "Left to right": "Da Sinistra a Destra", "Emoticons": "Faccine", "Robots": "Robot", "Document properties": "Propriet\u00e0 Documento", "Title": "Titolo", "Keywords": "Parola Chiave", "Encoding": "Codifica", "Description": "Descrizione", "Author": "Autore", "Fullscreen": "Schermo Intero", "Horizontal line": "Linea Orizzontale", "Horizontal space": "Spazio Orizzontale", "Insert\/edit image": "Aggiungi\/Modifica Immagine", "General": "Generale", "Advanced": "Avanzato", "Source": "URL", "Border": "Bordo", "Constrain proportions": "Mantieni Proporzioni", "Vertical space": "Spazio Verticale", "Image description": "Descrizione Immagine", "Style": "Stile", "Dimensions": "Dimensioni", "Insert image": "Inserisci immagine", "Insert date\/time": "Inserisci Data\/Ora", "Remove link": "Rimuovi Link", "Url": "Url", "Text to display": "Testo da Visualizzare", "Insert link": "Inserisci Link", "New window": "Nuova Finestra", "None": "No", "Target": "Target", "Insert\/edit link": "Inserisci\/Modifica link", "Insert\/edit video": "Inserisci\/Modifica video", "Poster": "Anteprima", "Alternative source": "Alternativo", "Paste your embed code below:": "Incolla qui il codice da incorporare:", "Insert video": "Inserisci Video", "Embed": "Incorporare", "Nonbreaking space": "Spazio unificatore", "Preview": "Anteprima", "Print": "Stampa", "Save": "Salva", "Could not find the specified string.": "Impossibile trovare la parola specifica.", "Replace": "Sostituisci", "Next": "Successivo", "Whole words": "Parole intere", "Find and replace": "Trova e Sostituisci", "Replace with": "Sostituisci con", "Find": "Trova", "Replace all": "Sostituisci tutto", "Match case": "Maiuscole\/Minuscole ", "Prev": "Precedente", "Spellcheck": "Controllo ortografico", "Finish": "Termina", "Ignore all": "Ignora tutto", "Ignore": "Ignora", "Insert row before": "Inserisci una Riga prima", "Rows": "Righe", "Height": "Altezza", "Paste row after": "Incolla una Riga dopo", "Alignment": "Allineamento", "Column group": "Gruppo di Colonne", "Row": "Riga", "Insert column before": "Inserisci una Colonna prima", "Split cell": "Dividi Cella", "Cell padding": "Padding della Cella", "Cell spacing": "Spaziatura della Cella", "Row type": "Tipo di Riga", "Insert table": "Inserisci Tabella", "Body": "Body", "Caption": "Didascalia", "Footer": "Footer", "Delete row": "Cancella Riga", "Paste row before": "Incolla una Riga prima", "Scope": "Campo", "Delete table": "Cancella Tabella", "Header cell": "cella d'intestazione", "Column": "Colonna", "Cell": "Cella", "Header": "Header", "Cell type": "Tipo di Cella", "Copy row": "Copia Riga", "Row properties": "Propriet\u00e0 della Riga", "Table properties": "Propriet\u00e0 della Tabella", "Row group": "Gruppo di Righe", "Right": "Destra", "Insert column after": "Inserisci una Colonna dopo", "Cols": "Colonne", "Insert row after": "Inserisci una Riga dopo", "Width": "Larghezza", "Cell properties": "Propriet\u00e0 della Cella", "Left": "Sinistra", "Cut row": "Taglia Riga", "Delete column": "Cancella Colonna", "Center": "Centro", "Merge cells": "Unisci Cella", "Insert template": "Inserisci Template", "Templates": "Template", "Background color": "Colore Sfondo", "Text color": "Colore Testo", "Show blocks": "Mostra Blocchi", "Show invisible characters": "Mostra Caratteri Invisibili", "Words: {0}": "Parole: {0}", "Insert": "Inserisci", "File": "File", "Edit": "Modifica", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich Text Area. Premi ALT-F9 per il men\u00f9. Premi ALT-F10 per la barra degli strumenti. Premi ALT-0 per l'aiuto.", "Tools": "Strumenti", "View": "Visualizza", "Table": "Tabella", "Format": "Formato", "Inline": "Formato", "Blocks": "Blocchi", "Zoom in": "Zoom", "Contrast": "Contrasto", "Back": "Indietro", "Gamma": "Gamma", "Flip horizontally": "Capovolgi orizzontalmente", "Resize": "Ridimensiona", "Sharpen": "Affila", "Zoom out": "Zoom indietro", "Image options": "Opzioni immagine", "Apply": "Applica", "Brightness": "Luminosit\u00e0", "Rotate clockwise": "Ruota in senso orario", "Rotate counterclockwise": "Ruota in senso antiorario", "Edit image": "Modifica Immagine", "Color levels": "Livelli colore", "Crop": "Rifila", "Orientation": "Orientamento", "Flip vertically": "Capovolgi verticalmente", "Invert": "Inverti", "Font Family": "Famiglia Carattere", "Font Sizes": "Grandezza Carattere", "Paragraph": "Paragrafo", "Address": "Indirizzo", "Blockquote": "Citazione", "Pre": "Preformattato", "Code": "Codice", "H Align": "Allineamento orizzontale", "V Align": "Allineamento verticale", "Top": "Sopra", "Middle": "Al centro", "Bottom": "Sotto", "Headers": "Intestazioni", "Header 1": "Intestazione 1", "Header 2": "Intestazione 2", "Header 3": "Intestazione 3", "Header 4": "Intestazione 4", "Header 5": "Intestazione 5", "Header 6": "Intestazione 6", "Headings": "Intestazioni", "Heading 1": "Intestazione 1", "Heading 2": "Intestazione 2", "Heading 3": "Intestazione 3", "Heading 4": "Intestazione 4", "Heading 5": "Intestazione 5", "Heading 6": "Intestazione 6", "Preformatted": "Preformattato", "Add to Dictionary": "Aggiungi al dizionario", "Insert Time": "Inserisci ora", "Insert nonbreaking space": "Inserisci uno spazio", "Insert\/Edit code sample": "Inserisci\/modifica codice da mostrare", "Language": "Linguaggio", "Toggle blockquote": "Testo quotato", "Border color": "Colore bordo", "Color": "Colore", "Custom...": "Personalizza...", "Custom color": "Personalizza colore", "No color": "Nessun colore", "Id": "Id", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "L'Id dovrebbe iniziare con una lettera, seguita solo da lettere, numeri, trattini, due punti, virgole o underscore.", "Insert/Edit code sample": "Inserisci/Modifica codice di esempio", "Language": "Lingua", "Image": "Immagine", "Date/time": "Data/ora", "Link": "Link", "Paste or type a link": "Incolla o scrivi un link", "Insert/Edit Media": "Inserisci/Modifica oggetto multimediale", "Media": "Media", "Table of Contents": "Tabella di contenuti", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "L'incolla è ora in modalità di testo normale. I contenuti verranno incollati come testo normale fino a quando non disattiverai questa opzione.", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "L'URL inserito sembra essere un collegamento esterno. Vuoi aggiungere il prefisso necessario http:\/\/?", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "L'URL inserito sembra essere un indirizzo email. Vuoi aggiungere il prefisso necessario mailto:?" });langs/ru.js000060400000056471152455403670006660 0ustar00tinymce.addI18n('ru',{ "Cut": "\u0412\u044b\u0440\u0435\u0437\u0430\u0442\u044c", "Heading 5": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 5", "Header 2": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u0442 \u043f\u0440\u044f\u043c\u043e\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u043a \u0431\u0443\u0444\u0435\u0440\u0443 \u043e\u0431\u043c\u0435\u043d\u0430. \u041f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0435 \u0441\u043e\u0447\u0435\u0442\u0430\u043d\u0438\u044f \u043a\u043b\u0430\u0432\u0438\u0448: Ctrl+X\/C\/V.", "Heading 4": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 4", "Div": "\u0411\u043b\u043e\u043a", "Heading 2": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 2", "Paste": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c", "Close": "\u0417\u0430\u043a\u0440\u044b\u0442\u044c", "Font Family": "\u0428\u0440\u0438\u0444\u0442", "Pre": "\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0435 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u0435", "Align right": "\u041f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "New document": "\u041d\u043e\u0432\u044b\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442", "Blockquote": "\u0426\u0438\u0442\u0430\u0442\u0430", "Numbered list": "\u041d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", "Heading 1": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 1", "Headings": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438", "Increase indent": "\u0423\u0432\u0435\u043b\u0438\u0447\u0438\u0442\u044c \u043e\u0442\u0441\u0442\u0443\u043f", "Formats": "\u0424\u043e\u0440\u043c\u0430\u0442", "Headers": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043a\u0438", "Select all": "\u0412\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0432\u0441\u0435", "Header 3": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 3", "Blocks": "\u0411\u043b\u043e\u043a\u0438", "Undo": "\u0412\u0435\u0440\u043d\u0443\u0442\u044c", "Strikethrough": "\u0417\u0430\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044b\u0439", "Bullet list": "\u041c\u0430\u0440\u043a\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", "Header 1": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 1", "Superscript": "\u0412\u0435\u0440\u0445\u043d\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441", "Clear formatting": "\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u044c \u0444\u043e\u0440\u043c\u0430\u0442", "Font Sizes": "\u0420\u0430\u0437\u043c\u0435\u0440 \u0448\u0440\u0438\u0444\u0442\u0430", "Subscript": "\u041d\u0438\u0436\u043d\u0438\u0439 \u0438\u043d\u0434\u0435\u043a\u0441", "Header 6": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 6", "Redo": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c", "Paragraph": "\u041f\u0430\u0440\u0430\u0433\u0440\u0430\u0444", "Ok": "\u041e\u043a", "Bold": "\u041f\u043e\u043b\u0443\u0436\u0438\u0440\u043d\u044b\u0439", "Code": "\u041a\u043e\u0434", "Italic": "\u041a\u0443\u0440\u0441\u0438\u0432", "Align center": "\u041f\u043e \u0446\u0435\u043d\u0442\u0440\u0443", "Header 5": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 5", "Heading 6": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 6", "Heading 3": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 3", "Decrease indent": "\u0423\u043c\u0435\u043d\u044c\u0448\u0438\u0442\u044c \u043e\u0442\u0441\u0442\u0443\u043f", "Header 4": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u043e\u0441\u0443\u0449\u0435\u0441\u0442\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432 \u0432\u0438\u0434\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0430, \u043f\u043e\u043a\u0430 \u043d\u0435 \u043e\u0442\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0430\u043d\u043d\u0443\u044e \u043e\u043f\u0446\u0438\u044e.", "Underline": "\u041f\u043e\u0434\u0447\u0435\u0440\u043a\u043d\u0443\u0442\u044b\u0439", "Cancel": "\u041e\u0442\u043c\u0435\u043d\u0438\u0442\u044c", "Justify": "\u041f\u043e \u0448\u0438\u0440\u0438\u043d\u0435", "Inline": "\u0421\u0442\u0440\u043e\u0447\u043d\u044b\u0435", "Copy": "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c", "Align left": "\u041f\u043e \u043b\u0435\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "Visual aids": "\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043a\u043e\u043d\u0442\u0443\u0440\u044b", "Lower Greek": "\u0421\u0442\u0440\u043e\u0447\u043d\u044b\u0435 \u0433\u0440\u0435\u0447\u0435\u0441\u043a\u0438\u0435 \u0431\u0443\u043a\u0432\u044b", "Square": "\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u044b", "Default": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b\u0439", "Lower Alpha": "\u0421\u0442\u0440\u043e\u0447\u043d\u044b\u0435 \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u0435 \u0431\u0443\u043a\u0432\u044b", "Circle": "\u041e\u043a\u0440\u0443\u0436\u043d\u043e\u0441\u0442\u0438", "Disc": "\u041a\u0440\u0443\u0433\u0438", "Upper Alpha": "\u0417\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u043b\u0430\u0442\u0438\u043d\u0441\u043a\u0438\u0435 \u0431\u0443\u043a\u0432\u044b", "Upper Roman": "\u0417\u0430\u0433\u043b\u0430\u0432\u043d\u044b\u0435 \u0440\u0438\u043c\u0441\u043a\u0438\u0435 \u0446\u0438\u0444\u0440\u044b", "Lower Roman": "\u0421\u0442\u0440\u043e\u0447\u043d\u044b\u0435 \u0440\u0438\u043c\u0441\u043a\u0438\u0435 \u0446\u0438\u0444\u0440\u044b", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id \u0434\u043e\u043b\u0436\u0435\u043d \u043d\u0430\u0447\u0438\u043d\u0430\u0442\u044c\u0441\u044f \u0441 \u0431\u0443\u043a\u0432\u044b, \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0441 \u0431\u0443\u043a\u0432\u044b, \u0446\u0438\u0444\u0440\u044b, \u0442\u0438\u0440\u0435, \u0442\u043e\u0447\u043a\u0438, \u0434\u0432\u043e\u0435\u0442\u043e\u0447\u0438\u044f \u0438\u043b\u0438 \u043f\u043e\u0434\u0447\u0435\u0440\u043a\u0438\u0432\u0430\u043d\u0438\u044f.", "Name": "\u0418\u043c\u044f", "Anchor": "\u042f\u043a\u043e\u0440\u044c", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "\u0423 \u0432\u0430\u0441 \u0435\u0441\u0442\u044c \u043d\u0435 \u0441\u043e\u0445\u0440\u0430\u043d\u0435\u043d\u043d\u044b\u0435 \u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u044f. \u0412\u044b \u0443\u0432\u0435\u0440\u0435\u043d\u044b, \u0447\u0442\u043e \u0445\u043e\u0442\u0438\u0442\u0435 \u0443\u0439\u0442\u0438?", "Restore last draft": "\u0412\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0435\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0430", "Special character": "\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b", "Source code": "\u0418\u0441\u0445\u043e\u0434\u043d\u044b\u0439 \u043a\u043e\u0434", "Language": "\u042f\u0437\u044b\u043a", "Insert\/Edit code sample": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c\/\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u0434\u0430", "B": "B", "R": "R", "G": "G", "Color": "\u0426\u0432\u0435\u0442", "Right to left": "\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043f\u0440\u0430\u0432\u0430 \u043d\u0430\u043b\u0435\u0432\u043e", "Left to right": "\u041d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0441\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e", "Emoticons": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u043c\u0430\u0439\u043b", "Robots": "\u0420\u043e\u0431\u043e\u0442\u044b", "Document properties": "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430", "Title": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Keywords": "\u041a\u043b\u044e\u0447\u0438\u0432\u044b\u0435 \u0441\u043b\u043e\u0432\u0430", "Encoding": "\u041a\u043e\u0434\u0438\u0440\u043e\u0432\u043a\u0430", "Description": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435", "Author": "\u0410\u0432\u0442\u043e\u0440", "Fullscreen": "\u041f\u043e\u043b\u043d\u043e\u044d\u043a\u0440\u0430\u043d\u043d\u044b\u0439 \u0440\u0435\u0436\u0438\u043c", "Horizontal line": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043b\u0438\u043d\u0438\u044f", "Horizontal space": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b", "Insert\/edit image": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c\/\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "General": "\u041e\u0431\u0449\u0435\u0435", "Advanced": "\u0420\u0430\u0441\u0448\u0438\u0440\u0435\u043d\u043d\u044b\u0435", "Source": "\u0418\u0441\u0442\u043e\u0447\u043d\u0438\u043a", "Border": "\u0420\u0430\u043c\u043a\u0430", "Constrain proportions": "\u0421\u043e\u0445\u0440\u0430\u043d\u044f\u0442\u044c \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u0438", "Vertical space": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u044b\u0439 \u0438\u043d\u0442\u0435\u0440\u0432\u0430\u043b", "Image description": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f", "Style": "\u0421\u0442\u0438\u043b\u044c", "Dimensions": "\u0420\u0430\u0437\u043c\u0435\u0440", "Insert image": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "Image": "\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f", "Zoom in": "\u041f\u0440\u0438\u0431\u043b\u0438\u0437\u0438\u0442\u044c", "Contrast": "\u041a\u043e\u043d\u0442\u0440\u0430\u0441\u0442", "Back": "\u041d\u0430\u0437\u0430\u0434", "Gamma": "\u0413\u0430\u043c\u043c\u0430", "Flip horizontally": "\u041e\u0442\u0440\u0430\u0437\u0438\u0442\u044c \u043f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0438", "Resize": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c \u0440\u0430\u0437\u043c\u0435\u0440", "Sharpen": "\u0427\u0435\u0442\u043a\u043e\u0441\u0442\u044c", "Zoom out": "\u041e\u0442\u0434\u0430\u043b\u0438\u0442\u044c", "Image options": "\u041d\u0430\u0441\u0442\u0440\u043e\u0439\u043a\u0438 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u044f", "Apply": "\u041f\u0440\u0438\u043c\u0435\u043d\u0438\u0442\u044c", "Brightness": "\u042f\u0440\u043a\u043e\u0441\u0442\u044c", "Rotate clockwise": "\u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u043e \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0435\u043b\u043a\u0435", "Rotate counterclockwise": "\u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u043f\u0440\u043e\u0442\u0438\u0432 \u0447\u0430\u0441\u043e\u0432\u043e\u0439 \u0441\u0442\u0440\u0435\u043b\u043a\u0438", "Edit image": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "Color levels": "\u0426\u0432\u0435\u0442\u043e\u0432\u044b\u0435 \u0443\u0440\u043e\u0432\u043d\u0438", "Crop": "\u041e\u0431\u0440\u0435\u0437\u0430\u0442\u044c", "Orientation": "\u041e\u0440\u0438\u0435\u043d\u0442\u0430\u0446\u0438\u044f", "Flip vertically": "\u041e\u0442\u0440\u0430\u0437\u0438\u0442\u044c \u043f\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0438", "Invert": "\u0418\u043d\u0432\u0435\u0440\u0441\u0438\u044f", "Date\/time": "\u0414\u0430\u0442\u0430\/\u0432\u0440\u0435\u043c\u044f", "Insert date\/time": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0430\u0442\u0443\/\u0432\u0440\u0435\u043c\u044f", "Remove link": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443", "Url": "\u0410\u0434\u0440\u0435\u0441 \u0441\u0441\u044b\u043b\u043a\u0438", "Text to display": "\u041e\u0442\u043e\u0431\u0440\u0430\u0436\u0430\u0435\u043c\u044b\u0439 \u0442\u0435\u043a\u0441\u0442", "Anchors": "\u042f\u043a\u043e\u0440\u044f", "Insert link": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443", "Link": "\u0421\u0441\u044b\u043b\u043a\u0430", "New window": "\u0412 \u043d\u043e\u0432\u043e\u043c \u043e\u043a\u043d\u0435", "None": "\u041d\u0435\u0442", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u0412\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 URL \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0441\u0441\u044b\u043b\u043a\u043e\u0439. \u0412\u044b \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u00abhttp:\/\/\u00bb?", "Paste or type a link": "\u0412\u0432\u0435\u0434\u0438\u0442\u0435 \u0438\u043b\u0438 \u0432\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0441\u0441\u044b\u043b\u043a\u0443", "Target": "\u041e\u0442\u043a\u0440\u044b\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0412\u0432\u0435\u0434\u0451\u043d\u043d\u044b\u0439 URL \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u043c \u0430\u0434\u0440\u0435\u0441\u043e\u043c \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0439 \u043f\u043e\u0447\u0442\u044b. \u0412\u044b \u0436\u0435\u043b\u0430\u0435\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u043f\u0440\u0435\u0444\u0438\u043a\u0441 \u00abmailto:\u00bb?", "Insert\/edit link": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c\/\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0441\u044b\u043b\u043a\u0443", "Insert\/edit video": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c\/\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e", "Media": "\u0412\u0438\u0434\u0435\u043e", "Alternative source": "\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u0438\u0441\u0442\u043e\u0447\u043d\u0438\u043a", "Paste your embed code below:": "\u0412\u0441\u0442\u0430\u0432\u044c\u0442\u0435 \u0432\u0430\u0448 \u043a\u043e\u0434 \u043d\u0438\u0436\u0435:", "Insert video": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0432\u0438\u0434\u0435\u043e", "Poster": "\u0418\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "Insert\/edit media": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c\/\u0440\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0438\u0434\u0435\u043e", "Embed": "\u041a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438", "Nonbreaking space": "\u041d\u0435\u0440\u0430\u0437\u0440\u044b\u0432\u043d\u044b\u0439 \u043f\u0440\u043e\u0431\u0435\u043b", "Page break": "\u0420\u0430\u0437\u0440\u044b\u0432 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u044b", "Paste as text": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043a\u0430\u043a \u0442\u0435\u043a\u0441\u0442", "Preview": "\u041f\u0440\u0435\u0434\u043f\u0440\u043e\u0441\u043c\u043e\u0442\u0440", "Print": "\u041f\u0435\u0447\u0430\u0442\u044c", "Save": "\u0421\u043e\u0445\u0440\u0430\u043d\u0438\u0442\u044c", "Could not find the specified string.": "\u0417\u0430\u0434\u0430\u043d\u043d\u0430\u044f \u0441\u0442\u0440\u043e\u043a\u0430 \u043d\u0435 \u043d\u0430\u0439\u0434\u0435\u043d\u0430", "Replace": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c", "Next": "\u0412\u043d\u0438\u0437", "Whole words": "\u0421\u043b\u043e\u0432\u043e \u0446\u0435\u043b\u0438\u043a\u043e\u043c", "Find and replace": "\u041f\u043e\u0438\u0441\u043a \u0438 \u0437\u0430\u043c\u0435\u043d\u0430", "Replace with": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u043d\u0430", "Find": "\u041d\u0430\u0439\u0442\u0438", "Replace all": "\u0417\u0430\u043c\u0435\u043d\u0438\u0442\u044c \u0432\u0441\u0435", "Match case": "\u0423\u0447\u0438\u0442\u044b\u0432\u0430\u0442\u044c \u0440\u0435\u0433\u0438\u0441\u0442\u0440", "Prev": "\u0412\u0432\u0435\u0440\u0445", "Spellcheck": "\u041f\u0440\u043e\u0432\u0435\u0440\u0438\u0442\u044c \u043f\u0440\u0430\u0432\u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435", "Finish": "\u0417\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c", "Ignore all": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0432\u0441\u0435", "Ignore": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c", "Add to Dictionary": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0432 \u0441\u043b\u043e\u0432\u0430\u0440\u044c", "Insert row before": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u0432\u0435\u0440\u0445\u0443", "Rows": "\u0421\u0442\u0440\u043e\u043a\u0438", "Height": "\u0412\u044b\u0441\u043e\u0442\u0430", "Paste row after": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043d\u0438\u0437\u0443", "Alignment": "\u0412\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435", "Border color": "\u0426\u0432\u0435\u0442 \u0440\u0430\u043c\u043a\u0438", "Column group": "\u0413\u0440\u0443\u043f\u043f\u0430 \u043a\u043e\u043b\u043e\u043d\u043e\u043a", "Row": "\u0421\u0442\u0440\u043e\u043a\u0430", "Insert column before": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441\u043b\u0435\u0432\u0430", "Split cell": "\u0420\u0430\u0437\u0431\u0438\u0442\u044c \u044f\u0447\u0435\u0439\u043a\u0443", "Cell padding": "\u0412\u043d\u0443\u0442\u0440\u0435\u043d\u043d\u0438\u0439 \u043e\u0442\u0441\u0442\u0443\u043f", "Cell spacing": "\u0412\u043d\u0435\u0448\u043d\u0438\u0439 \u043e\u0442\u0441\u0442\u0443\u043f", "Row type": "\u0422\u0438\u043f \u0441\u0442\u0440\u043e\u043a\u0438", "Insert table": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443", "Body": "\u0422\u0435\u043b\u043e", "Caption": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Footer": "\u041d\u0438\u0437", "Delete row": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443", "Paste row before": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u0432\u0435\u0440\u0445\u0443", "Scope": "Scope", "Delete table": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0442\u0430\u0431\u043b\u0438\u0446\u0443", "H Align": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435", "Top": "\u041f\u043e \u0432\u0435\u0440\u0445\u0443", "Header cell": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Column": "\u0421\u0442\u043e\u043b\u0431\u0435\u0446", "Row group": "\u0413\u0440\u0443\u043f\u043f\u0430 \u0441\u0442\u0440\u043e\u043a", "Cell": "\u042f\u0447\u0435\u0439\u043a\u0430", "Middle": "\u041f\u043e \u0441\u0435\u0440\u0435\u0434\u0438\u043d\u0435", "Cell type": "\u0422\u0438\u043f \u044f\u0447\u0435\u0439\u043a\u0438", "Copy row": "\u041a\u043e\u043f\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443", "Row properties": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0441\u0442\u0440\u043e\u043a\u0438", "Table properties": "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u044b", "Bottom": "\u041f\u043e \u043d\u0438\u0437\u0443", "V Align": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0435 \u0432\u044b\u0440\u0430\u0432\u043d\u0438\u0432\u0430\u043d\u0438\u0435", "Header": "\u0428\u0430\u043f\u043a\u0430", "Right": "\u041f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "Insert column after": "\u0414\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446 \u0441\u043f\u0440\u0430\u0432\u0430", "Cols": "\u0421\u0442\u043e\u043b\u0431\u0446\u044b", "Insert row after": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u043f\u0443\u0441\u0442\u0443\u044e \u0441\u0442\u0440\u043e\u043a\u0443 \u0441\u043d\u0438\u0437\u0443", "Width": "\u0428\u0438\u0440\u0438\u043d\u0430", "Cell properties": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0447\u0435\u0439\u043a\u0438", "Left": "\u041f\u043e \u043b\u0435\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "Cut row": "\u0412\u044b\u0440\u0435\u0437\u0430\u0442\u044c \u0441\u0442\u0440\u043e\u043a\u0443", "Delete column": "\u0423\u0434\u0430\u043b\u0438\u0442\u044c \u0441\u0442\u043e\u043b\u0431\u0435\u0446", "Center": "\u041f\u043e \u0446\u0435\u043d\u0442\u0440\u0443", "Merge cells": "\u041e\u0431\u044a\u0435\u0434\u0438\u043d\u0438\u0442\u044c \u044f\u0447\u0435\u0439\u043a\u0438", "Insert template": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0448\u0430\u0431\u043b\u043e\u043d", "Templates": "\u0428\u0430\u0431\u043b\u043e\u043d\u044b", "Background color": "\u0426\u0432\u0435\u0442 \u0444\u043e\u043d\u0430", "Custom...": "\u0412\u044b\u0431\u0440\u0430\u0442\u044c\u2026", "Custom color": "\u041f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u0441\u043a\u0438\u0439 \u0446\u0432\u0435\u0442", "No color": "\u0411\u0435\u0437 \u0446\u0432\u0435\u0442\u0430", "Text color": "\u0426\u0432\u0435\u0442 \u0442\u0435\u043a\u0441\u0442\u0430", "Table of Contents": "\u0421\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435", "Show blocks": "\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u0431\u043b\u043e\u043a\u0438", "Show invisible characters": "\u041f\u043e\u043a\u0430\u0437\u044b\u0432\u0430\u0442\u044c \u043d\u0435\u0432\u0438\u0434\u0438\u043c\u044b\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u044b", "Words: {0}": "\u041a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u043e \u0441\u043b\u043e\u0432: {0}", "Insert": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u044c", "File": "\u0424\u0430\u0439\u043b", "Edit": "\u0418\u0437\u043c\u0435\u043d\u0438\u0442\u044c", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u043e\u0435 \u043f\u043e\u043b\u0435. \u041d\u0430\u0436\u043c\u0438\u0442\u0435 ALT-F9 \u0447\u0442\u043e\u0431\u044b \u0432\u044b\u0437\u0432\u0430\u0442\u044c \u043c\u0435\u043d\u044e, ALT-F10 \u043f\u0430\u043d\u0435\u043b\u044c \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432, ALT-0 \u0434\u043b\u044f \u0432\u044b\u0437\u043e\u0432\u0430 \u043f\u043e\u043c\u043e\u0449\u0438.", "Tools": "\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u044b", "View": "\u0412\u0438\u0434", "Table": "\u0422\u0430\u0431\u043b\u0438\u0446\u0430", "Format": "\u0424\u043e\u0440\u043c\u0430\u0442" }); langs/he.js000060400000031520152455403670006612 0ustar00tinymce.addI18n('he',{ "Cut": "\u05d2\u05d6\u05d5\u05e8", "Header 2": "\u05db\u05d5\u05ea\u05e8\u05ea 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u05d4\u05d3\u05e4\u05d3\u05e4\u05df \u05e9\u05dc\u05da \u05d0\u05d9\u05e0\u05d5 \u05de\u05d0\u05e4\u05e9\u05e8 \u05d2\u05d9\u05e9\u05d4 \u05d9\u05e9\u05d9\u05e8\u05d4 \u05dc\u05dc\u05d5\u05d7. \u05d0\u05e0\u05d0 \u05d4\u05e9\u05ea\u05de\u05e9 \u05d1\u05e7\u05d9\u05e6\u05d5\u05e8\u05d9 \u05d4\u05de\u05e7\u05dc\u05d3\u05ea Ctrl+X\/C\/V \u05d1\u05de\u05e7\u05d5\u05dd.", "Div": "\u05de\u05e7\u05d8\u05e2 \u05e7\u05d5\u05d3 Div", "Paste": "\u05d4\u05d3\u05d1\u05e7", "Close": "\u05e1\u05d2\u05d5\u05e8", "Font Family": "\u05e1\u05d5\u05d2 \u05d2\u05d5\u05e4\u05df", "Pre": "\u05e7\u05d8\u05e2 \u05de\u05e7\u05d3\u05d9\u05dd Pre", "Align right": "\u05d9\u05d9\u05e9\u05e8 \u05dc\u05e9\u05de\u05d0\u05dc", "New document": "\u05de\u05e1\u05de\u05da \u05d7\u05d3\u05e9", "Blockquote": "\u05de\u05e7\u05d8\u05e2 \u05e6\u05d9\u05d8\u05d5\u05d8", "Numbered list": "\u05e8\u05e9\u05d9\u05de\u05d4 \u05de\u05de\u05d5\u05e1\u05e4\u05e8\u05ea", "Increase indent": "\u05d4\u05d2\u05d3\u05dc \u05d4\u05d6\u05d7\u05d4", "Formats": "\u05e4\u05d5\u05e8\u05de\u05d8\u05d9\u05dd", "Headers": "\u05db\u05d5\u05ea\u05e8\u05d5\u05ea", "Select all": "\u05d1\u05d7\u05e8 \u05d4\u05db\u05dc", "Header 3": "\u05db\u05d5\u05ea\u05e8\u05ea 3", "Blocks": "\u05de\u05d1\u05e0\u05d9\u05dd", "Undo": "\u05d1\u05d8\u05dc \u05e4\u05e2\u05d5\u05dc\u05d4", "Strikethrough": "\u05e7\u05d5 \u05d7\u05d5\u05e6\u05d4", "Bullet list": "\u05e8\u05e9\u05d9\u05de\u05ea \u05ea\u05d1\u05dc\u05d9\u05d8\u05d9\u05dd", "Header 1": "\u05db\u05d5\u05ea\u05e8\u05ea 1", "Superscript": "\u05db\u05ea\u05d1 \u05e2\u05d9\u05dc\u05d9", "Clear formatting": "\u05e0\u05e7\u05d4 \u05e4\u05d5\u05e8\u05de\u05d8\u05d9\u05dd", "Font Sizes": "\u05d2\u05d5\u05d3\u05dc \u05d2\u05d5\u05e4\u05df", "Subscript": "\u05db\u05ea\u05d1 \u05ea\u05d7\u05ea\u05d9", "Header 6": "\u05db\u05d5\u05ea\u05e8\u05ea 6", "Redo": "\u05d1\u05e6\u05e2 \u05e9\u05d5\u05d1", "Paragraph": "\u05e4\u05d9\u05e1\u05e7\u05d4", "Ok": "\u05d0\u05d9\u05e9\u05d5\u05e8", "Bold": "\u05de\u05d5\u05d3\u05d2\u05e9", "Code": "\u05e7\u05d5\u05d3", "Italic": "\u05e0\u05d8\u05d5\u05d9", "Align center": "\u05de\u05e8\u05db\u05d6", "Header 5": "\u05db\u05d5\u05ea\u05e8\u05ea 5", "Decrease indent": "\u05d4\u05e7\u05d8\u05df \u05d4\u05d6\u05d7\u05d4", "Header 4": "\u05db\u05d5\u05ea\u05e8\u05ea 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u05d4\u05d3\u05d1\u05e7\u05d4 \u05d1\u05de\u05e6\u05d1 \u05d8\u05e7\u05e1\u05d8 \u05e8\u05d2\u05d9\u05dc. \u05ea\u05db\u05e0\u05d9\u05dd \u05d9\u05d5\u05d3\u05d1\u05e7\u05d5 \u05de\u05e2\u05ea\u05d4 \u05db\u05d8\u05e7\u05e1\u05d8 \u05e8\u05d2\u05d9\u05dc \u05e2\u05d3 \u05e9\u05ea\u05db\u05d1\u05d4 \u05d0\u05e4\u05e9\u05e8\u05d5\u05ea \u05d6\u05d5.", "Underline": "\u05e7\u05d5 \u05ea\u05d7\u05ea\u05d9", "Cancel": "\u05d1\u05d8\u05dc", "Justify": "\u05de\u05ea\u05d7 \u05dc\u05e6\u05d3\u05d3\u05d9\u05dd", "Inline": "\u05d1\u05d2\u05d5\u05e3 \u05d4\u05d8\u05e7\u05e1\u05d8", "Copy": "\u05d4\u05e2\u05ea\u05e7", "Align left": "\u05d9\u05d9\u05e9\u05e8 \u05dc\u05e9\u05de\u05d0\u05dc", "Visual aids": "\u05e2\u05d6\u05e8\u05d9\u05dd \u05d7\u05d6\u05d5\u05ea\u05d9\u05d9\u05dd", "Lower Greek": "\u05d0\u05d5\u05ea\u05d9\u05d5\u05ea \u05d9\u05d5\u05d5\u05e0\u05d9\u05d5\u05ea \u05e7\u05d8\u05e0\u05d5\u05ea", "Square": "\u05e8\u05d9\u05d1\u05d5\u05e2", "Default": "\u05d1\u05e8\u05d9\u05e8\u05ea \u05de\u05d7\u05d3\u05dc", "Lower Alpha": "\u05d0\u05d5\u05ea\u05d9\u05d5\u05ea \u05d0\u05e0\u05d2\u05dc\u05d9\u05d5\u05ea \u05e7\u05d8\u05e0\u05d5\u05ea", "Circle": "\u05e2\u05d9\u05d2\u05d5\u05dc", "Disc": "\u05d7\u05d9\u05e9\u05d5\u05e7", "Upper Alpha": "\u05d0\u05d5\u05ea\u05d9\u05d5\u05ea \u05d0\u05e0\u05d2\u05dc\u05d9\u05d5\u05ea \u05d2\u05d3\u05d5\u05dc\u05d5\u05ea", "Upper Roman": "\u05e1\u05e4\u05e8\u05d5\u05ea \u05e8\u05d5\u05de\u05d9\u05d5\u05ea \u05d2\u05d3\u05d5\u05dc\u05d5\u05ea", "Lower Roman": "\u05e1\u05e4\u05e8\u05d5\u05ea \u05e8\u05d5\u05de\u05d9\u05d5\u05ea \u05e7\u05d8\u05e0\u05d5\u05ea", "Name": "\u05e9\u05dd", "Anchor": "\u05de\u05e7\u05d5\u05dd \u05e2\u05d9\u05d2\u05d5\u05df", "You have unsaved changes are you sure you want to navigate away?": "\u05d4\u05e9\u05d9\u05e0\u05d5\u05d9\u05d9\u05dd \u05dc\u05d0 \u05e0\u05e9\u05de\u05e8\u05d5. \u05d1\u05d8\u05d5\u05d7 \u05e9\u05d1\u05e8\u05e6\u05d5\u05e0\u05da \u05dc\u05e6\u05d0\u05ea \u05de\u05d4\u05d3\u05e3?", "Restore last draft": "\u05e9\u05d7\u05d6\u05e8 \u05d8\u05d9\u05d5\u05d8\u05d4 \u05d0\u05d7\u05e8\u05d5\u05e0\u05d4", "Special character": "\u05ea\u05d5\u05d5\u05d9\u05dd \u05de\u05d9\u05d5\u05d7\u05d3\u05d9\u05dd", "Source code": "\u05e7\u05d5\u05d3 \u05de\u05e7\u05d5\u05e8", "Right to left": "\u05de\u05d9\u05de\u05d9\u05df \u05dc\u05e9\u05de\u05d0\u05dc", "Left to right": "\u05de\u05e9\u05de\u05d0\u05dc \u05dc\u05d9\u05de\u05d9\u05df", "Emoticons": "\u05de\u05d7\u05d5\u05d5\u05ea", "Robots": "\u05e8\u05d5\u05d1\u05d5\u05d8\u05d9\u05dd", "Document properties": "\u05de\u05d0\u05e4\u05d9\u05d9\u05e0\u05d9 \u05de\u05e1\u05de\u05da", "Title": "\u05db\u05d5\u05ea\u05e8\u05ea", "Keywords": "\u05de\u05d9\u05dc\u05d5\u05ea \u05de\u05e4\u05ea\u05d7", "Encoding": "\u05e7\u05d9\u05d3\u05d5\u05d3", "Description": "\u05ea\u05d9\u05d0\u05d5\u05e8", "Author": "\u05de\u05d7\u05d1\u05e8", "Fullscreen": "\u05de\u05e1\u05da \u05de\u05dc\u05d0", "Horizontal line": "\u05e7\u05d5 \u05d0\u05d5\u05e4\u05e7\u05d9", "Horizontal space": "\u05de\u05e8\u05d5\u05d5\u05d7 \u05d0\u05d5\u05e4\u05e7\u05d9", "Insert\/edit image": "\u05d4\u05db\u05e0\u05e1\/\u05e2\u05e8\u05d5\u05da \u05ea\u05de\u05d5\u05e0\u05d4", "General": "\u05db\u05dc\u05dc\u05d9", "Advanced": "\u05de\u05ea\u05e7\u05d3\u05dd", "Source": "\u05de\u05e7\u05d5\u05e8", "Border": "\u05de\u05e1\u05d2\u05e8\u05ea", "Constrain proportions": "\u05d4\u05d2\u05d1\u05dc\u05ea \u05e4\u05e8\u05d5\u05e4\u05d5\u05e8\u05e6\u05d9\u05d5\u05ea", "Vertical space": "\u05de\u05e8\u05d5\u05d5\u05d7 \u05d0\u05e0\u05db\u05d9", "Image description": "\u05ea\u05d9\u05d0\u05d5\u05e8 \u05d4\u05ea\u05de\u05d5\u05e0\u05d4", "Style": "\u05e1\u05d2\u05e0\u05d5\u05df", "Dimensions": "\u05de\u05d9\u05de\u05d3\u05d9\u05dd", "Insert image": "\u05d4\u05db\u05e0\u05e1 \u05ea\u05de\u05d5\u05e0\u05d4", "Insert date\/time": "\u05d4\u05db\u05e0\u05e1 \u05ea\u05d0\u05e8\u05d9\u05da\/\u05e9\u05e2\u05d4", "Remove link": "\u05de\u05d7\u05e7 \u05e7\u05d9\u05e9\u05d5\u05e8", "Url": "\u05db\u05ea\u05d5\u05d1\u05ea \u05e7\u05d9\u05e9\u05d5\u05e8", "Text to display": "\u05d8\u05e7\u05e1\u05d8 \u05dc\u05d4\u05e6\u05d2\u05d4", "Anchors": "\u05e2\u05d5\u05d2\u05e0\u05d9\u05dd", "Insert link": "\u05d4\u05db\u05e0\u05e1 \u05e7\u05d9\u05e9\u05d5\u05e8", "New window": "\u05d7\u05dc\u05d5\u05df \u05d7\u05d3\u05e9", "None": "\u05dc\u05dc\u05d0", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u05de\u05d8\u05e8\u05d4", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "\u05d4\u05db\u05e0\u05e1\/\u05e2\u05e8\u05d5\u05da \u05e7\u05d9\u05e9\u05d5\u05e8", "Insert\/edit video": "\u05d4\u05db\u05e0\u05e1\/\u05e2\u05e8\u05d5\u05da \u05e1\u05e8\u05d8\u05d5\u05df", "Poster": "\u05e4\u05d5\u05e1\u05d8\u05e8", "Alternative source": "\u05de\u05e7\u05d5\u05e8 \u05de\u05e9\u05e0\u05d9", "Paste your embed code below:": "\u05d4\u05d3\u05d1\u05e7 \u05e7\u05d5\u05d3 \u05d4\u05d8\u05de\u05e2\u05d4 \u05de\u05ea\u05d7\u05ea:", "Insert video": "\u05d4\u05db\u05e0\u05e1 \u05e1\u05e8\u05d8\u05d5\u05df", "Embed": "\u05d4\u05d8\u05de\u05e2", "Nonbreaking space": "\u05e8\u05d5\u05d5\u05d7 (\u05dc\u05dc\u05d0 \u05e9\u05d1\u05d9\u05e8\u05ea \u05e9\u05d5\u05e8\u05d4)", "Page break": "\u05d3\u05e3 \u05d7\u05d3\u05e9", "Paste as text": "\u05d4\u05d3\u05d1\u05e7 \u05db\u05d8\u05e7\u05e1\u05d8", "Preview": "\u05ea\u05e6\u05d5\u05d2\u05d4 \u05de\u05e7\u05d3\u05d9\u05de\u05d4", "Print": "\u05d4\u05d3\u05e4\u05e1", "Save": "\u05e9\u05de\u05d9\u05e8\u05d4", "Could not find the specified string.": "\u05de\u05d7\u05e8\u05d5\u05d6\u05ea \u05dc\u05d0 \u05e0\u05de\u05e6\u05d0\u05d4", "Replace": "\u05d4\u05d7\u05dc\u05e3", "Next": "\u05d4\u05d1\u05d0", "Whole words": "\u05de\u05d9\u05dc\u05d4 \u05e9\u05dc\u05de\u05d4", "Find and replace": "\u05d7\u05e4\u05e9 \u05d5\u05d4\u05d7\u05dc\u05e3", "Replace with": "\u05d4\u05d7\u05dc\u05e3 \u05d1", "Find": "\u05d7\u05e4\u05e9", "Replace all": "\u05d4\u05d7\u05dc\u05e3 \u05d4\u05db\u05dc", "Match case": "\u05d4\u05d1\u05d7\u05df \u05d1\u05d9\u05df \u05d0\u05d5\u05ea\u05d9\u05d5\u05ea \u05e7\u05d8\u05e0\u05d5\u05ea \u05dc\u05d2\u05d3\u05d5\u05dc\u05d5\u05ea", "Prev": "\u05e7\u05d5\u05d3\u05dd", "Spellcheck": "\u05d1\u05d5\u05d3\u05e7 \u05d0\u05d9\u05d5\u05ea", "Finish": "\u05e1\u05d9\u05d9\u05dd", "Ignore all": "\u05d4\u05ea\u05e2\u05dc\u05dd \u05de\u05d4\u05db\u05dc", "Ignore": "\u05d4\u05ea\u05e2\u05dc\u05dd", "Insert row before": "\u05d4\u05d5\u05e1\u05e3 \u05e9\u05d5\u05e8\u05d4 \u05dc\u05e4\u05e0\u05d9", "Rows": "\u05e9\u05d5\u05e8\u05d5\u05ea", "Height": "\u05d2\u05d5\u05d1\u05d4", "Paste row after": "\u05d4\u05e2\u05ea\u05e7 \u05e9\u05d5\u05e8\u05d4 \u05d0\u05d7\u05e8\u05d9", "Alignment": "\u05d9\u05d9\u05e9\u05d5\u05e8", "Column group": "\u05e7\u05d9\u05d1\u05d5\u05e5 \u05e2\u05de\u05d5\u05d3\u05d5\u05ea", "Row": "\u05e9\u05d5\u05e8\u05d4", "Insert column before": "\u05d4\u05e2\u05ea\u05e7 \u05e2\u05de\u05d5\u05d3\u05d4 \u05dc\u05e4\u05e0\u05d9", "Split cell": "\u05e4\u05e6\u05dc \u05ea\u05d0", "Cell padding": "\u05e9\u05d5\u05dc\u05d9\u05d9\u05dd \u05e4\u05e0\u05d9\u05de\u05d9\u05d9\u05dd \u05dc\u05ea\u05d0", "Cell spacing": "\u05e9\u05d5\u05dc\u05d9\u05d9\u05dd \u05d7\u05d9\u05e6\u05d5\u05e0\u05d9\u05dd \u05dc\u05ea\u05d0", "Row type": "\u05e1\u05d5\u05d2 \u05e9\u05d5\u05e8\u05d4", "Insert table": "\u05d4\u05db\u05e0\u05e1 \u05d8\u05d1\u05dc\u05d4", "Body": "\u05d2\u05d5\u05e3 \u05d4\u05d8\u05d1\u05dc\u05d0", "Caption": "\u05db\u05d9\u05ea\u05d5\u05d1", "Footer": "\u05db\u05d5\u05ea\u05e8\u05ea \u05ea\u05d7\u05ea\u05d5\u05e0\u05d4", "Delete row": "\u05de\u05d7\u05e7 \u05e9\u05d5\u05e8\u05d4", "Paste row before": "\u05d4\u05d3\u05d1\u05e7 \u05e9\u05d5\u05e8\u05d4 \u05dc\u05e4\u05e0\u05d9", "Scope": "\u05d4\u05d9\u05e7\u05e3", "Delete table": "\u05de\u05d7\u05e7 \u05d8\u05d1\u05dc\u05d4", "Header cell": "\u05db\u05d5\u05ea\u05e8\u05ea \u05dc\u05ea\u05d0", "Column": "\u05e2\u05de\u05d5\u05d3\u05d4", "Cell": "\u05ea\u05d0", "Header": "\u05db\u05d5\u05ea\u05e8\u05ea", "Cell type": "\u05e1\u05d5\u05d2 \u05ea\u05d0", "Copy row": "\u05d4\u05e2\u05ea\u05e7 \u05e9\u05d5\u05e8\u05d4", "Row properties": "\u05de\u05d0\u05e4\u05d9\u05d9\u05e0\u05d9 \u05e9\u05d5\u05e8\u05d4", "Table properties": "\u05de\u05d0\u05e4\u05d9\u05d9\u05e0\u05d9 \u05d8\u05d1\u05dc\u05d4", "Row group": "\u05e7\u05d9\u05d1\u05d5\u05e5 \u05e9\u05d5\u05e8\u05d5\u05ea", "Right": "\u05d9\u05de\u05d9\u05df", "Insert column after": "\u05d4\u05e2\u05ea\u05e7 \u05e2\u05de\u05d5\u05d3\u05d4 \u05d0\u05d7\u05e8\u05d9", "Cols": "\u05e2\u05de\u05d5\u05d3\u05d5\u05ea", "Insert row after": "\u05d4\u05d5\u05e1\u05e3 \u05e9\u05d5\u05e8\u05d4 \u05d0\u05d7\u05e8\u05d9", "Width": "\u05e8\u05d5\u05d7\u05d1", "Cell properties": "\u05de\u05d0\u05e4\u05d9\u05d9\u05e0\u05d9 \u05ea\u05d0", "Left": "\u05e9\u05de\u05d0\u05dc", "Cut row": "\u05d2\u05d6\u05d5\u05e8 \u05e9\u05d5\u05e8\u05d4", "Delete column": "\u05de\u05d7\u05e7 \u05e2\u05de\u05d5\u05d3\u05d4", "Center": "\u05de\u05e8\u05db\u05d6", "Merge cells": "\u05de\u05d6\u05d2 \u05ea\u05d0\u05d9\u05dd", "Insert template": "\u05d4\u05db\u05e0\u05e1 \u05ea\u05d1\u05e0\u05d9\u05ea", "Templates": "\u05ea\u05d1\u05e0\u05d9\u05d5\u05ea", "Background color": "\u05e6\u05d1\u05e2 \u05e8\u05e7\u05e2", "Text color": "\u05e6\u05d1\u05e2 \u05d4\u05db\u05ea\u05d1", "Show blocks": "\u05d4\u05e6\u05d2 \u05ea\u05d9\u05d1\u05d5\u05ea", "Show invisible characters": "\u05d4\u05e6\u05d2 \u05ea\u05d5\u05d5\u05d9\u05dd \u05dc\u05d0 \u05e0\u05e8\u05d0\u05d9\u05dd", "Words: {0}": "\u05de\u05d9\u05dc\u05d9\u05dd: {0}", "Insert": "\u05d4\u05d5\u05e1\u05e4\u05d4", "File": "\u05e7\u05d5\u05d1\u05e5", "Edit": "\u05e2\u05e8\u05d9\u05db\u05d4", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u05ea\u05d9\u05d1\u05ea \u05e2\u05e8\u05d9\u05db\u05d4 \u05d7\u05db\u05de\u05d4. \u05dc\u05d7\u05e5 Alt-F9 \u05dc\u05ea\u05e4\u05e8\u05d9\u05d8. Alt-F10 \u05dc\u05ea\u05e6\u05d5\u05d2\u05ea \u05db\u05e4\u05ea\u05d5\u05e8\u05d9\u05dd, Alt-0 \u05dc\u05e2\u05d6\u05e8\u05d4", "Tools": "\u05db\u05dc\u05d9\u05dd", "View": "\u05ea\u05e6\u05d5\u05d2\u05d4", "Table": "\u05d8\u05d1\u05dc\u05d4", "Format": "\u05e4\u05d5\u05e8\u05de\u05d8", "_dir": "rtl" });langs/sr.js000060400000014277152455403670006654 0ustar00tinymce.addI18n('sr',{ "Cut": "Iseci", "Header 2": "Zaglavlje 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Va\u0161 pretra\u017eiva\u010d nepodr\u017eava direktan pristup prenosu.Koristite Ctrl+X\/C\/V pre\u010dice na tastaturi", "Div": "Div", "Paste": "Nalepi", "Close": "Zatvori", "Font Family": "Vrsta fonta", "Pre": "Pre", "Align right": "Poravnano desno", "New document": "Novi dokument", "Blockquote": "Navodnici", "Numbered list": "Numerisana lista", "Increase indent": "Pove\u0107aj uvla\u010denje", "Formats": "Formatiraj", "Headers": "Zaglavlje", "Select all": "Obele\u017ei sve", "Header 3": "Zaglavlje 3", "Blocks": "Blokovi", "Undo": "Nazad", "Strikethrough": "Precrtan", "Bullet list": "Lista nabrajanja", "Header 1": "Zaglavlje 1", "Superscript": "Natpis", "Clear formatting": "Brisanje formatiranja", "Font Sizes": "Veli\u010dine fontova", "Subscript": "Potpisan", "Header 6": "Zaglavlje 6", "Redo": "Napred", "Paragraph": "Paragraf", "Ok": "Ok", "Bold": "Podebljan", "Code": "Kod", "Italic": "isko\u0161en", "Align center": "Poravnano centar", "Header 5": "Zaglavlje 5", "Decrease indent": "Smanji uvla\u010denje", "Header 4": "Zaglavlje 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Nalepiti je sada u obi\u010dnom text modu.Sadr\u017eaj \u0107e biti nalepljen kao obi\u010dan tekst dok ne ugasite ovu opciju.", "Underline": "Podvu\u010den", "Cancel": "Opozovi", "Justify": "Poravnanje", "Inline": "U liniji", "Copy": "Kopiraj", "Align left": "Poravnano levo", "Visual aids": "Vizuelna pomagala", "Lower Greek": "Ni\u017ei gr\u010dki", "Square": "Kvadrat", "Default": "Podrazumevano", "Lower Alpha": "Donja Alpha", "Circle": "Krug", "Disc": "Disk", "Upper Alpha": "Gornji Alpha", "Upper Roman": "Gornji Roman", "Lower Roman": "Donji Roman", "Name": "Ime", "Anchor": "Sidro", "You have unsaved changes are you sure you want to navigate away?": "Imate nesa\u010duvane promene dali ste sigurni da \u017eelite da iza\u0111ete?", "Restore last draft": "Vrati poslednji nacrt", "Special character": "Specijalni karakter", "Source code": "Izvorni kod", "Right to left": "Sa desne na levu", "Left to right": "Sa leve na desnu", "Emoticons": "Smajliji", "Robots": "Roboti", "Document properties": "Postavke dokumenta", "Title": "Naslov", "Keywords": "Klju\u010dne re\u010di", "Encoding": "Kodiranje", "Description": "Opis", "Author": "Autor", "Fullscreen": "Pun ekran", "Horizontal line": "Horizontalna linija", "Horizontal space": "Horizontalni razmak", "Insert\/edit image": "Ubaci\/Promeni sliku", "General": "Op\u0161te", "Advanced": "Napredno", "Source": "Izvor", "Border": "Okvir", "Constrain proportions": "Ograni\u010dene proporcije", "Vertical space": "Vertikalni razmak", "Image description": "Opis slike", "Style": "Stil", "Dimensions": "Dimenzije", "Insert image": "Ubaci sliku", "Insert date\/time": "Ubaci datum\/vreme", "Remove link": "Ukloni link", "Url": "Url", "Text to display": "Tekst za prikaz", "Anchors": "sidro", "Insert link": "Ubaci vezu", "New window": "Novi prozor", "None": "Ni\u0161ta", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "Meta", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Ubaci\/promeni vezu", "Insert\/edit video": "Ubaci\/promeni video", "Poster": "Poster", "Alternative source": "Alternativni izvor", "Paste your embed code below:": "Nalepite ugra\u0111eni kod ispod:", "Insert video": "Ubaci video", "Embed": "Ugra\u0111eno", "Nonbreaking space": "bez ramaka", "Page break": "Lomljenje stranice", "Paste as text": "Nalepi kao tekst", "Preview": "Pregled", "Print": "\u0160tampanje", "Save": "Sa\u010duvati", "Could not find the specified string.": "Nije mogu\u0107e prona\u0107i navedeni niz.", "Replace": "Zameni", "Next": "Slede\u0107i", "Whole words": "Cele re\u010di", "Find and replace": "Na\u0111i i zameni", "Replace with": "Zameni sa", "Find": "Na\u0111i", "Replace all": "Zameni sve", "Match case": "Predmet za upore\u0111ivanje", "Prev": "Prethodni", "Spellcheck": "Provera pravopisa", "Finish": "Kraj", "Ignore all": "Ignori\u0161i sve", "Ignore": "ignori\u0161i", "Insert row before": "Ubaci red pre", "Rows": "Redovi", "Height": "Visina", "Paste row after": "Nalepi red posle", "Alignment": "Svrstavanje", "Column group": "Grupa kolone", "Row": "Red", "Insert column before": "Ubaci kolonu pre", "Split cell": "Razdvoji \u0107elije", "Cell padding": "Razmak \u0107elije", "Cell spacing": "Prostor \u0107elije", "Row type": "Tip reda", "Insert table": "ubaci tabelu", "Body": "Telo", "Caption": "Natpis", "Footer": "Podno\u017eje", "Delete row": "Obri\u0161i red", "Paste row before": "Nalepi red pre", "Scope": "Obim", "Delete table": "Obri\u0161i tabelu", "Header cell": "Visina \u0107elije", "Column": "Kolona", "Cell": "\u0106elija", "Header": "Zaglavlje", "Cell type": "Tip \u0107elije", "Copy row": "Kopiraj red", "Row properties": "Postavke reda", "Table properties": "Postavke tabele", "Row group": "Grupa reda", "Right": "Desno", "Insert column after": "Ubaci kolonu posle", "Cols": "Kolone", "Insert row after": "Ubaci red posle", "Width": "\u0160irina", "Cell properties": "Postavke \u0107elije", "Left": "Levo", "Cut row": "Iseci red", "Delete column": "Obri\u0161i kolonu", "Center": "Centar", "Merge cells": "Spoji \u0107elije", "Insert template": "Ubaci \u0161ablon", "Templates": "\u0160abloni", "Background color": "Boja pozadine", "Text color": "Boja tekst", "Show blocks": "Prikaz blokova", "Show invisible characters": "Prika\u017ei nevidljive karaktere", "Words: {0}": "Re\u010di:{0}", "Insert": "Umetni", "File": "Datoteka", "Edit": "Ure\u0111ivanje", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Oboga\u0107en tekst. Pritisni te ALT-F9 za meni.Pritisnite ALT-F10 za traku sa alatkama.Pritisnite ALT-0 za pomo\u0107", "Tools": "Alatke", "View": "Prikaz", "Table": "Tabela", "Format": "Format" });langs/tr.js000060400000016473152455403670006655 0ustar00tinymce.addI18n('tr',{ "Cut": "Kes", "Header 2": "Ba\u015fl\u0131k 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Taray\u0131c\u0131n\u0131z panoya direk eri\u015fimi desteklemiyor. L\u00fctfen Ctrl+X\/C\/V klavye k\u0131sayollar\u0131n\u0131 kullan\u0131n.", "Div": "Div", "Paste": "Yap\u0131\u015ft\u0131r", "Close": "Kapat", "Font Family": "Yaz\u0131tipi Ailesi", "Pre": "\u00d6n", "Align right": "Sa\u011fa hizala", "New document": "Yeni dok\u00fcman", "Blockquote": "Al\u0131nt\u0131", "Numbered list": "S\u0131ral\u0131 liste", "Increase indent": "Girintiyi art\u0131r", "Formats": "Bi\u00e7imler", "Headers": "Ba\u015fl\u0131klar", "Select all": "T\u00fcm\u00fcn\u00fc se\u00e7", "Header 3": "Ba\u015fl\u0131k 3", "Blocks": "Bloklar", "Undo": "Geri Al", "Strikethrough": "\u00dcst\u00fc \u00e7izili", "Bullet list": "S\u0131ras\u0131z liste", "Header 1": "Ba\u015fl\u0131k 1", "Superscript": "\u00dcst simge", "Clear formatting": "Bi\u00e7imi temizle", "Font Sizes": "Yaz\u0131tipi B\u00fcy\u00fckl\u00fc\u011f\u00fc", "Subscript": "Alt simge", "Header 6": "Ba\u015fl\u0131k 6", "Redo": "Yinele", "Paragraph": "Paragraf", "Ok": "Tamam", "Bold": "Kal\u0131n", "Code": "Kod", "Italic": "\u0130talik", "Align center": "Ortala", "Header 5": "Ba\u015fl\u0131k 5", "Decrease indent": "Girintiyi azalt", "Header 4": "Ba\u015fl\u0131k 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "D\u00fcz metin modunda yap\u0131\u015ft\u0131r. Bu se\u00e7ene\u011fi kapatana kadar i\u00e7erikler d\u00fcz metin olarak yap\u0131\u015ft\u0131r\u0131l\u0131r.", "Underline": "Alt\u0131 \u00e7izili", "Cancel": "\u0130ptal", "Justify": "\u0130ki yana yasla", "Inline": "Sat\u0131r i\u00e7i", "Copy": "Kopyala", "Align left": "Sola hizala", "Visual aids": "G\u00f6rsel ara\u00e7lar", "Lower Greek": "K\u00fc\u00e7\u00fck Yunan alfabesi", "Square": "Kare", "Default": "Varsay\u0131lan", "Lower Alpha": "K\u00fc\u00e7\u00fck ABC", "Circle": "Daire", "Disc": "Disk", "Upper Alpha": "B\u00fcy\u00fck ABC", "Upper Roman": "B\u00fcy\u00fck Roman alfabesi", "Lower Roman": "K\u00fc\u00e7\u00fck Roman alfabesi", "Name": "\u0130sim", "Anchor": "\u00c7apa", "You have unsaved changes are you sure you want to navigate away?": "Kaydedilmemi\u015f de\u011fi\u015fiklikler var, sayfadan ayr\u0131lmak istedi\u011finize emin misiniz?", "Restore last draft": "Son tasla\u011f\u0131 kurtar", "Special character": "\u00d6zel karakter", "Source code": "Kaynak kodu", "Right to left": "Sa\u011fdan sola", "Left to right": "Soldan sa\u011fa", "Emoticons": "G\u00fcl\u00fcc\u00fckler", "Robots": "Robotlar", "Document properties": "Dok\u00fcman \u00f6zellikleri", "Title": "Ba\u015fl\u0131k", "Keywords": "Anahtar kelimeler", "Encoding": "Kodlama", "Description": "A\u00e7\u0131klama", "Author": "Yazar", "Fullscreen": "Tam ekran", "Horizontal line": "Yatay \u00e7izgi", "Horizontal space": "Yatay bo\u015fluk", "Insert\/edit image": "Resim ekle\/d\u00fczenle", "General": "Genel", "Advanced": "Geli\u015fmi\u015f", "Source": "Kaynak", "Border": "\u00c7er\u00e7eve", "Constrain proportions": "En - Boy oran\u0131n\u0131 koru", "Vertical space": "Dikey bo\u015fluk", "Image description": "Resim a\u00e7\u0131klamas\u0131", "Style": "Stil", "Dimensions": "Boyutlar", "Insert image": "Resim ekle", "Insert date\/time": "Tarih \/ Zaman ekle", "Remove link": "Ba\u011flant\u0131y\u0131 kald\u0131r", "Url": "Url", "Text to display": "G\u00f6r\u00fcnen yaz\u0131", "Anchors": "\u00c7apalar", "Insert link": "Ba\u011flant\u0131 ekle", "New window": "Yeni pencere", "None": "Hi\u00e7biri", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "Hedef", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Ba\u011flant\u0131 ekle\/d\u00fczenle", "Insert\/edit video": "Video ekle\/d\u00fczenle", "Poster": "Poster", "Alternative source": "Alternatif kaynak", "Paste your embed code below:": "Medya g\u00f6mme kodunu buraya yap\u0131\u015ft\u0131r:", "Insert video": "Video ekle", "Embed": "G\u00f6mme", "Nonbreaking space": "B\u00f6l\u00fcnemez bo\u015fluk", "Page break": "Sayfa sonu", "Paste as text": "Metin olarak yap\u0131\u015ft\u0131r", "Preview": "\u00d6nizleme", "Print": "Yazd\u0131r", "Save": "Kaydet", "Could not find the specified string.": "Herhangi bir sonu\u00e7 bulunamad\u0131.", "Replace": "De\u011fi\u015ftir", "Next": "Sonraki", "Whole words": "Tam s\u00f6zc\u00fckler", "Find and replace": "Bul ve de\u011fi\u015ftir", "Replace with": "Bununla de\u011fi\u015ftir", "Find": "Bul", "Replace all": "T\u00fcm\u00fcn\u00fc de\u011fi\u015ftir", "Match case": "B\u00fcy\u00fck \/ K\u00fc\u00e7\u00fck harfe duyarl\u0131", "Prev": "\u00d6nceki", "Spellcheck": "Yaz\u0131m denetimi", "Finish": "Bitir", "Ignore all": "T\u00fcm\u00fcn\u00fc yoksay", "Ignore": "Yoksay", "Insert row before": "\u00d6ncesine yeni sat\u0131r ekle", "Rows": "Sat\u0131rlar", "Height": "Y\u00fckseklik", "Paste row after": "Sonras\u0131na sat\u0131r yap\u0131\u015ft\u0131r", "Alignment": "Hizalama", "Column group": "S\u00fctun grubu", "Row": "Sat\u0131r", "Insert column before": "\u00d6ncesine yeni s\u00fctun ekle", "Split cell": "H\u00fccreleri ay\u0131r", "Cell padding": "H\u00fccre i\u00e7 bo\u015flu\u011fu", "Cell spacing": "H\u00fccre aral\u0131\u011f\u0131", "Row type": "Sat\u0131r tipi", "Insert table": "Tablo ekle", "Body": "G\u00f6vde", "Caption": "Ba\u015fl\u0131k", "Footer": "Alt", "Delete row": "Sat\u0131r\u0131 sil", "Paste row before": "\u00d6ncesine sat\u0131r yap\u0131\u015ft\u0131r", "Scope": "Kapsam", "Delete table": "Tabloyu sil", "Header cell": "Ba\u015fl\u0131k h\u00fccresi", "Column": "S\u00fctun", "Cell": "H\u00fccre", "Header": "Ba\u015fl\u0131k", "Cell type": "H\u00fccre tipi", "Copy row": "Sat\u0131r\u0131 kopyala", "Row properties": "Sat\u0131r \u00f6zellikleri", "Table properties": "Tablo \u00f6zellikleri", "Row group": "Sat\u0131r grubu", "Right": "Sa\u011f", "Insert column after": "Sonras\u0131na yeni s\u00fctun ekle", "Cols": "S\u00fctunlar", "Insert row after": "Sonras\u0131na yeni sat\u0131r ekle", "Width": "Geni\u015flik", "Cell properties": "H\u00fccre \u00f6zellikleri", "Left": "Sol", "Cut row": "Sat\u0131r\u0131 kes", "Delete column": "S\u00fctunu sil", "Center": "Orta", "Merge cells": "H\u00fccreleri birle\u015ftir", "Insert template": "\u015eablon ekle", "Templates": "\u015eablonlar", "Background color": "Arkaplan rengi", "Text color": "Yaz\u0131 rengi", "Show blocks": "Bloklar\u0131 g\u00f6r\u00fcnt\u00fcle", "Show invisible characters": "G\u00f6r\u00fcnmez karakterleri g\u00f6ster", "Words: {0}": "Kelime: {0}", "Insert": "Ekle", "File": "Dosya", "Edit": "D\u00fczenle", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Zengin Metin Alan\u0131. Men\u00fc i\u00e7in ALT-F9 k\u0131sayolunu kullan\u0131n. Ara\u00e7 \u00e7ubu\u011fu i\u00e7in ALT-F10 k\u0131sayolunu kullan\u0131n. Yard\u0131m i\u00e7in ALT-0 k\u0131sayolunu kullan\u0131n.", "Tools": "Ara\u00e7lar", "View": "G\u00f6r\u00fcnt\u00fcle", "Table": "Tablo", "Format": "Bi\u00e7im" });langs/el.js000060400000046636152455403670006634 0ustar00tinymce.addI18n('el',{ "Cut": "\u0391\u03c0\u03bf\u03ba\u03bf\u03c0\u03ae", "Header 2": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u039f \u03c0\u03b5\u03c1\u03b9\u03b7\u03b3\u03b7\u03c4\u03ae\u03c2 \u03c3\u03b1\u03c2 \u03b4\u03b5\u03bd \u03c5\u03c0\u03bf\u03c3\u03c4\u03b7\u03c1\u03af\u03b6\u03b5\u03b9 \u03ac\u03bc\u03b5\u03c3\u03b7 \u03c0\u03c1\u03cc\u03c3\u03b2\u03b1\u03c3\u03b7 \u03c3\u03c4\u03bf \u03c0\u03c1\u03cc\u03c7\u03b5\u03b9\u03c1\u03bf. \u03a0\u03b1\u03c1\u03b1\u03ba\u03b1\u03bb\u03ce \u03c7\u03c1\u03b7\u03c3\u03b9\u03bc\u03bf\u03c0\u03bf\u03b9\u03ae\u03c3\u03c4\u03b5 \u03c4\u03b9\u03c2 \u03c3\u03c5\u03bd\u03c4\u03bf\u03bc\u03b5\u03cd\u03c3\u03b5\u03b9\u03c2 \u03c0\u03bb\u03b7\u03ba\u03c4\u03c1\u03bf\u03bb\u03bf\u03b3\u03af\u03bf\u03c5 Ctrl+X\/C\/V.", "Div": "Div", "Paste": "\u0395\u03c0\u03b9\u03ba\u03cc\u03bb\u03bb\u03b7\u03c3\u03b7", "Close": "\u039a\u03bb\u03b5\u03af\u03c3\u03b9\u03bc\u03bf", "Font Family": "\u0393\u03c1\u03b1\u03bc\u03bc\u03b1\u03c4\u03bf\u03c3\u03b5\u03b9\u03c1\u03ac", "Pre": "Pre", "Align right": "\u03a3\u03c4\u03bf\u03af\u03c7\u03b9\u03c3\u03b7 \u03b4\u03b5\u03be\u03b9\u03ac", "New document": "\u039d\u03ad\u03bf \u03ad\u03b3\u03b3\u03c1\u03b1\u03c6\u03bf", "Blockquote": "\u03a0\u03b5\u03c1\u03b9\u03bf\u03c7\u03ae \u03c0\u03b1\u03c1\u03ac\u03b8\u03b5\u03c3\u03b7\u03c2", "Numbered list": "\u0391\u03c1\u03b9\u03b8\u03bc\u03b7\u03bc\u03ad\u03bd\u03b7 \u03bb\u03af\u03c3\u03c4\u03b1", "Increase indent": "\u0391\u03cd\u03be\u03b7\u03c3\u03b7 \u03b5\u03c3\u03bf\u03c7\u03ae\u03c2", "Formats": "\u039c\u03bf\u03c1\u03c6\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7", "Headers": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b5\u03c2", "Select all": "\u0395\u03c0\u03b9\u03bb\u03bf\u03b3\u03ae \u03cc\u03bb\u03c9\u03bd", "Header 3": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1 3", "Blocks": "\u03a4\u03bc\u03ae\u03bc\u03b1\u03c4\u03b1", "Undo": "\u0391\u03bd\u03b1\u03af\u03c1\u03b5\u03c3\u03b7", "Strikethrough": "\u0394\u03b9\u03b1\u03ba\u03c1\u03b9\u03c4\u03ae \u03b4\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae", "Bullet list": "\u039b\u03af\u03c3\u03c4\u03b1 \u03bc\u03b5 \u03ba\u03bf\u03c5\u03ba\u03ba\u03af\u03b4\u03b5\u03c2", "Header 1": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1 1", "Superscript": "\u0395\u03ba\u03b8\u03ad\u03c4\u03b7\u03c2", "Clear formatting": "\u0391\u03c0\u03b1\u03bb\u03bf\u03b9\u03c6\u03ae \u03bc\u03bf\u03c1\u03c6\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7\u03c2", "Font Sizes": "\u039c\u03ad\u03b3\u03b5\u03b8\u03bf\u03c2", "Subscript": "\u0394\u03b5\u03af\u03ba\u03c4\u03b7\u03c2", "Header 6": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1 6", "Redo": "\u0395\u03c0\u03b1\u03bd\u03ac\u03bb\u03b7\u03c8\u03b7", "Paragraph": "\u03a0\u03b1\u03c1\u03ac\u03b3\u03c1\u03b1\u03c6\u03bf\u03c2", "Ok": "\u0395\u03bd\u03c4\u03ac\u03be\u03b5\u03b9", "Bold": "\u0388\u03bd\u03c4\u03bf\u03bd\u03b7", "Code": "\u039a\u03ce\u03b4\u03b9\u03ba\u03b1\u03c2", "Italic": "\u03a0\u03bb\u03ac\u03b3\u03b9\u03b1", "Align center": "\u03a3\u03c4\u03bf\u03af\u03c7\u03b9\u03c3\u03b7 \u03c3\u03c4\u03bf \u03ba\u03ad\u03bd\u03c4\u03c1\u03bf", "Header 5": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1 5", "Decrease indent": "\u039c\u03b5\u03af\u03c9\u03c3\u03b7 \u03b5\u03c3\u03bf\u03c7\u03ae\u03c2", "Header 4": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0397 \u03b5\u03c0\u03b9\u03ba\u03cc\u03bb\u03bb\u03b7\u03c3\u03b7 \u03b5\u03af\u03bd\u03b1\u03b9 \u03c4\u03ce\u03c1\u03b1 \u03c3\u03b5 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b1\u03c0\u03bb\u03bf\u03cd \u03ba\u03b5\u03b9\u03bc\u03ad\u03bd\u03bf\u03c5. \u03a4\u03b1 \u03c0\u03b5\u03c1\u03b9\u03b5\u03c7\u03cc\u03bc\u03b5\u03bd\u03b1 \u03bc\u03b9\u03b1\u03c2 \u03b5\u03c0\u03b9\u03ba\u03cc\u03bb\u03bb\u03b7\u03c3\u03b7\u03c2 \u03b8\u03b1 \u03b5\u03c0\u03b9\u03ba\u03bf\u03bb\u03bb\u03bf\u03cd\u03bd\u03c4\u03b1\u03b9 \u03c9\u03c2 \u03b1\u03c0\u03bb\u03cc \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf \u03cc\u03c3\u03bf \u03b7 \u03bb\u03b5\u03b9\u03c4\u03bf\u03c5\u03c1\u03b3\u03af\u03b1 \u03b1\u03c5\u03c4\u03ae \u03c0\u03b1\u03c1\u03b1\u03bc\u03ad\u03bd\u03b5\u03b9 \u03b5\u03bd\u03b5\u03c1\u03b3\u03ae.", "Underline": "\u03a5\u03c0\u03bf\u03b3\u03c1\u03ac\u03bc\u03bc\u03b9\u03c3\u03b7", "Cancel": "\u0391\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7", "Justify": "\u03a0\u03bb\u03ae\u03c1\u03b7\u03c2 \u03c3\u03c4\u03bf\u03af\u03c7\u03b9\u03c3\u03b7", "Inline": "\u0395\u03bd\u03c3\u03c9\u03bc\u03b1\u03c4\u03c9\u03bc\u03ad\u03bd\u03b7", "Copy": "\u0391\u03bd\u03c4\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae", "Align left": "\u03a3\u03c4\u03bf\u03af\u03c7\u03b9\u03c3\u03b7 \u03b1\u03c1\u03b9\u03c3\u03c4\u03b5\u03c1\u03ac", "Visual aids": "O\u03c0\u03c4\u03b9\u03ba\u03ac \u03b2\u03bf\u03b7\u03b8\u03ae\u03bc\u03b1\u03c4\u03b1 ", "Lower Greek": "\u03a0\u03b5\u03b6\u03ac \u03b5\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac", "Square": "\u03a4\u03b5\u03c4\u03c1\u03ac\u03b3\u03c9\u03bd\u03bf", "Default": "\u03a0\u03c1\u03bf\u03ba\u03b1\u03b8\u03bf\u03c1\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf", "Lower Alpha": "\u03a0\u03b5\u03b6\u03ac \u03bb\u03b1\u03c4\u03b9\u03bd\u03b9\u03ba\u03ac", "Circle": "\u039a\u03cd\u03ba\u03bb\u03bf\u03c2", "Disc": "\u0394\u03af\u03c3\u03ba\u03bf\u03c2", "Upper Alpha": "\u039a\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03b1 \u03bb\u03b1\u03c4\u03b9\u03bd\u03b9\u03ba\u03ac", "Upper Roman": "\u039a\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03b1 \u03c1\u03c9\u03bc\u03b1\u03ca\u03ba\u03ac", "Lower Roman": "\u03a0\u03b5\u03b6\u03ac \u03c1\u03c9\u03bc\u03b1\u03ca\u03ba\u03ac", "Name": "\u038c\u03bd\u03bf\u03bc\u03b1", "Anchor": "\u0391\u03b3\u03ba\u03cd\u03c1\u03c9\u03c3\u03b7", "You have unsaved changes are you sure you want to navigate away?": "\u0388\u03c7\u03b5\u03c4\u03b5 \u03bc\u03b7 \u03b1\u03c0\u03bf\u03b8\u03b7\u03ba\u03b5\u03c5\u03bc\u03ad\u03bd\u03b5\u03c2 \u03b1\u03bb\u03bb\u03b1\u03b3\u03ad\u03c2. \u0395\u03af\u03c3\u03c4\u03b5 \u03b2\u03ad\u03b2\u03b1\u03b9\u03bf\u03b9 \u03cc\u03c4\u03b9 \u03b8\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03c6\u03cd\u03b3\u03b5\u03c4\u03b5 \u03b1\u03c0\u03cc \u03c4\u03b7\u03bd \u03c3\u03b5\u03bb\u03af\u03b4\u03b1;", "Restore last draft": "\u0395\u03c0\u03b1\u03bd\u03b1\u03c6\u03bf\u03c1\u03ac \u03c4\u03b5\u03bb\u03b5\u03c5\u03c4\u03b1\u03af\u03bf\u03c5 \u03c3\u03c7\u03b5\u03b4\u03af\u03bf\u03c5", "Special character": "\u0395\u03b9\u03b4\u03b9\u03ba\u03cc\u03c2 \u03c7\u03b1\u03c1\u03b1\u03ba\u03c4\u03ae\u03c1\u03b1\u03c2", "Source code": "\u03a0\u03b7\u03b3\u03b1\u03af\u03bf\u03c2 \u03ba\u03ce\u03b4\u03b9\u03ba\u03b1\u03c2", "Right to left": "\u0391\u03c0\u03cc \u03b4\u03b5\u03be\u03b9\u03ac \u03c0\u03c1\u03bf\u03c2 \u03c4\u03b1 \u03b1\u03c1\u03b9\u03c3\u03c4\u03b5\u03c1\u03ac", "Left to right": "\u0391\u03c0\u03cc \u03b1\u03c1\u03b9\u03c3\u03c4\u03b5\u03c1\u03ac \u03c0\u03c1\u03bf\u03c2 \u03c4\u03b1 \u03b4\u03b5\u03be\u03b9\u03ac", "Emoticons": "\u03a6\u03b1\u03c4\u03c3\u03bf\u03cd\u03bb\u03b5\u03c2", "Robots": "\u03a1\u03bf\u03bc\u03c0\u03cc\u03c4", "Document properties": "\u0399\u03b4\u03b9\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03b5\u03b3\u03b3\u03c1\u03ac\u03c6\u03bf\u03c5", "Title": "\u03a4\u03af\u03c4\u03bb\u03bf\u03c2", "Keywords": "\u039b\u03ad\u03be\u03b5\u03b9\u03c2 \u03ba\u03bb\u03b5\u03b9\u03b4\u03b9\u03ac", "Encoding": "\u039a\u03c9\u03b4\u03b9\u03ba\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7", "Description": "\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae", "Author": "\u03a3\u03c5\u03bd\u03c4\u03ac\u03ba\u03c4\u03b7\u03c2", "Fullscreen": "\u03a0\u03bb\u03ae\u03c1\u03b7\u03c2 \u03bf\u03b8\u03cc\u03bd\u03b7", "Horizontal line": "\u039f\u03c1\u03b9\u03b6\u03cc\u03bd\u03c4\u03b9\u03b1 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae", "Horizontal space": "\u039f\u03c1\u03b9\u03b6\u03cc\u03bd\u03c4\u03b9\u03bf \u03b4\u03b9\u03ac\u03c3\u03c4\u03b7\u03bc\u03b1", "Insert\/edit image": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae\/\u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1 \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1\u03c2", "General": "\u0393\u03b5\u03bd\u03b9\u03ba\u03ac", "Advanced": "\u0393\u03b9\u03b1 \u03a0\u03c1\u03bf\u03c7\u03c9\u03c1\u03b7\u03bc\u03ad\u03bd\u03bf\u03c5\u03c2", "Source": "\u03a0\u03b7\u03b3\u03ae", "Border": "\u03a0\u03bb\u03b1\u03af\u03c3\u03b9\u03bf", "Constrain proportions": "\u03a0\u03b5\u03c1\u03b9\u03bf\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2 \u03b1\u03bd\u03b1\u03bb\u03bf\u03b3\u03b9\u03ce\u03bd", "Vertical space": "\u039a\u03ac\u03b8\u03b5\u03c4\u03bf \u03b4\u03b9\u03ac\u03c3\u03c4\u03b7\u03bc\u03b1", "Image description": "\u03a0\u03b5\u03c1\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1\u03c2", "Style": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7", "Dimensions": "\u0394\u03b9\u03b1\u03c3\u03c4\u03ac\u03c3\u03b5\u03b9\u03c2", "Insert image": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03b5\u03b9\u03ba\u03cc\u03bd\u03b1\u03c2", "Insert date\/time": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03b7\u03bc\u03b5\u03c1\u03bf\u03bc\u03b7\u03bd\u03af\u03b1\u03c2\/\u03ce\u03c1\u03b1\u03c2", "Remove link": "\u0391\u03c6\u03b1\u03af\u03c1\u03b5\u03c3\u03b7 \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03bc\u03bf\u03c5", "Url": "URL", "Text to display": "\u039a\u03b5\u03af\u03bc\u03b5\u03bd\u03bf \u03b3\u03b9\u03b1 \u03b5\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7", "Anchors": "\u0386\u03b3\u03ba\u03c5\u03c1\u03b5\u03c2", "Insert link": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03bc\u03bf\u03c5", "New window": "\u039d\u03ad\u03bf \u03c0\u03b1\u03c1\u03ac\u03b8\u03c5\u03c1\u03bf", "None": "\u039a\u03b1\u03bc\u03af\u03b1", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u0397 \u03b4\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 URL \u03c0\u03bf\u03c5 \u03b5\u03b9\u03c3\u03ac\u03c7\u03b8\u03b7\u03ba\u03b5 \u03c0\u03b9\u03b8\u03b1\u03bd\u03ce\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b5\u03be\u03c9\u03c4\u03b5\u03c1\u03b9\u03ba\u03cc\u03c2 \u03c3\u03cd\u03bd\u03b4\u03b5\u03c3\u03bc\u03bf\u03c2. \u0398\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03b5\u03c4\u03b5 \u03c4\u03bf \u03b1\u03c0\u03b1\u03b9\u03c4\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03c0\u03c1\u03cc\u03b8\u03b7\u03bc\u03b1 http:\/\/;", "Target": "\u03a0\u03c1\u03bf\u03bf\u03c1\u03b9\u03c3\u03bc\u03cc\u03c2", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0397 \u03b4\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 URL \u03c0\u03bf\u03c5 \u03b5\u03b9\u03c3\u03ac\u03c7\u03b8\u03b7\u03ba\u03b5 \u03c0\u03b9\u03b8\u03b1\u03bd\u03ce\u03c2 \u03b5\u03af\u03bd\u03b1\u03b9 \u03b4\u03b9\u03b5\u03cd\u03b8\u03c5\u03bd\u03c3\u03b7 email. \u0398\u03ad\u03bb\u03b5\u03c4\u03b5 \u03bd\u03b1 \u03c0\u03c1\u03bf\u03c3\u03b8\u03ad\u03c3\u03b5\u03c4\u03b5 \u03c4\u03bf \u03b1\u03c0\u03b1\u03b9\u03c4\u03bf\u03cd\u03bc\u03b5\u03bd\u03bf \u03c0\u03c1\u03cc\u03b8\u03b7\u03bc\u03b1 mailto:;", "Insert\/edit link": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae\/\u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1 \u03c3\u03c5\u03bd\u03b4\u03ad\u03c3\u03bc\u03bf\u03c5", "Insert\/edit video": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae\/\u03b5\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1 \u03b2\u03af\u03bd\u03c4\u03b5\u03bf", "Poster": "\u0391\u03c6\u03af\u03c3\u03b1", "Alternative source": "\u0395\u03bd\u03b1\u03bb\u03bb\u03b1\u03ba\u03c4\u03b9\u03ba\u03ae \u03c0\u03c1\u03bf\u03ad\u03bb\u03b5\u03c5\u03c3\u03b7", "Paste your embed code below:": "\u0395\u03b9\u03c3\u03ac\u03b3\u03b5\u03c4\u03b5 \u03c4\u03bf\u03bd \u03b5\u03bd\u03c3\u03c9\u03bc\u03b1\u03c4\u03c9\u03bc\u03ad\u03bd\u03bf \u03ba\u03ce\u03b4\u03b9\u03ba\u03b1 \u03c0\u03b1\u03c1\u03b1\u03ba\u03ac\u03c4\u03c9:", "Insert video": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03b2\u03af\u03bd\u03c4\u03b5\u03bf", "Embed": "\u0395\u03bd\u03c3\u03c9\u03bc\u03ac\u03c4\u03c9\u03c3\u03b7", "Nonbreaking space": "\u039a\u03b5\u03bd\u03cc \u03c7\u03c9\u03c1\u03af\u03c2 \u03b4\u03b9\u03b1\u03ba\u03bf\u03c0\u03ae", "Page break": "\u0391\u03bb\u03bb\u03b1\u03b3\u03ae \u03c3\u03b5\u03bb\u03af\u03b4\u03b1\u03c2", "Paste as text": "\u0395\u03c0\u03b9\u03ba\u03cc\u03bb\u03bb\u03b7\u03c3\u03b7 \u03c9\u03c2 \u03ba\u03b5\u03af\u03bc\u03b5\u03bd\u03bf", "Preview": "\u03a0\u03c1\u03bf\u03b5\u03c0\u03b9\u03c3\u03ba\u03cc\u03c0\u03b7\u03c3\u03b7", "Print": "\u0395\u03ba\u03c4\u03cd\u03c0\u03c9\u03c3\u03b7", "Save": "\u0391\u03c0\u03bf\u03b8\u03ae\u03ba\u03b5\u03c5\u03c3\u03b7", "Could not find the specified string.": "\u0394\u03b5\u03bd \u03ae\u03c4\u03b1\u03bd \u03b4\u03c5\u03bd\u03b1\u03c4\u03ae \u03b7 \u03b5\u03cd\u03c1\u03b5\u03c3\u03b7 \u03c4\u03bf\u03c5 \u03ba\u03b1\u03b8\u03bf\u03c1\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf\u03c5 \u03b1\u03bb\u03c6\u03b1\u03c1\u03b9\u03b8\u03bc\u03b7\u03c4\u03b9\u03ba\u03bf\u03cd.", "Replace": "\u0391\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7", "Next": "\u0395\u03c0\u03cc\u03bc.", "Whole words": "\u039f\u03bb\u03cc\u03ba\u03bb\u03b7\u03c1\u03b5\u03c2 \u03bb\u03ad\u03be\u03b5\u03b9\u03c2", "Find and replace": "\u0395\u03cd\u03c1\u03b5\u03c3\u03b7 \u03ba\u03b1\u03b9 \u03b1\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7", "Replace with": "\u0391\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03bc\u03b5", "Find": "\u0395\u03cd\u03c1\u03b5\u03c3\u03b7", "Replace all": "\u0391\u03bd\u03c4\u03b9\u03ba\u03b1\u03c4\u03ac\u03c3\u03c4\u03b1\u03c3\u03b7 \u03cc\u03bb\u03c9\u03bd", "Match case": "\u03a4\u03b1\u03af\u03c1\u03b9\u03b1\u03c3\u03bc\u03b1 \u03c0\u03b5\u03b6\u03ce\u03bd\/\u03ba\u03b5\u03c6\u03b1\u03bb\u03b1\u03af\u03c9\u03bd", "Prev": "\u03a0\u03c1\u03bf\u03b7\u03b3.", "Spellcheck": "\u039f\u03c1\u03b8\u03bf\u03b3\u03c1\u03b1\u03c6\u03b9\u03ba\u03cc\u03c2 \u03ad\u03bb\u03b5\u03b3\u03c7\u03bf\u03c2 ", "Finish": "\u03a4\u03ad\u03bb\u03bf\u03c2", "Ignore all": "\u03a0\u03b1\u03c1\u03ac\u03b2\u03bb\u03b5\u03c8\u03b7 \u03cc\u03bb\u03c9\u03bd", "Ignore": "\u03a0\u03b1\u03c1\u03ac\u03b2\u03bb\u03b5\u03c8\u03b7", "Insert row before": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2 \u03b5\u03c0\u03ac\u03bd\u03c9", "Rows": "\u0393\u03c1\u03b1\u03bc\u03bc\u03ad\u03c2", "Height": "\u038e\u03c8\u03bf\u03c2", "Paste row after": "\u0395\u03c0\u03b9\u03ba\u03cc\u03bb\u03bb\u03b7\u03c3\u03b7 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2 \u03ba\u03ac\u03c4\u03c9", "Alignment": "\u03a3\u03c4\u03bf\u03af\u03c7\u03b9\u03c3\u03b7", "Column group": "\u039f\u03bc\u03ac\u03b4\u03b1 \u03c3\u03c4\u03b7\u03bb\u03ce\u03bd", "Row": "\u0393\u03c1\u03b1\u03bc\u03bc\u03ae", "Insert column before": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03c3\u03c4\u03ae\u03bb\u03b7\u03c2 \u03b1\u03c1\u03b9\u03c3\u03c4\u03b5\u03c1\u03ac", "Split cell": "\u0394\u03b9\u03b1\u03af\u03c1\u03b5\u03c3\u03b7 \u03ba\u03b5\u03bb\u03b9\u03bf\u03cd", "Cell padding": "\u0391\u03bd\u03b1\u03c0\u03bb\u03ae\u03c1\u03c9\u03c3\u03b7 \u03ba\u03b5\u03bb\u03b9\u03ce\u03bd", "Cell spacing": "\u0391\u03c0\u03cc\u03c3\u03c4\u03b1\u03c3\u03b7 \u03ba\u03b5\u03bb\u03b9\u03ce\u03bd", "Row type": "\u03a4\u03cd\u03c0\u03bf\u03c2 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2", "Insert table": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03c0\u03af\u03bd\u03b1\u03ba\u03b1", "Body": "\u03a3\u03ce\u03bc\u03b1", "Caption": "\u039b\u03b5\u03b6\u03ac\u03bd\u03c4\u03b1", "Footer": "\u03a5\u03c0\u03bf\u03c3\u03ad\u03bb\u03b9\u03b4\u03bf", "Delete row": "\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2", "Paste row before": "\u0395\u03c0\u03b9\u03ba\u03cc\u03bb\u03bb\u03b7\u03c3\u03b7 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2 \u03b5\u03c0\u03ac\u03bd\u03c9", "Scope": "\u0388\u03ba\u03c4\u03b1\u03c3\u03b7", "Delete table": "\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae \u03c0\u03af\u03bd\u03b1\u03ba\u03b1", "Header cell": "\u039a\u03b5\u03bb\u03af-\u03ba\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1", "Column": "\u03a3\u03c4\u03ae\u03bb\u03b7", "Cell": "\u039a\u03b5\u03bb\u03af", "Header": "\u039a\u03b5\u03c6\u03b1\u03bb\u03af\u03b4\u03b1", "Cell type": "\u03a4\u03cd\u03c0\u03bf\u03c2 \u03ba\u03b5\u03bb\u03b9\u03bf\u03cd", "Copy row": "\u0391\u03bd\u03c4\u03b9\u03b3\u03c1\u03b1\u03c6\u03ae \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2", "Row properties": "\u0399\u03b4\u03b9\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2", "Table properties": "\u0399\u03b4\u03b9\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03c0\u03af\u03bd\u03b1\u03ba\u03b1", "Row group": "\u039f\u03bc\u03ac\u03b4\u03b1 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ce\u03bd", "Right": "\u0394\u03b5\u03be\u03b9\u03ac", "Insert column after": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03c3\u03c4\u03ae\u03bb\u03b7\u03c2 \u03b4\u03b5\u03be\u03b9\u03ac", "Cols": "\u03a3\u03c4\u03ae\u03bb\u03b5\u03c2", "Insert row after": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2 \u03ba\u03ac\u03c4\u03c9", "Width": "\u03a0\u03bb\u03ac\u03c4\u03bf\u03c2", "Cell properties": "\u0399\u03b4\u03b9\u03cc\u03c4\u03b7\u03c4\u03b5\u03c2 \u03ba\u03b5\u03bb\u03b9\u03bf\u03cd", "Left": "\u0391\u03c1\u03b9\u03c3\u03c4\u03b5\u03c1\u03ac", "Cut row": "\u0391\u03c0\u03bf\u03ba\u03bf\u03c0\u03ae \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae\u03c2", "Delete column": "\u0394\u03b9\u03b1\u03b3\u03c1\u03b1\u03c6\u03ae \u03c3\u03c4\u03ae\u03bb\u03b7\u03c2", "Center": "\u039a\u03b5\u03bd\u03c4\u03c1\u03b1\u03c1\u03b9\u03c3\u03bc\u03ad\u03bd\u03b7", "Merge cells": "\u03a3\u03c5\u03b3\u03c7\u03ce\u03bd\u03b5\u03c5\u03c3\u03b7 \u03ba\u03b5\u03bb\u03b9\u03ce\u03bd", "Insert template": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae \u03c0\u03c1\u03bf\u03c4\u03cd\u03c0\u03bf\u03c5 ", "Templates": "\u03a0\u03c1\u03cc\u03c4\u03c5\u03c0\u03b1", "Background color": "\u03a7\u03c1\u03ce\u03bc\u03b1 \u03c6\u03cc\u03bd\u03c4\u03bf\u03c5", "Text color": "\u03a7\u03c1\u03ce\u03bc\u03b1 \u03ba\u03b5\u03b9\u03bc\u03ad\u03bd\u03bf\u03c5 ", "Show blocks": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03c4\u03bc\u03b7\u03bc\u03ac\u03c4\u03c9\u03bd", "Show invisible characters": "\u0395\u03bc\u03c6\u03ac\u03bd\u03b9\u03c3\u03b7 \u03ba\u03c1\u03c5\u03c6\u03ce\u03bd \u03c7\u03b1\u03c1\u03b1\u03ba\u03c4\u03ae\u03c1\u03c9\u03bd", "Words: {0}": "\u039b\u03ad\u03be\u03b5\u03b9\u03c2: {0}", "Insert": "\u0395\u03b9\u03c3\u03b1\u03b3\u03c9\u03b3\u03ae", "File": "\u0391\u03c1\u03c7\u03b5\u03af\u03bf", "Edit": "\u0395\u03c0\u03b5\u03be\u03b5\u03c1\u03b3\u03b1\u03c3\u03af\u03b1", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u03a0\u03b5\u03c1\u03b9\u03bf\u03c7\u03ae \u0395\u03bc\u03c0\u03bb\u03bf\u03c5\u03c4\u03b9\u03c3\u03bc\u03ad\u03bd\u03bf \u039a\u03b5\u03b9\u03bc\u03ad\u03bd\u03bf\u03c5. \u03a0\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 ALT-F9 \u03b3\u03b9\u03b1 \u03c4\u03bf \u03bc\u03b5\u03bd\u03bf\u03cd. \u03a0\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 ALT-F10 \u03b3\u03b9\u03b1 \u03c4\u03b7 \u03b3\u03c1\u03b1\u03bc\u03bc\u03ae \u03b5\u03c1\u03b3\u03b1\u03bb\u03b5\u03af\u03c9\u03bd. \u03a0\u03b1\u03c4\u03ae\u03c3\u03c4\u03b5 ALT-0 \u03b3\u03b9\u03b1 \u03b2\u03bf\u03ae\u03b8\u03b5\u03b9\u03b1", "Tools": "\u0395\u03c1\u03b3\u03b1\u03bb\u03b5\u03af\u03b1", "View": "\u03a0\u03c1\u03bf\u03b2\u03bf\u03bb\u03ae", "Table": "\u03a0\u03af\u03bd\u03b1\u03ba\u03b1\u03c2", "Format": "\u039c\u03bf\u03c1\u03c6\u03bf\u03c0\u03bf\u03af\u03b7\u03c3\u03b7" });langs/mk.js000060400000051771152455403670006637 0ustar00tinymce.addI18n('mk',{ "Cut": "\u0418\u0441\u0435\u0447\u0438", "Heading 5": "\u041d\u0430\u0441\u043b\u043e\u0432 5", "Header 2": "\u041d\u0430\u0441\u043b\u043e\u0432 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0412\u0430\u0448\u0438\u043e\u0442 \u043f\u0440\u0435\u043b\u0438\u0441\u0442\u0443\u0432\u0430\u0447 \u043d\u0435 \u043f\u043e\u0434\u0434\u0440\u0436\u0443\u0432\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0435\u043d \u043f\u0440\u0438\u0441\u0442\u0430\u043f \u0434\u043e \u043c\u0435\u043c\u043e\u0440\u0438\u0458\u0430\u0442\u0430.\u041a\u043e\u0440\u0438\u0441\u0442\u0435\u0442\u0435 \u0433\u0438 Ctrl+X\/C\/V \u043a\u0440\u0430\u0442\u0435\u043d\u043a\u0438\u0442\u0435 \u043d\u0430 \u0442\u0430\u0441\u0442\u0430\u0442\u0443\u0440\u0430\u0442\u0430.", "Heading 4": "\u041d\u0430\u0441\u043b\u043e\u0432 4", "Div": "DIV", "Heading 2": "\u041d\u0430\u0441\u043b\u043e\u0432 2", "Paste": "\u0412\u043c\u0435\u0442\u043d\u0438", "Close": "\u0417\u0430\u0442\u0432\u043e\u0440\u0438", "Font Family": "\u0424\u043e\u043d\u0442 \u0444\u0430\u043c\u0438\u043b\u0438\u0458\u0430", "Pre": "PRE", "Align right": "\u0414\u0435\u0441\u043d\u043e \u043f\u043e\u0440\u0430\u043c\u043d\u0443\u0432\u0430\u045a\u0435", "New document": "\u041d\u043e\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442", "Blockquote": "\u0426\u0438\u0442\u0430\u0442", "Numbered list": "\u041b\u0438\u0441\u0442\u0430 \u0441\u043e \u0431\u0440\u043e\u0458\u043a\u0438", "Heading 1": "\u041d\u0430\u0441\u043b\u043e\u0432 1", "Headings": "\u041d\u0430\u0441\u043b\u043e\u0432\u0438", "Increase indent": "\u0417\u0433\u043e\u043b\u0435\u043c\u0438 \u0432\u043e\u0432\u043b\u0435\u043a\u0443\u0432\u0430\u045a\u0435", "Formats": "\u0424\u043e\u0440\u043c\u0430\u0442\u0438", "Headers": "\u041d\u0430\u0441\u043b\u043e\u0432\u0438", "Select all": "\u041e\u0437\u043d\u0430\u0447\u0438 \u0433\u0438 \u0441\u0438\u0442\u0435", "Header 3": "\u041d\u0430\u0441\u043b\u043e\u0432 3", "Blocks": "\u0411\u043b\u043e\u043a\u043e\u0432\u0438", "Undo": "\u0412\u0440\u0430\u0442\u0438", "Strikethrough": "\u041f\u0440\u0435\u0446\u0440\u0442\u0430\u043d\u043e", "Bullet list": "\u041b\u0438\u0441\u0442\u0430 \u0441\u043e \u0437\u043d\u0430\u0446\u0438", "Header 1": "\u041d\u0430\u0441\u043b\u043e\u0432 1", "Superscript": "\u041d\u0430\u0442\u0442\u0435\u043a\u0441\u0442", "Clear formatting": "\u0418\u0441\u0447\u0438\u0441\u0442\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u045a\u0435", "Font Sizes": "\u0424\u043e\u043d\u0442 \u0433\u043e\u043b\u0435\u043c\u0438\u043d\u0430", "Subscript": "\u041f\u043e\u0442\u0442\u0435\u043a\u0441\u0442", "Header 6": "\u041d\u0430\u0441\u043b\u043e\u0432 6", "Redo": "\u041f\u043e\u0432\u0442\u043e\u0440\u0438", "Paragraph": "\u041f\u0430\u0440\u0430\u0433\u0440\u0430\u0444", "Ok": "\u041e\u041a", "Bold": "\u0417\u0434\u0435\u0431\u0435\u043b\u0435\u043d\u043e", "Code": "\u041a\u043e\u0434", "Italic": "\u041d\u0430\u043a\u043e\u0441\u0435\u043d\u043e", "Align center": "\u0426\u0435\u043d\u0442\u0440\u0438\u0440\u0430\u043d\u043e", "Header 5": "\u041d\u0430\u0441\u043b\u043e\u0432 5", "Heading 6": "\u041d\u0430\u0441\u043b\u043e\u0432 6", "Heading 3": "\u041d\u0430\u0441\u043b\u043e\u0432 3", "Decrease indent": "\u0421\u043c\u0430\u043b\u0438 \u0432\u043e\u0432\u043b\u0435\u043a\u0443\u0432\u0430\u045a\u0435", "Header 4": "\u041d\u0430\u0441\u043b\u043e\u0432 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0412\u043c\u0435\u0442\u043d\u0443\u0432\u0430\u045a\u0435\u0442\u043e \u0435 \u043a\u0430\u043a\u043e \u0447\u0438\u0441\u0442 \u0442\u0435\u043a\u0441\u0442. \u0421\u043e\u0434\u0440\u0436\u0438\u043d\u0430\u0442\u0430 \u045c\u0435 \u0431\u0438\u0434\u0435 \u0432\u043c\u0435\u0442\u043d\u0430\u0442\u0430 \u043a\u0430\u043a\u043e \u0447\u0438\u0441\u0442 \u0442\u0435\u043a\u0441\u0442 \u0441\u00e8 \u0434\u043e\u0434\u0435\u043a\u0430 \u043d\u0435 \u0458\u0430 \u0438\u0441\u043a\u043b\u0443\u0447\u0438\u0442\u0435 \u043e\u0432\u0430\u0430 \u043e\u043f\u0446\u0438\u0458\u0430.", "Underline": "\u041f\u043e\u0434\u0432\u043b\u0435\u0447\u0435\u043d\u043e", "Cancel": "\u041e\u0442\u043a\u0430\u0436\u0438", "Justify": "\u041f\u043e\u0440\u0430\u043c\u043d\u0435\u0442\u043e", "Inline": "\u041d\u0430\u0432\u043d\u0430\u0442\u0440\u0435", "Copy": "\u041a\u043e\u043f\u0438\u0440\u0430\u0458", "Align left": "\u041b\u0435\u0432\u043e \u043f\u043e\u0440\u0430\u043c\u043d\u0443\u0432\u0430\u045a\u0435", "Visual aids": "\u0412\u0438\u0437\u0443\u0435\u043b\u043d\u0430 \u043f\u043e\u043c\u043e\u0448", "Lower Greek": "\u041c\u0430\u043b\u0438 \u0433\u0440\u0447\u043a\u0438", "Square": "\u041a\u0432\u0430\u0434\u0440\u0430\u0442", "Default": "\u041f\u043e\u0441\u0442\u0430\u0432\u0435\u043d\u043e", "Lower Alpha": "\u041c\u0430\u043b\u0438 \u0430\u043b\u0444\u0430", "Circle": "\u041a\u0440\u0443\u0433", "Disc": "\u0422\u043e\u0447\u043a\u0430", "Upper Alpha": "\u0413\u043e\u043b\u0435\u043c\u0438 \u0430\u043b\u0444\u0430", "Upper Roman": "\u0413\u043e\u043b\u0435\u043c\u0438 \u0440\u0438\u043c\u0441\u043a\u0438", "Lower Roman": "\u0413\u043e\u043b\u0435\u043c\u0438 \u0440\u0438\u043c\u0441\u043a\u0438", "Name": "\u0418\u043c\u0435", "Anchor": "\u0421\u0438\u0434\u0440\u043e", "You have unsaved changes are you sure you want to navigate away?": "\u0418\u043c\u0430\u0442\u0435 \u043d\u0435\u0437\u0430\u0447\u0443\u0432\u0430\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438, \u0441\u0438\u0433\u0443\u0440\u043d\u043e \u0441\u0430\u043a\u0430\u0442\u0435 \u0434\u0430 \u0458\u0430 \u043d\u0430\u043f\u0443\u0448\u0442\u0438\u0442\u0435 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430\u0442\u0430?", "Restore last draft": "\u0412\u0440\u0430\u0442\u0438 \u0433\u043e \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0438\u043e\u0442 \u043d\u0430\u0446\u0440\u0442", "Special character": "\u0421\u043f\u0435\u0446\u0438\u0458\u0430\u043b\u0435\u043d \u043a\u0430\u0440\u0430\u043a\u0442\u0435\u0440", "Source code": "\u0418\u0437\u0432\u043e\u0440\u0435\u043d \u043a\u043e\u0434", "Color": "\u0411\u043e\u0458\u0430", "Right to left": "\u041e\u0434 \u0434\u0435\u0441\u043d\u043e \u043d\u0430 \u043b\u0435\u0432\u043e", "Left to right": "\u041e\u0434 \u043b\u0435\u0432\u043e \u043d\u0430 \u0434\u0435\u0441\u043d\u043e", "Emoticons": "\u0415\u043c\u043e\u0442\u0438\u043a\u043e\u043d\u0438", "Robots": "\u0420\u043e\u0431\u043e\u0442\u0438", "Document properties": "\u041f\u043e\u0434\u0430\u0442\u043e\u0446\u0438 \u0437\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u043e\u0442", "Title": "\u041d\u0430\u0441\u043b\u043e\u0432", "Keywords": "\u041a\u043b\u0443\u0447\u043d\u0438 \u0437\u0431\u043e\u0440\u043e\u0432\u0438", "Encoding": "\u041a\u043e\u0434\u0438\u0440\u0430\u045a\u0435", "Description": "\u041e\u043f\u0438\u0441", "Author": "\u0410\u0432\u0442\u043e\u0440", "Fullscreen": "\u0426\u0435\u043b \u0435\u043a\u0440\u0430\u043d", "Horizontal line": "\u0425\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u0430 \u043b\u0438\u043d\u0438\u0458\u0430", "Horizontal space": "\u0425\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0435\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0440", "Insert\/edit image": "\u0412\u043c\u0435\u0442\u043d\u0438\/\u0421\u043c\u0435\u043d\u0438 \u0441\u043b\u0438\u043a\u0430", "General": "\u041e\u043f\u0448\u0442\u043e", "Advanced": "\u041d\u0430\u043f\u0440\u0435\u0434\u043d\u043e", "Source": "\u0418\u0437\u0432\u043e\u0440", "Border": "\u0420\u0430\u043c\u043a\u0430", "Constrain proportions": "\u0412\u0440\u0437\u0430\u043d\u0438 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u0438", "Vertical space": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0435\u043d \u043f\u0440\u043e\u0441\u0442\u043e\u0440", "Image description": "\u041e\u043f\u0438\u0441 \u043d\u0430 \u0441\u043b\u0438\u043a\u0430", "Style": "\u0421\u0442\u0438\u043b", "Dimensions": "\u0414\u0438\u043c\u0435\u043d\u0437\u0438\u0438", "Insert image": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0441\u043b\u0438\u043a\u0430", "Insert date\/time": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0434\u0430\u0442\u0443\u043c\/\u0432\u0440\u0435\u043c\u0435", "Remove link": "\u041e\u0442\u0441\u0442\u0440\u0430\u043d\u0438 \u043b\u0438\u043d\u043a", "Url": "URL", "Text to display": "\u0422\u0435\u043a\u0441\u0442 \u0437\u0430 \u043f\u0440\u0438\u043a\u0430\u0437", "Anchors": "\u0421\u0438\u0434\u0440\u0430", "Insert link": "\u0412\u043c\u0435\u0442\u043d\u0438 \u043b\u0438\u043d\u043a", "New window": "\u041d\u043e\u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446", "None": "\u041d\u0438\u0448\u0442\u043e", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "URL-\u0442\u043e \u043a\u043e\u0435 \u0433\u043e \u0432\u043d\u0435\u0441\u043e\u0432\u0442\u0435 \u0441\u0435 \u0447\u0438\u043d\u0438 \u0434\u0435\u043a\u0430 \u0435 \u043d\u0430\u0434\u0432\u043e\u0440\u0435\u0448\u043d\u0430 \u0432\u0440\u0441\u043a\u0430. \u0414\u0430\u043b\u0438 \u0441\u0430\u043a\u0430\u0442\u0435 \u0434\u0430 \u0441\u0435 \u0434\u043e\u0434\u0430\u0434\u0435 \u0437\u0430\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438\u043e\u0442 http:\/\/ \u043f\u0440\u0435\u0444\u0438\u043a\u0441?", "Target": "\u0426\u0435\u043b", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "UR-\u0442\u043e \u043a\u043e\u0435 \u0433\u043e \u0432\u043d\u0435\u0441\u043e\u0432\u0442\u0435 \u0441\u0435 \u0447\u0438\u043d\u0438 \u0434\u0435\u043a\u0430 \u0435 \u0435-\u043f\u043e\u0448\u0442\u0430. \u0414\u0430\u043b\u0438 \u0441\u0430\u043a\u0430\u0442\u0435 \u0434\u0430 \u0441\u0435 \u0434\u043e\u0434\u0430\u0434\u0435 \u0437\u0430\u0434\u043e\u043b\u0436\u0438\u0442\u0435\u043b\u043d\u0438\u043e\u0442 mailto: \u043f\u0440\u0435\u0444\u0438\u043a\u0441?", "Insert\/edit link": "\u0412\u043c\u0435\u0442\u043d\u0438\/\u0441\u043c\u0435\u043d\u0438 \u043b\u0438\u043d\u043a", "Insert\/edit video": "\u0412\u043c\u0435\u0442\u043d\u0438\/\u0441\u043c\u0435\u043d\u0438 \u0432\u0438\u0434\u0435\u043e", "Poster": "\u041f\u043e\u0441\u0442\u0435\u0440", "Alternative source": "\u0410\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0435\u043d \u0438\u0437\u0432\u043e\u0440", "Paste your embed code below:": "\u0412\u0435\u043c\u0442\u043d\u0438 \u0433\u043e \u043a\u043e\u0434\u043e\u0442 \u0437\u0430 \u0432\u0433\u0440\u0430\u0434\u0435\u043d\u043e \u043f\u043e\u0434\u043e\u043b\u0443:", "Insert\/Edit code sample": "\u0412\u043c\u0435\u0442\u043d\u0438\/\u0441\u043c\u0435\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u0440 \u0437\u0430 \u043a\u043e\u0434", "Insert video": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0432\u0438\u0434\u0435\u043e", "Embed": "\u0412\u0433\u0440\u0430\u0434\u0435\u043d\u043e", "Nonbreaking space": "\u041c\u0435\u0441\u0442\u043e \u0431\u0435\u0437 \u043f\u0440\u0435\u043a\u0440\u0448\u0443\u0432\u0430\u045a\u0435", "Page break": "\u041f\u0440\u0435\u043a\u0440\u0448\u0443\u0432\u0430\u045a\u0435", "Paste as text": "\u0412\u043c\u0435\u0442\u043d\u0438 \u043a\u0430\u043a\u043e \u0442\u0435\u043a\u0441\u0442", "Preview": "\u041f\u0440\u0435\u0433\u043b\u0435\u0434", "Print": "\u041f\u0435\u0447\u0430\u0442\u0438", "Save": "\u0417\u0430\u0447\u0443\u0432\u0430\u0458", "Could not find the specified string.": "\u041d\u0435\u043c\u043e\u0436\u043d\u043e \u0434\u0430 \u0441\u0435 \u043d\u0430\u0458\u0434\u0435 \u043f\u043e\u0441\u043e\u0447\u0435\u043d\u0438\u043e\u0442 \u043d\u0438\u0437.", "Replace": "\u0421\u043c\u0435\u043d\u0438", "Next": "\u041f\u043e", "Whole words": "\u0426\u0435\u043b\u0438 \u0437\u0431\u043e\u0440\u043e\u0432\u0438", "Find and replace": "\u041d\u0430\u0458\u0434\u0438 \u0438 \u0441\u043c\u0435\u043d\u0438", "Replace with": "\u0421\u043c\u0435\u043d\u0438 \u0441\u043e", "Find": "\u041d\u0430\u0458\u0434\u0438", "Replace all": "\u0421\u043c\u0435\u043d\u0438 \u0441\u00e8", "Match case": "\u0414\u0430 \u0441\u0435 \u0441\u043e\u0432\u043f\u0430\u0453\u0430", "Prev": "\u041f\u0440\u0435\u0434", "Spellcheck": "\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043f\u0440\u0430\u0432\u043e\u043f\u0438\u0441", "Finish": "\u041a\u0440\u0430\u0458", "Ignore all": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u0458 \u0441\u00e8", "Ignore": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u0458", "Add to Dictionary": "\u0414\u043e\u0434\u0430\u0434\u0438 \u0432\u043e \u0440\u0435\u0447\u043d\u0438\u043a", "Insert row before": "\u041d\u043e\u0432 \u0440\u0435\u0434 \u043f\u0440\u0435\u0434", "Rows": "\u0420\u0435\u0434\u043e\u0432\u0438", "Height": "\u0412\u0438\u0441\u0438\u043d\u0430", "Paste row after": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0440\u0435\u0434 \u043f\u043e\u0441\u043b\u0435", "Border color": "\u0411\u043e\u0458\u0430 \u043d\u0430 \u0440\u0430\u043c\u043a\u0430", "Alignment": "\u041f\u043e\u0440\u0430\u043c\u043d\u0443\u0432\u0430\u045a\u0435", "Column group": "\u0413\u0440\u0443\u043f\u0430 \u043a\u043e\u043b\u043e\u043d\u0438", "Row": "\u0420\u0435\u0434", "Insert column before": "\u041d\u043e\u0432\u0430 \u043a\u043e\u043b\u043e\u043d\u0430 \u043f\u0440\u0435\u0434", "Split cell": "\u041f\u043e\u0434\u0435\u043b\u0438 \u045c\u0435\u043b\u0438\u0458\u0430", "Cell padding": "\u041f\u0440\u043e\u0441\u0442\u043e\u0440 \u0432\u043e \u045c\u0435\u043b\u0438\u0458\u0430", "Cell spacing": "\u041f\u0440\u043e\u0441\u0442\u043e\u0440 \u043c\u0435\u0453\u0443 \u045c\u0435\u043b\u0438\u0438", "Row type": "\u0422\u0438\u043f \u043d\u0430 \u0440\u0435\u0434", "Insert table": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0442\u0430\u0431\u0435\u043b\u0430", "Body": "\u0422\u0435\u043b\u043e", "Caption": "\u041d\u0430\u0442\u043f\u0438\u0441", "Footer": "\u041f\u043e\u0434\u043d\u043e\u0436\u0458\u0435", "Delete row": "\u0418\u0437\u0431\u0440\u0438\u0448\u0438 \u0440\u0435\u0434", "Paste row before": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0440\u0435\u0434 \u043f\u0440\u0435\u0434", "Scope": "\u041e\u043f\u0441\u0435\u0433", "Delete table": "\u0418\u0437\u0431\u0440\u0438\u0448\u0438 \u0442\u0430\u0431\u0435\u043b\u0430", "H Align": "\u0425\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u043e \u043f\u043e\u0440\u0430\u043c\u043d\u0443\u0432\u0430\u045a\u0435", "Top": "\u0413\u043e\u0440\u0435", "Header cell": "\u041d\u0430\u0441\u043b\u043e\u0432\u043d\u0430 \u045c\u0435\u043b\u0438\u0458\u0430", "Column": "\u041a\u043e\u043b\u043e\u043d\u0430", "Row group": "\u0413\u0440\u0443\u043f\u0430 \u0440\u0435\u0434\u043e\u0432\u0438", "Cell": "\u040c\u0435\u043b\u0438\u0458\u0430", "Middle": "\u0421\u0440\u0435\u0434\u0438\u043d\u0430", "Cell type": "\u0422\u0438\u043f \u043d\u0430 \u045c\u0435\u043b\u0438\u0458\u0430", "Copy row": "\u041a\u043e\u043f\u0438\u0440\u0430\u0458 \u0440\u0435\u0434", "Row properties": "\u041a\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043d\u0430 \u0440\u0435\u0434", "Table properties": "\u041a\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043d\u0430 \u0442\u0430\u0431\u0435\u043b\u0430", "Bottom": "\u0414\u043e\u043b\u0443", "V Align": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u043d\u043e \u043f\u043e\u0440\u0430\u043c\u043d\u0443\u0432\u0430\u045a\u0435", "Header": "\u041d\u0430\u0441\u043b\u043e\u0432", "Right": "\u0414\u0435\u0441\u043d\u043e", "Insert column after": "\u041d\u043e\u0432\u0430 \u043a\u043e\u043b\u043e\u043d\u0430 \u043f\u043e", "Cols": "\u041a\u043e\u043b\u043e\u043d\u0438", "Insert row after": "\u041d\u043e\u0432 \u0440\u0435\u0434 \u043f\u043e", "Width": "\u0428\u0438\u0440\u0438\u043d\u0430", "Cell properties": "\u041a\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438\u0441\u0442\u0438\u043a\u0438 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430", "Left": "\u041b\u0435\u0432\u043e", "Cut row": "\u041e\u0442\u0441\u0435\u0447\u0438 \u0440\u0435\u0434", "Delete column": "\u0418\u0437\u0431\u0440\u0438\u0448\u0438 \u043a\u043e\u043b\u043e\u043d\u0430", "Center": "\u0426\u0435\u043d\u0442\u0430\u0440", "Merge cells": "\u0421\u043f\u043e\u0438 \u043a\u043e\u043b\u043e\u043d\u0438", "Insert template": "\u0412\u043c\u0435\u0442\u043d\u0438 \u0448\u0430\u0431\u043b\u043e\u043d", "Templates": "\u0428\u0430\u0431\u043b\u043e\u043d\u0438", "Background color": "\u0411\u043e\u0458\u0430 \u043d\u0430 \u043f\u043e\u0437\u0430\u0434\u0438\u043d\u0430", "Custom...": "\u041f\u043e \u0436\u0435\u043b\u0431\u0430", "Custom color": "\u0411\u043e\u0458\u0430 \u043f\u043e \u0436\u0435\u043b\u0431\u0430", "No color": "\u0411\u0435\u0437 \u0431\u043e\u0458\u0430", "Text color": "\u0411\u043e\u0458\u0430 \u043d\u0430 \u0442\u0435\u043a\u0441\u0442", "Show blocks": "\u041f\u0440\u0438\u043a\u0430\u0436\u0438 \u0431\u043b\u043e\u043a\u043e\u0432\u0438", "Show invisible characters": "\u041f\u0440\u0438\u043a\u0430\u0436\u0438 \u043d\u0435\u0432\u0438\u0434\u043b\u0438\u0432\u0438 \u043a\u0430\u0440\u0430\u043a\u0442\u0435\u0440\u0438", "Words: {0}": "\u0417\u0431\u043e\u0440\u043e\u0432\u0438:{0}", "Insert": "\u0412\u043c\u0435\u0442\u043d\u0438", "File": "\u0414\u043e\u043a\u0443\u043c\u0435\u043d\u0442", "Edit": "\u0423\u0440\u0435\u0434\u0443\u0432\u0430\u045a\u0435", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0417\u0431\u043e\u0433\u0430\u0442\u0435\u043d\u043e \u043f\u043e\u043b\u0435 \u0437\u0430 \u0442\u0435\u043a\u0441\u0442. \u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0435\u0442\u0435 ALT-F9 \u0437\u0430 \u043c\u0435\u043d\u0438.\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0435\u0442\u0435 ALT-F10 \u0437\u0430 \u043b\u0435\u043d\u0442\u0430 \u0441\u043e \u0430\u043b\u0430\u0442\u043a\u0438.\u041f\u0440\u0438\u0442\u0438\u0441\u043d\u0435\u0442\u0435 ALT-0 \u0437\u0430 \u043f\u043e\u043c\u043e\u0448", "Preformatted": "\u041f\u0440\u0435\u0434\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d\u043e", "Tools": "\u0410\u043b\u0430\u0442\u043a\u0438", "View": "\u041f\u0440\u0438\u043a\u0430\u0437", "Table": "\u0422\u0430\u0431\u0435\u043b\u0430", "Format": "\u0424\u043e\u0440\u043c\u0430\u0442", "Color": "\u0411\u043e\u0458\u0430", "R": "R", "G": "G", "B": "B", "Rotate counterclockwise": "\u0417\u0430\u0432\u0440\u0442\u0438 \u043e\u0431\u0440\u0430\u0442\u043d\u043e \u043e\u0434 \u0441\u0442\u0440\u0435\u043b\u043a\u0438\u0442\u0435", "Rotate clockwise": "\u0417\u0430\u0432\u0440\u0442\u0438 \u0432\u043e \u043f\u0440\u0430\u0432\u0435\u0446 \u043d\u0430 \u0441\u0442\u0440\u0435\u043b\u043a\u0438\u0442\u0435", "Flip vertically": "\u041f\u0440\u0435\u0432\u0440\u0442\u0438 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u043d\u043e", "Flip horizontally": "\u041f\u0440\u0435\u0432\u0440\u0442\u0438 \u0445\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u043e", "Edit image": "\u0423\u0440\u0435\u0434\u0438 \u0441\u043b\u0438\u043a\u0430", "Image options": "\u041e\u043f\u0446\u0438\u0438 \u0437\u0430 \u0441\u043b\u0438\u043a\u0430", "Zoom in": "\u0417\u0433\u043e\u043b\u0435\u043c\u0438", "Zoom out": "\u041d\u0430\u043c\u0430\u043b\u0438", "Crop": "\u041e\u0442\u0441\u0435\u0447\u0438 \u0434\u0435\u043b", "Resize": "\u0420\u0435\u0434\u0438\u043c\u0435\u043d\u0437\u0438\u043e\u043d\u0438\u0440\u0430\u0458", "Orientation": "\u041d\u0430\u0441\u043e\u0447\u0435\u043d\u043e\u0441\u0442", "Brightness": "\u041e\u0441\u0432\u0435\u0442\u043b\u0443\u0432\u0430\u045a\u0435", "Sharpen": "\u041e\u0441\u0442\u0440\u0438\u043d\u0430", "Contrast": "\u041a\u043e\u043d\u0442\u0440\u0430\u0441\u0442", "Color levels": "\u041d\u0438\u0432\u043e \u043d\u0430 \u0431\u043e\u0438", "Gamma": "\u0413\u0430\u043c\u0430", "Invert": "\u0418\u043d\u0432\u0435\u0440\u0437\u043d\u043e", "Apply": "\u041f\u0440\u0438\u043c\u0435\u043d\u0438", "Back": "\u041d\u0430\u0437\u0430\u0434", "Id": "ID", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "ID \u0442\u0440\u0435\u0431\u0430 \u0434\u0430 \u043f\u043e\u0447\u043d\u0443\u0432\u0430 \u0441\u043e \u0431\u0443\u043a\u0432\u0430, \u0441\u043b\u0435\u0434\u0435\u043d\u0430 \u0441\u0430\u043c\u043e \u043e\u0434 \u0431\u0443\u043a\u0432\u0438, \u0431\u0440\u043e\u0458\u043a\u0438, \u0446\u0440\u0442\u0430, \u0442\u043e\u0447\u043a\u0430, \u0442\u043e\u0447\u043a\u0430-\u0437\u0430\u043f\u0438\u0440\u043a\u0430 \u0438\u043b\u0438 \u043f\u043e\u0434\u0432\u043b\u0435\u0447\u0435\u043d\u043e.", "Insert/Edit code sample": "\u0412\u043c\u0435\u0442\u043d\u0438/\u0423\u0440\u0435\u0434\u0438 \u0438\u0441\u0435\u0447\u043e\u043a \u043e\u0434 \u043a\u043e\u0434", "Language": "\u0408\u0430\u0437\u0438\u043a", "Image": "\u0421\u043b\u0438\u043a\u0430", "Date/time": "\u0414\u0430\u0442\u0443\u043c/\u0412\u0440\u0435\u043c\u0435", "Link": "\u0412\u0440\u0441\u043a\u0430", "Paste or type a link": "\u0412\u043c\u0435\u0442\u043d\u0435\u0442\u0435 \u0458\u0430 \u0438\u043b\u0438 \u0432\u043f\u0438\u0448\u0435\u0442\u0435 \u0458\u0430 \u0432\u0430\u0448\u0430\u0442\u0430 \u0432\u0440\u0441\u043a\u0430", "Insert/Edit Media": "\u0412\u043c\u0435\u0442\u043d\u0438/\u0423\u0440\u0435\u0434\u0438 \u043c\u0435\u0434\u0438\u0458", "Media": "\u041c\u0435\u0434\u0438\u0430", "Table of Contents": "\u0421\u043e\u0434\u0440\u0436\u0438\u043d\u0430" });langs/hr.js000060400000017674152455403670006645 0ustar00tinymce.addI18n('hr',{ "Cut": "Izre\u017ei", "Heading 5": "Naslov 5", "Header 2": "Zaglavlje 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Va\u0161 preglednik ne podr\u017eava direktan pristup me\u0111uspremniku. Molimo Vas da umjesto toga koristite tipkovni\u010dke kratice Ctrl+X\/C\/V.", "Heading 4": "Naslov 4", "Div": "DIV", "Heading 2": "Naslov 2", "Paste": "Zalijepi", "Close": "Zatvori", "Font Family": "Obitelj fonta", "Pre": "PRE", "Align right": "Poravnaj desno", "New document": "Novi dokument", "Blockquote": "BLOCKQUOTE", "Numbered list": "Numerirana lista", "Heading 1": "Naslov 1", "Headings": "Naslovi", "Increase indent": "Pove\u0107aj uvla\u010denje", "Formats": "Formati", "Headers": "Zaglavlja", "Select all": "Ozna\u010di sve", "Header 3": "Zaglavlje 3", "Blocks": "Blokovi", "Undo": "Poni\u0161ti", "Strikethrough": "Crta kroz sredinu", "Bullet list": "Lista", "Header 1": "Zaglavlje 1", "Superscript": "Eksponent", "Clear formatting": "Ukloni oblikovanje", "Font Sizes": "Veli\u010dine fonta", "Subscript": "Indeks", "Header 6": "Zaglavlje 6", "Redo": "Vrati", "Paragraph": "Paragraf", "Ok": "U redu", "Bold": "Podebljano", "Code": "CODE oznaka", "Italic": "Kurziv", "Align center": "Poravnaj po sredini", "Header 5": "Zaglavlje 5", "Heading 6": "Naslov 6", "Heading 3": "Naslov 3", "Decrease indent": "Smanji uvla\u010denje", "Header 4": "Zaglavlje 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Akcija zalijepi od sada lijepi \u010disti tekst. Sadr\u017eaj \u0107e biti zaljepljen kao \u010disti tekst sve dok ne isklju\u010dite ovu opciju.", "Underline": "Crta ispod", "Cancel": "Odustani", "Justify": "Obostrano poravnanje", "Inline": "Unutarnje", "Copy": "Kopiraj", "Align left": "Poravnaj lijevo", "Visual aids": "Vizualna pomo\u0107", "Lower Greek": "Mala gr\u010dka slova", "Square": "Kvadrat", "Default": "Zadano", "Lower Alpha": "Mala slova", "Circle": "Krug", "Disc": "To\u010dka", "Upper Alpha": "Velika slova", "Upper Roman": "Velika rimska slova", "Lower Roman": "Mala rimska slova", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id treba po\u010dinjati slovom, a nakon toga slijede samo slova, brojevi, crtice, to\u010dke, dvoto\u010dke i podvlake.", "Name": "Ime", "Anchor": "Sidro", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "Postoje ne pohranjene izmjene, jeste li sigurni da \u017eelite oti\u0107i?", "Restore last draft": "Vrati posljednju skicu", "Special character": "Poseban znak", "Source code": "Izvorni kod", "Language": "Jezik", "Insert\/Edit code sample": "Umetni\/Uredi primjer k\u00f4da", "B": "B", "R": "R", "G": "G", "Color": "Boja", "Right to left": "S desna na lijevo", "Left to right": "S lijeva na desno", "Emoticons": "Emotikoni", "Robots": "Roboti pretra\u017eiva\u010da", "Document properties": "Svojstva dokumenta", "Title": "Naslov", "Keywords": "Klju\u010dne rije\u010di", "Encoding": "Kodna stranica", "Description": "Opis", "Author": "Autor", "Fullscreen": "Cijeli ekran", "Horizontal line": "Horizontalna linija", "Horizontal space": "Horizontalan razmak", "Insert\/edit image": "Umetni\/izmijeni sliku", "General": "Op\u0107enito", "Advanced": "Napredno", "Source": "Izvor", "Border": "Rub", "Constrain proportions": "Zadr\u017ei proporcije", "Vertical space": "Okomit razmak", "Image description": "Opis slike", "Style": "Stil", "Dimensions": "Dimenzije", "Insert image": "Umetni sliku", "Image": "Slika", "Zoom in": "Pove\u0107aj", "Contrast": "Kontrast", "Back": "Natrag", "Gamma": "Gamma", "Flip horizontally": "Obrni horizontalno", "Resize": "Promjeni veli\u010dinu", "Sharpen": "Izo\u0161travanje", "Zoom out": "Smanji", "Image options": "Opcije slike", "Apply": "Primijeni", "Brightness": "Svjetlina", "Rotate clockwise": "Rotiraj desno", "Rotate counterclockwise": "Rotiraj lijevo", "Edit image": "Uredi sliku", "Color levels": "Razine boje", "Crop": "Obre\u017ei", "Orientation": "Orijentacija", "Flip vertically": "Obrni vertikalno", "Invert": "Invertiraj", "Date\/time": "Datum\/vrijeme", "Insert date\/time": "Umetni datum\/vrijeme", "Remove link": "Ukloni poveznicu", "Url": "Url", "Text to display": "Tekst za prikaz", "Anchors": "Kra\u0107e poveznice", "Insert link": "Umetni poveznicu", "Link": "Link", "New window": "Novi prozor", "None": "Ni\u0161ta", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Izgleda da je URL koji ste upisali vanjski link. \u017delite li dodati obavezan http:\/\/ prefiks?", "Paste or type a link": "Zalijepi ili upi\u0161i link", "Target": "Meta", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Izgleda da je URL koji ste upisali e-mail adresa. \u017delite li dodati obavezan mailto: prefiks?", "Insert\/edit link": "Umetni\/izmijeni poveznicu", "Insert\/edit video": "Umetni\/izmijeni video", "Media": "Media", "Alternative source": "Alternativni izvor", "Paste your embed code below:": "Umetnite va\u0161 kod za ugradnju ispod:", "Insert video": "Umetni video", "Poster": "Poster", "Insert\/edit media": "Umetni\/uredi mediju", "Embed": "Ugradi", "Nonbreaking space": "Neprekidaju\u0107i razmak", "Page break": "Prijelom stranice", "Paste as text": "Zalijepi kao tekst", "Preview": "Pregled", "Print": "Ispis", "Save": "Spremi", "Could not find the specified string.": "Tra\u017eeni tekst nije prona\u0111en", "Replace": "Zamijeni", "Next": "Slijede\u0107i", "Whole words": "Cijele rije\u010di", "Find and replace": "Prona\u0111i i zamijeni", "Replace with": "Zamijeni s", "Find": "Tra\u017ei", "Replace all": "Zamijeni sve", "Match case": "Pazi na mala i velika slova", "Prev": "Prethodni", "Spellcheck": "Provjeri pravopis", "Finish": "Zavr\u0161i", "Ignore all": "Zanemari sve", "Ignore": "Zanemari", "Add to Dictionary": "Dodaj u rje\u010dnik", "Insert row before": "Umetni redak prije", "Rows": "Redci", "Height": "Visina", "Paste row after": "Zalijepi redak nakon", "Alignment": "Poravnanje", "Border color": "Boja ruba", "Column group": "Grupirani stupci", "Row": "Redak", "Insert column before": "Umetni stupac prije", "Split cell": "Razdvoji polja", "Cell padding": "Razmak unutar polja", "Cell spacing": "Razmak izme\u0111u polja", "Row type": "Vrsta redka", "Insert table": "Umetni tablicu", "Body": "Sadr\u017eaj", "Caption": "Natpis", "Footer": "Podno\u017eje", "Delete row": "Izbri\u0161i redak", "Paste row before": "Zalijepi redak prije", "Scope": "Doseg", "Delete table": "Izbri\u0161i tablicu", "H Align": "H Poravnavanje", "Top": "Vrh", "Header cell": "Polje zaglavlja", "Column": "Stupac", "Row group": "Grupirani redci", "Cell": "Polje", "Middle": "Sredina", "Cell type": "Vrsta polja", "Copy row": "Kopiraj redak", "Row properties": "Svojstva redka", "Table properties": "Svojstva tablice", "Bottom": "Dno", "V Align": "V Poravnavanje", "Header": "Zaglavlje", "Right": "Desno", "Insert column after": "Umetni stupac nakon", "Cols": "Stupci", "Insert row after": "Umetni redak nakon", "Width": "\u0160irina", "Cell properties": "Svojstva polja", "Left": "Lijevo", "Cut row": "Izre\u017ei redak", "Delete column": "Izbri\u0161i stupac", "Center": "Sredina", "Merge cells": "Spoji polja", "Insert template": "Umetni predlo\u017eak", "Templates": "Predlo\u0161ci", "Background color": "Boja pozadine", "Custom...": "Prilago\u0111eno...", "Custom color": "Prilago\u0111ena boja", "No color": "Bez boje", "Text color": "Boja teksta", "Table of Contents": "Sadr\u017eaj", "Show blocks": "Prika\u017ei blokove", "Show invisible characters": "Prika\u017ei nevidljive znakove", "Words: {0}": "Rije\u010di: {0}", "Insert": "Umetni", "File": "Datoteka", "Edit": "Izmijeni", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Pritisni ALT-F9 za izbornik. Pritisni ALT-F10 za alatnu traku. Pritisni ALT-0 za pomo\u0107", "Tools": "Alati", "View": "Pogled", "Table": "Tablica", "Format": "Oblikuj" });langs/fr.js000060400000020605152455403670006627 0ustar00tinymce.addI18n('fr',{ "Cut": "Couper", "Heading 5": "En-t\u00eate 5", "Header 2": "Titre 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Votre navigateur ne supporte pas la copie directe. Merci d'utiliser les touches Ctrl+X\/C\/V.", "Heading 4": "En-t\u00eate 4", "Div": "Div", "Heading 2": "En-t\u00eate 2", "Paste": "Coller", "Close": "Fermer", "Font Family": "Police", "Pre": "Pre", "Align right": "Aligner \u00e0 droite", "New document": "Nouveau document", "Blockquote": "Citation", "Numbered list": "Num\u00e9rotation", "Heading 1": "En-t\u00eate 1", "Headings": "En-t\u00eates", "Increase indent": "Augmenter le retrait", "Formats": "Formats", "Headers": "Titres", "Select all": "Tout s\u00e9lectionner", "Header 3": "Titre 3", "Blocks": "Blocs", "Undo": "Annuler", "Strikethrough": "Barr\u00e9", "Bullet list": "Puces", "Header 1": "Titre 1", "Superscript": "Exposant", "Clear formatting": "Effacer la mise en forme", "Font Sizes": "Taille de police", "Subscript": "Indice", "Header 6": "Titre 6", "Redo": "R\u00e9tablir", "Paragraph": "Paragraphe", "Ok": "Ok", "Bold": "Gras", "Code": "Code", "Italic": "Italique", "Align center": "Centrer", "Header 5": "Titre 5", "Heading 6": "En-t\u00eate 6", "Heading 3": "En-t\u00eate 3", "Decrease indent": "Diminuer le retrait", "Header 4": "Titre 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Le presse-papiers est maintenant en mode \"texte plein\". Les contenus seront coll\u00e9s sans retenir les formatages jusqu'\u00e0 ce que vous d\u00e9sactiviez cette option.", "Underline": "Soulign\u00e9", "Cancel": "Annuler", "Justify": "Justifier", "Inline": "En ligne", "Copy": "Copier", "Align left": "Aligner \u00e0 gauche", "Visual aids": "Aides visuelle", "Lower Greek": "Grec minuscule", "Square": "Carr\u00e9", "Default": "Par d\u00e9faut", "Lower Alpha": "Alpha minuscule", "Circle": "Cercle", "Disc": "Disque", "Upper Alpha": "Alpha majuscule", "Upper Roman": "Romain majuscule", "Lower Roman": "Romain minuscule", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "L'Id doit commencer par une lettre suivi par des lettres, nombres, tirets, points, deux-points ou underscores", "Name": "Nom", "Anchor": "Ancre", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "Vous avez des modifications non enregistr\u00e9es, \u00eates-vous s\u00fbr de quitter la page?", "Restore last draft": "Restaurer le dernier brouillon", "Special character": "Caract\u00e8res sp\u00e9ciaux", "Source code": "Code source", "Language": "Langue", "Insert\/Edit code sample": "Ins\u00e9rer \/ modifier une exemple de code", "B": "B", "R": "R", "G": "V", "Color": "Couleur", "Right to left": "Droite \u00e0 gauche", "Left to right": "Gauche \u00e0 droite", "Emoticons": "Emotic\u00f4nes", "Robots": "Robots", "Document properties": "Propri\u00e9t\u00e9 du document", "Title": "Titre", "Keywords": "Mots-cl\u00e9s", "Encoding": "Encodage", "Description": "Description", "Author": "Auteur", "Fullscreen": "Plein \u00e9cran", "Horizontal line": "Ligne horizontale", "Horizontal space": "Espacement horizontal", "Insert\/edit image": "Ins\u00e9rer\/modifier une image", "General": "G\u00e9n\u00e9ral", "Advanced": "Avanc\u00e9", "Source": "Source", "Border": "Bordure", "Constrain proportions": "Conserver les proportions", "Vertical space": "Espacement vertical", "Image description": "Description de l'image", "Style": "Style", "Dimensions": "Dimensions", "Insert image": "Ins\u00e9rer une image", "Image": "Image", "Zoom in": "Zoomer", "Contrast": "Contraste", "Back": "Retour", "Gamma": "Gamma", "Flip horizontally": "Retournement horizontal", "Resize": "Redimensionner", "Sharpen": "Affiner", "Zoom out": "D\u00e9zoomer", "Image options": "Options de l'image", "Apply": "Appliquer", "Brightness": "Luminosit\u00e9", "Rotate clockwise": "Rotation horaire", "Rotate counterclockwise": "Rotation anti-horaire", "Edit image": "Modifier l'image", "Color levels": "Niveaux de couleur", "Crop": "Rogner", "Orientation": "Orientation", "Flip vertically": "Retournement vertical", "Invert": "Inverser", "Date\/time": "Date\/heure", "Insert date\/time": "Ins\u00e9rer date\/heure", "Remove link": "Enlever le lien", "Url": "Url", "Text to display": "Texte \u00e0 afficher", "Anchors": "Ancres", "Insert link": "Ins\u00e9rer un lien", "Link": "Lien", "New window": "Nouvelle fen\u00eatre", "None": "n\/a", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "L'URL que vous avez entr\u00e9e semble \u00eatre un lien externe. Voulez-vous ajouter le pr\u00e9fixe http:\/\/ n\u00e9cessaire?", "Paste or type a link": "Coller ou taper un lien", "Target": "Cible", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "L'URL que vous avez entr\u00e9e semble \u00eatre une adresse e-mail. Voulez-vous ajouter le pr\u00e9fixe mailto: n\u00e9cessaire?", "Insert\/edit link": "Ins\u00e9rer\/modifier un lien", "Insert\/edit video": "Ins\u00e9rer\/modifier une vid\u00e9o", "Media": "M\u00e9dia", "Alternative source": "Source alternative", "Paste your embed code below:": "Collez votre code d'int\u00e9gration ci-dessous :", "Insert video": "Ins\u00e9rer une vid\u00e9o", "Poster": "Publier", "Insert\/edit media": "Ins\u00e9rer\/modifier un m\u00e9dia", "Embed": "Int\u00e9grer", "Nonbreaking space": "Espace ins\u00e9cable", "Page break": "Saut de page", "Paste as text": "Coller comme texte", "Preview": "Pr\u00e9visualiser", "Print": "Imprimer", "Save": "Enregistrer", "Could not find the specified string.": "Impossible de trouver la cha\u00eene sp\u00e9cifi\u00e9e.", "Replace": "Remplacer", "Next": "Suiv", "Whole words": "Mots entiers", "Find and replace": "Trouver et remplacer", "Replace with": "Remplacer par", "Find": "Chercher", "Replace all": "Tout remplacer", "Match case": "Respecter la casse", "Prev": "Pr\u00e9c ", "Spellcheck": "V\u00e9rification orthographique", "Finish": "Finie", "Ignore all": "Tout ignorer", "Ignore": "Ignorer", "Add to Dictionary": "Ajouter au dictionnaire", "Insert row before": "Ins\u00e9rer une ligne avant", "Rows": "Lignes", "Height": "Hauteur", "Paste row after": "Coller la ligne apr\u00e8s", "Alignment": "Alignement", "Border color": "Couleur de la bordure", "Column group": "Groupe de colonnes", "Row": "Ligne", "Insert column before": "Ins\u00e9rer une colonne avant", "Split cell": "Diviser la cellule", "Cell padding": "Espacement interne cellule", "Cell spacing": "Espacement inter-cellulles", "Row type": "Type de ligne", "Insert table": "Ins\u00e9rer un tableau", "Body": "Corps", "Caption": "Titre", "Footer": "Pied", "Delete row": "Effacer la ligne", "Paste row before": "Coller la ligne avant", "Scope": "Etendue", "Delete table": "Supprimer le tableau", "H Align": "Alignement H", "Top": "Haut", "Header cell": "Cellule d'en-t\u00eate", "Column": "Colonne", "Row group": "Groupe de lignes", "Cell": "Cellule", "Middle": "Milieu", "Cell type": "Type de cellule", "Copy row": "Copier la ligne", "Row properties": "Propri\u00e9t\u00e9s de la ligne", "Table properties": "Propri\u00e9t\u00e9s du tableau", "Bottom": "Bas", "V Align": "Alignement V", "Header": "En-t\u00eate", "Right": "Droite", "Insert column after": "Ins\u00e9rer une colonne apr\u00e8s", "Cols": "Colonnes", "Insert row after": "Ins\u00e9rer une ligne apr\u00e8s", "Width": "Largeur", "Cell properties": "Propri\u00e9t\u00e9s de la cellule", "Left": "Gauche", "Cut row": "Couper la ligne", "Delete column": "Effacer la colonne", "Center": "Centr\u00e9", "Merge cells": "Fusionner les cellules", "Insert template": "Ajouter un th\u00e8me", "Templates": "Th\u00e8mes", "Background color": "Couleur d'arri\u00e8re-plan", "Custom...": "Personnalis\u00e9...", "Custom color": "Couleur personnalis\u00e9e", "No color": "Aucune couleur", "Text color": "Couleur du texte", "Table of Contents": "Table des mati\u00e8res", "Show blocks": "Afficher les blocs", "Show invisible characters": "Afficher les caract\u00e8res invisibles", "Words: {0}": "Mots : {0}", "Insert": "Ins\u00e9rer", "File": "Fichier", "Edit": "Editer", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Zone Texte Riche. Appuyer sur ALT-F9 pour le menu. Appuyer sur ALT-F10 pour la barre d'outils. Appuyer sur ALT-0 pour de l'aide.", "Tools": "Outils", "View": "Voir", "Table": "Tableau", "Format": "Format" });langs/ar.js000060400000045575152455403670006637 0ustar00tinymce.addI18n('ar',{ "Cut": "\u0642\u0635", "Heading 5": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a 5", "Header 2": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0645\u062a\u0635\u0641\u062d\u0643 \u0644\u0627 \u064a\u062f\u0639\u0645 \u0627\u0644\u0648\u0635\u0648\u0644 \u0627\u0644\u0645\u0628\u0627\u0634\u0631 \u0625\u0644\u0649 \u0627\u0644\u062d\u0627\u0641\u0638\u0629. \u0627\u0644\u0631\u062c\u0627\u0621 \u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0627\u062e\u062a\u0635\u0627\u0631\u0627\u062a \u0644\u0648\u062d\u0629 \u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d Ctrl+X\/C\/V \u0628\u062f\u0644\u0627 \u0645\u0646 \u0630\u0644\u0643.", "Heading 4": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a 4", "Div": "Div", "Heading 2": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a 2", "Paste": "\u0644\u0635\u0642", "Close": "\u0625\u063a\u0644\u0627\u0642", "Font Family": "\u0645\u062c\u0645\u0648\u0639\u0629 \u0627\u0644\u062e\u0637", "Pre": "\u0633\u0627\u0628\u0642", "Align right": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0627\u0644\u0646\u0635 \u0644\u0644\u064a\u0645\u064a\u0646", "New document": "\u0645\u0633\u062a\u0646\u062f \u062c\u062f\u064a\u062f", "Blockquote": "\u0639\u0644\u0627\u0645\u0627\u062a \u0627\u0644\u0627\u0642\u062a\u0628\u0627\u0633", "Numbered list": "\u062a\u0631\u0642\u064a\u0645", "Heading 1": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a 1", "Headings": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629", "Increase indent": "\u0632\u064a\u0627\u062f\u0629 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062f\u0626\u0629", "Formats": "\u0627\u0644\u062a\u0646\u0633\u064a\u0642\u0627\u062a", "Headers": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646", "Select all": "\u062a\u062d\u062f\u064a\u062f \u0627\u0644\u0643\u0644", "Header 3": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 3", "Blocks": "\u0627\u0644\u0623\u0642\u0633\u0627\u0645", "Undo": "\u062a\u0631\u0627\u062c\u0639", "Strikethrough": "\u064a\u062a\u0648\u0633\u0637 \u062e\u0637", "Bullet list": "\u062a\u0639\u062f\u0627\u062f \u0646\u0642\u0637\u064a", "Header 1": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 1", "Superscript": "\u0645\u0631\u062a\u0641\u0639", "Clear formatting": "\u0645\u0633\u062d \u0627\u0644\u062a\u0646\u0633\u064a\u0642", "Font Sizes": "\u062d\u062c\u0645 \u0627\u0644\u062e\u0637", "Subscript": "\u0645\u0646\u062e\u0641\u0636", "Header 6": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 6", "Redo": "\u0625\u0639\u0627\u062f\u0629", "Paragraph": "\u0641\u0642\u0631\u0629", "Ok": "\u0645\u0648\u0627\u0641\u0642", "Bold": "\u063a\u0627\u0645\u0642", "Code": "\u0631\u0645\u0632", "Italic": "\u0645\u0627\u0626\u0644", "Align center": "\u062a\u0648\u0633\u064a\u0637", "Header 5": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 5", "Heading 6": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a 6", "Heading 3": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646 \u0627\u0644\u0631\u0626\u064a\u0633\u064a 3", "Decrease indent": "\u0625\u0646\u0642\u0627\u0635 \u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0627\u0644\u0628\u0627\u062f\u0626\u0629", "Header 4": "\u0627\u0644\u0639\u0646\u0627\u0648\u064a\u0646 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u064a\u062a\u0645 \u0627\u0644\u0644\u0635\u0642 \u062d\u0627\u0644\u064a\u0627\u064b \u0643\u0646\u0635 \u0639\u0627\u062f\u064a. \u0627\u0644\u0645\u062d\u062a\u0648\u0649 \u0633\u064a\u0628\u0642\u0649 \u0643\u0646\u0635 \u0639\u0627\u062f\u064a \u062d\u062a\u0649 \u062a\u0642\u0648\u0645 \u0628\u062a\u0639\u0637\u064a\u0644 \u0647\u0630\u0627 \u0627\u0644\u062e\u064a\u0627\u0631.", "Underline": "\u062a\u0633\u0637\u064a\u0631", "Cancel": "\u0625\u0644\u063a\u0627\u0621", "Justify": "\u0636\u0628\u0637", "Inline": "\u062e\u0644\u0627\u0644", "Copy": "\u0646\u0633\u062e", "Align left": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0627\u0644\u0646\u0635 \u0644\u0644\u064a\u0633\u0627\u0631", "Visual aids": "\u0627\u0644\u0645\u0639\u064a\u0646\u0627\u062a \u0627\u0644\u0628\u0635\u0631\u064a\u0629", "Lower Greek": "\u062a\u0631\u0642\u064a\u0645 \u064a\u0648\u0646\u0627\u0646\u064a \u0635\u063a\u064a\u0631", "Square": "\u0645\u0631\u0628\u0639", "Default": "\u0627\u0644\u0627\u0641\u062a\u0631\u0627\u0636\u064a", "Lower Alpha": "\u062a\u0631\u0642\u064a\u0645 \u0623\u062e\u0631\u0641 \u0635\u063a\u064a\u0631\u0629", "Circle": "\u062f\u0627\u0626\u0631\u0629", "Disc": "\u0642\u0631\u0635", "Upper Alpha": "\u062a\u0631\u0642\u064a\u0645 \u0623\u062d\u0631\u0641 \u0643\u0628\u064a\u0631\u0629", "Upper Roman": "\u062a\u0631\u0642\u064a\u0645 \u0631\u0648\u0645\u0627\u0646\u064a \u0643\u0628\u064a\u0631", "Lower Roman": "\u062a\u0631\u0642\u064a\u0645 \u0631\u0648\u0645\u0627\u0646\u064a \u0635\u063a\u064a\u0631", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u0631\u0642\u0645 \u0627\u0644\u0645\u0639\u0631\u0641 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0628\u062f\u0623 \u0628\u062d\u0631\u0641\u060c \u064a\u062a\u0628\u0639 \u0641\u0642\u0637 \u0628\u062d\u0631\u0648\u0641 \u0648\u0623\u0631\u0642\u0627\u0645\u060c \u0634\u0631\u0637\u0627\u062a\u060c \u0623\u0648 \u0627\u0644\u0646\u0642\u0627\u0637\u060c \u0627\u0644\u0646\u0642\u0637\u062a\u064a\u0646 \u0623\u0648 \u0627\u0644\u0634\u0631\u0637\u0627\u062a \u0627\u0644\u0633\u0641\u0644\u064a\u0629.", "Name": "\u0627\u0644\u0627\u0633\u0645", "Anchor": "\u0645\u0631\u0633\u0627\u0629", "Id": "\u0631\u0642\u0645 \u0627\u0644\u0645\u0639\u0631\u0641", "You have unsaved changes are you sure you want to navigate away?": "\u0644\u062f\u064a\u0643 \u062a\u063a\u064a\u064a\u0631\u0627\u062a \u0644\u0645 \u064a\u062a\u0645 \u062d\u0641\u0638\u0647\u0627 \u0647\u0644 \u0623\u0646\u062a \u0645\u062a\u0623\u0643\u062f \u0623\u0646\u0643 \u062a\u0631\u063a\u0628 \u0641\u064a \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0628\u0639\u064a\u062f\u0627\u061f", "Restore last draft": "\u0627\u0633\u062a\u0639\u0627\u062f\u0629 \u0623\u062e\u0631 \u0645\u0633\u0648\u062f\u0629", "Special character": "\u0631\u0645\u0632", "Source code": "\u0634\u0641\u0631\u0629 \u0627\u0644\u0645\u0635\u062f\u0631", "Language": "\u0627\u0644\u0644\u063a\u0629", "Insert\/Edit code sample": "\u0625\u062f\u0631\u0627\u062c/\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0643\u0648\u062f", "B": "B", "R": "R", "G": "G", "Color": "\u0627\u0644\u0644\u0648\u0646", "Right to left": "\u0645\u0646 \u0627\u0644\u064a\u0645\u064a\u0646 \u0644\u0644\u064a\u0633\u0627\u0631", "Left to right": "\u0645\u0646 \u0627\u0644\u064a\u0633\u0627\u0631 \u0644\u0644\u064a\u0645\u064a\u0646", "Emoticons": "\u0627\u0644\u0631\u0645\u0648\u0632", "Robots": "\u0627\u0644\u0631\u0648\u0628\u0648\u062a\u0627\u062a", "Document properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0645\u0633\u062a\u0646\u062f", "Title": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646", "Keywords": "\u0643\u0644\u0645\u0627\u062a \u0627\u0644\u0628\u062d\u062b", "Encoding": "\u0627\u0644\u062a\u0631\u0645\u064a\u0632", "Description": "\u0627\u0644\u0648\u0635\u0641", "Author": "\u0627\u0644\u0643\u0627\u062a\u0628", "Fullscreen": "\u0645\u0644\u0621 \u0627\u0644\u0634\u0627\u0634\u0629", "Horizontal line": "\u062e\u0637 \u0623\u0641\u0642\u064a", "Horizontal space": "\u0645\u0633\u0627\u0641\u0629 \u0623\u0641\u0642\u064a\u0629", "Insert\/edit image": "\u0625\u062f\u0631\u0627\u062c\/\u062a\u062d\u0631\u064a\u0631 \u0635\u0648\u0631\u0629", "General": "\u0639\u0627\u0645", "Advanced": "\u062e\u0635\u0627\u0626\u0635 \u0645\u062a\u0642\u062f\u0645\u0647", "Source": "\u0627\u0644\u0645\u0635\u062f\u0631", "Border": "\u062d\u062f\u0648\u062f", "Constrain proportions": "\u0627\u0644\u062a\u0646\u0627\u0633\u0628", "Vertical space": "\u0645\u0633\u0627\u0641\u0629 \u0639\u0645\u0648\u062f\u064a\u0629", "Image description": "\u0648\u0635\u0641 \u0627\u0644\u0635\u0648\u0631\u0629", "Style": "\u0627\u0644\u0646\u0645\u0637 \/ \u0627\u0644\u0634\u0643\u0644", "Dimensions": "\u0627\u0644\u0623\u0628\u0639\u0627\u062f", "Insert image": "\u0625\u062f\u0631\u0627\u062c \u0635\u0648\u0631\u0629", "Image": "\u0627\u0644\u0635\u0648\u0631\u0629", "Zoom in": "\u062a\u0643\u0628\u064a\u0631", "Contrast": "\u0627\u0644\u062a\u0628\u0627\u064a\u0646", "Back": "\u0644\u0644\u062e\u0644\u0641", "Gamma": "\u063a\u0627\u0645\u0627", "Flip horizontally": "\u0627\u0646\u0639\u0643\u0627\u0633 \u0623\u0641\u0642\u064a", "Resize": "\u062a\u063a\u064a\u064a\u0631 \u062d\u062c\u0645", "Sharpen": "\u062d\u0627\u062f\u0629", "Zoom out": "\u062a\u0635\u063a\u064a\u0631", "Image options": "\u0627\u0639\u062f\u0627\u062f\u0627\u062a \u0627\u0644\u0635\u0648\u0631\u0629", "Apply": "\u062a\u0637\u0628\u064a\u0642", "Brightness": "\u0627\u0644\u0625\u0636\u0627\u0621\u0629", "Rotate clockwise": "\u062a\u062f\u0648\u064a\u0631 \u0641\u064a \u0627\u062a\u062c\u0627\u0647 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629", "Rotate counterclockwise": "\u062a\u062f\u0648\u064a\u0631 \u0639\u0643\u0633 \u0627\u062a\u062c\u0627\u0647 \u0639\u0642\u0627\u0631\u0628 \u0627\u0644\u0633\u0627\u0639\u0629", "Edit image": "\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0635\u0648\u0631\u0629", "Color levels": "\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0644\u0648\u0646", "Crop": "\u0642\u0635", "Orientation": "\u0627\u0644\u0645\u062d\u0627\u0630\u0627\u0629", "Flip vertically": "\u0627\u0646\u0639\u0643\u0627\u0633 \u0639\u0627\u0645\u0648\u062f\u064a", "Invert": "\u0639\u0643\u0633", "Date\/time": "\u0627\u0644\u062a\u0627\u0631\u064a\u062e/\u0627\u0644\u0648\u0642\u062a", "Insert date\/time": "\u0625\u062f\u0631\u0627\u062c \u062a\u0627\u0631\u064a\u062e\/\u0648\u0642\u062a", "Remove link": "\u062d\u0630\u0641 \u0627\u0644\u0631\u0627\u0628\u0637", "Url": "\u0627\u0644\u0639\u0646\u0648\u0627\u0646", "Text to display": "\u0627\u0644\u0646\u0635 \u0627\u0644\u0645\u0637\u0644\u0648\u0628 \u0639\u0631\u0636\u0647", "Anchors": "\u0627\u0644\u0645\u0631\u0633\u0627\u0629", "Insert link": "\u0625\u062f\u0631\u0627\u062c \u0631\u0627\u0628\u0637", "Link": "\u0627\u0644\u0631\u0627\u0628\u0637", "New window": "\u0646\u0627\u0641\u0630\u0629 \u062c\u062f\u064a\u062f\u0629", "None": "\u0628\u0644\u0627", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u0646\u062a\u0648\u0642\u0639 \u0627\u0646\u0643 \u0642\u0645\u062a \u0628\u0625\u062f\u0631\u0627\u062c \u0631\u0627\u0628\u0637 \u0644\u0645\u0648\u0642\u0639 \u062e\u0627\u0631\u062c\u064a. \u0647\u0644 \u062a\u0631\u064a\u062f \u0627\u0646 \u0646\u0636\u064a\u0641 \u0627\u0644\u0644\u0627\u062d\u0642\u0629 http:\/\/ \u0644\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064a \u0627\u062f\u062e\u0644\u062a\u0647\u061f", "Paste or type a link": "\u0623\u062f\u062e\u0644 \u0623\u0648 \u0627\u0643\u062a\u0628 \u0627\u0644\u0631\u0627\u0628\u0637", "Target": "\u0627\u0644\u0625\u0637\u0627\u0631 \u0627\u0644\u0647\u062f\u0641", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0627\u0644\u0631\u0627\u0628\u0637 \u0627\u0644\u0630\u064a \u0642\u0645\u062a \u0628\u0625\u062f\u0631\u0627\u062c\u0647 \u064a\u0634\u0627\u0628\u0647 \u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a. \u0647\u0644 \u062a\u0631\u064a\u062f \u0627\u0646 \u062a\u0636\u064a\u0641 \u0627\u0644\u0644\u0627\u062d\u0642\u0629 mailto: \u0645\u0639\u062a\u0628\u0631\u0627\u064b \u0647\u0630\u0627 \u0627\u0644\u0631\u0627\u0628\u0637 \u0628\u0631\u064a\u062f\u0627 \u0627\u0644\u0643\u062a\u0631\u0648\u0646\u064a\u0627\u064b\u061f", "Insert\/edit link": "\u0625\u062f\u0631\u0627\u062c\/\u062a\u062d\u0631\u064a\u0631 \u0631\u0627\u0628\u0637", "Insert\/edit video": "\u0625\u062f\u0631\u0627\u062c\/\u062a\u062d\u0631\u064a\u0631 \u0641\u064a\u062f\u064a\u0648", "Media": "\u0627\u0644\u0648\u0633\u0627\u0626\u0637 \u0627\u0644\u0645\u062a\u0639\u062f\u062f\u0629", "Alternative source": "\u0645\u0635\u062f\u0631 \u0628\u062f\u064a\u0644", "Paste your embed code below:": "\u0644\u0635\u0642 \u0643\u0648\u062f \u0627\u0644\u062a\u0636\u0645\u064a\u0646 \u0647\u0646\u0627:", "Insert video": "\u0625\u062f\u0631\u0627\u062c \u0641\u064a\u062f\u064a\u0648", "Poster": "\u0645\u0644\u0635\u0642", "Insert\/edit media": "\u0625\u062f\u0631\u0627\u062c/\u062a\u062d\u0631\u064a\u0631 \u0627\u0644\u0648\u0633\u0627\u0626\u0637 \u0627\u0644\u0645\u062a\u0639\u062f\u062f\u0629", "Embed": "\u062a\u0636\u0645\u064a\u0646", "Nonbreaking space": "\u0645\u0633\u0627\u0641\u0629 \u063a\u064a\u0631 \u0645\u0646\u0642\u0633\u0645\u0629", "Page break": "\u0641\u0627\u0635\u0644 \u0644\u0644\u0635\u0641\u062d\u0629", "Paste as text": "\u0644\u0635\u0642 \u0643\u0646\u0635", "Preview": "\u0645\u0639\u0627\u064a\u0646\u0629", "Print": "\u0637\u0628\u0627\u0639\u0629", "Save": "\u062d\u0641\u0638", "Could not find the specified string.": "\u062a\u0639\u0630\u0631 \u0627\u0644\u0639\u062b\u0648\u0631 \u0639\u0644\u0649 \u0627\u0644\u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u062d\u062f\u062f\u0629", "Replace": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644", "Next": "\u0627\u0644\u062a\u0627\u0644\u064a", "Whole words": "\u0645\u0637\u0627\u0628\u0642\u0629 \u0627\u0644\u0643\u0644\u0645\u0627\u062a \u0628\u0627\u0644\u0643\u0627\u0645\u0644", "Find and replace": "\u0628\u062d\u062b \u0648\u0627\u0633\u062a\u0628\u062f\u0627\u0644", "Replace with": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0628\u0640", "Find": "\u0628\u062d\u062b", "Replace all": "\u0627\u0633\u062a\u0628\u062f\u0627\u0644 \u0627\u0644\u0643\u0644", "Match case": "\u0645\u0637\u0627\u0628\u0642\u0629 \u062d\u0627\u0644\u0629 \u0627\u0644\u0623\u062d\u0631\u0641", "Prev": "\u0627\u0644\u0633\u0627\u0628\u0642", "Spellcheck": "\u062a\u062f\u0642\u064a\u0642 \u0625\u0645\u0644\u0627\u0626\u064a", "Finish": "\u0627\u0646\u062a\u0647\u064a", "Ignore all": "\u062a\u062c\u0627\u0647\u0644 \u0627\u0644\u0643\u0644", "Ignore": "\u062a\u062c\u0627\u0647\u0644", "Add to Dictionary": "\u0627\u0636\u0641 \u0627\u0644\u064a \u0627\u0644\u0642\u0627\u0645\u0648\u0633", "Insert row before": "\u0625\u062f\u0631\u0627\u062c \u0635\u0641 \u0644\u0644\u0623\u0639\u0644\u0649", "Rows": "\u0639\u062f\u062f \u0627\u0644\u0635\u0641\u0648\u0641", "Height": "\u0627\u0631\u062a\u0641\u0627\u0639", "Paste row after": "\u0644\u0635\u0642 \u0627\u0644\u0635\u0641 \u0644\u0644\u0623\u0633\u0641\u0644", "Alignment": "\u0645\u062d\u0627\u0630\u0627\u0629", "Border color": "\u0644\u0648\u0646 \u0627\u0644\u0625\u0637\u0627\u0631", "Column group": "\u0645\u062c\u0645\u0648\u0639\u0629 \u0639\u0645\u0648\u062f", "Row": "\u0635\u0641", "Insert column before": "\u0625\u062f\u0631\u0627\u062c \u0639\u0645\u0648\u062f \u0644\u0644\u064a\u0633\u0627\u0631", "Split cell": "\u062a\u0642\u0633\u064a\u0645 \u0627\u0644\u062e\u0644\u0627\u064a\u0627", "Cell padding": "\u062a\u0628\u0627\u0639\u062f \u0627\u0644\u062e\u0644\u064a\u0629", "Cell spacing": "\u0627\u0644\u0645\u0633\u0627\u0641\u0629 \u0628\u064a\u0646 \u0627\u0644\u062e\u0644\u0627\u064a\u0627", "Row type": "\u0646\u0648\u0639 \u0627\u0644\u0635\u0641", "Insert table": "\u0625\u062f\u0631\u0627\u062c \u062c\u062f\u0648\u0644", "Body": "\u0647\u064a\u0643\u0644", "Caption": "\u0634\u0631\u062d", "Footer": "\u062a\u0630\u064a\u064a\u0644", "Delete row": "\u062d\u0630\u0641 \u0635\u0641", "Paste row before": "\u0644\u0635\u0642 \u0627\u0644\u0635\u0641 \u0644\u0644\u0623\u0639\u0644\u0649", "Scope": "\u0627\u0644\u0645\u062c\u0627\u0644", "Delete table": "\u062d\u0630\u0641 \u062c\u062f\u0648\u0644", "H Align": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0623\u0641\u0642\u064a\u0629", "Top": "\u0623\u0639\u0644\u064a", "Header cell": "\u0631\u0623\u0633 \u0627\u0644\u062e\u0644\u064a\u0629", "Column": "\u0639\u0645\u0648\u062f", "Row group": "\u0645\u062c\u0645\u0648\u0639\u0629 \u0635\u0641", "Cell": "\u062e\u0644\u064a\u0629", "Middle": "\u0627\u0644\u0648\u0633\u0637", "Cell type": "\u0646\u0648\u0639 \u0627\u0644\u062e\u0644\u064a\u0629", "Copy row": "\u0646\u0633\u062e \u0627\u0644\u0635\u0641", "Row properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u0635\u0641", "Table properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u062c\u062f\u0648\u0644", "Bottom": "\u0627\u0644\u0623\u0633\u0641\u0644", "V Align": "\u0645\u062d\u0627\u0630\u0627\u0629 \u0631\u0623\u0633\u064a\u0629", "Header": "\u0627\u0644\u0631\u0623\u0633", "Right": "\u064a\u0645\u064a\u0646", "Insert column after": "\u0625\u062f\u0631\u0627\u062c \u0639\u0645\u0648\u062f \u0644\u0644\u064a\u0645\u064a\u0646", "Cols": "\u0639\u062f\u062f \u0627\u0644\u0623\u0639\u0645\u062f\u0629", "Insert row after": "\u0625\u062f\u0631\u0627\u062c \u0635\u0641 \u0644\u0644\u0623\u0633\u0641\u0644", "Width": "\u0639\u0631\u0636", "Cell properties": "\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u062e\u0644\u064a\u0629", "Left": "\u064a\u0633\u0627\u0631", "Cut row": "\u0642\u0635 \u0627\u0644\u0635\u0641", "Delete column": "\u062d\u0630\u0641 \u0639\u0645\u0648\u062f", "Center": "\u062a\u0648\u0633\u064a\u0637", "Merge cells": "\u062f\u0645\u062c \u062e\u0644\u0627\u064a\u0627", "Insert template": "\u0625\u062f\u0631\u0627\u062c \u0642\u0627\u0644\u0628", "Templates": "\u0642\u0648\u0627\u0644\u0628", "Background color": "\u0644\u0648\u0646 \u0627\u0644\u062e\u0644\u0641\u064a\u0629", "Custom...": "\u062a\u062e\u0635\u064a\u0635 ...", "Custom color": "\u0644\u0648\u0646 \u0645\u062e\u0635\u0635", "No color": "\u0628\u062f\u0648\u0646 \u0644\u0648\u0646", "Text color": "\u0644\u0648\u0646 \u0627\u0644\u0646\u0635", "Table of Contents": "\u062c\u062f\u0648\u0644 \u0627\u0644\u0645\u062d\u062a\u0648\u064a\u0627\u062a", "Show blocks": "\u0645\u0634\u0627\u0647\u062f\u0629 \u0627\u0644\u0643\u062a\u0644", "Show invisible characters": "\u0623\u0638\u0647\u0631 \u0627\u0644\u0623\u062d\u0631\u0641 \u0627\u0644\u063a\u064a\u0631 \u0645\u0631\u0626\u064a\u0629", "Words: {0}": "\u0627\u0644\u0643\u0644\u0645\u0627\u062a:{0}", "Insert": "\u0625\u062f\u0631\u0627\u062c", "File": "\u0645\u0644\u0641", "Edit": "\u062a\u062d\u0631\u064a\u0631", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0645\u0646\u0637\u0642\u0629 \u0646\u0635 \u0645\u0646\u0633\u0642. \u0627\u0636\u063a\u0637 ALT-F9 \u0644\u0644\u0642\u0627\u0626\u0645\u0629. \u0627\u0636\u063a\u0637 ALT-F10 \u0644\u0634\u0631\u064a\u0637 \u0627\u0644\u0623\u062f\u0648\u0627\u062a. \u0627\u0636\u063a\u0637 ALT-0 \u0644\u0644\u062d\u0635\u0648\u0644 \u0639\u0644\u0649 \u0645\u0633\u0627\u0639\u062f\u0629", "Tools": "\u0623\u062f\u0627\u0648\u0627\u062a", "View": "\u0639\u0631\u0636", "Table": "\u062c\u062f\u0648\u0644", "Format": "\u062a\u0646\u0633\u064a\u0642", "_dir": "rtl" });langs/af.js000060400000016776152455403670006624 0ustar00tinymce.addI18n('af',{ "Cut": "Knip", "Heading 5": "Hooflyn 5", "Header 2": "Hooflyn 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Jou webblaaier ondersteun nie toegang tot die knipbord nie. Gebruik asb. Ctrl+X\/C\/V.", "Heading 4": "Hooflyn 4", "Div": "Div", "Heading 2": "Hooflyn 2", "Paste": "Plak", "Close": "Sluit", "Font Family": "Font Familie", "Pre": "Pre", "Align right": "Regs-gerig", "New document": "Nuwe dokument", "Blockquote": "Aanhaaling", "Numbered list": "Genommerde lys", "Heading 1": "Hooflyn 1", "Headings": "Koppe", "Increase indent": "Inkeping vergroot", "Formats": "Formate", "Headers": "Hooflyn-tekste", "Select all": "Alles selekteer", "Header 3": "Hooflyn 3", "Blocks": "Blok", "Undo": "Ongedaan maak", "Strikethrough": "Deurhaal", "Bullet list": "Opsommingsteken-lys", "Header 1": "Hooflyn 1", "Superscript": "Superskrif", "Clear formatting": "Herstel Formateering", "Font Sizes": "Tekengrootte", "Subscript": "Subskrif", "Header 6": "Hooflyn 6", "Redo": "Herdoen", "Paragraph": "Paragraaf", "Ok": "OK", "Bold": "Vetdruk", "Code": "Kode", "Italic": "Kursief", "Align center": "Sentreer", "Header 5": "Hooflyn 5", "Heading 6": "Hooflyn 6", "Heading 3": "Hooflyn 3", "Decrease indent": "Inkeping verklein", "Header 4": "Hooflyn 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Die plak funksie is nou in plat-teks modus. Teks word ingevoeg sonder enige formateering, todat jy hierdie opsie wissel.", "Underline": "Onderlyn", "Cancel": "Kanselleer", "Justify": "Gerigstelling", "Inline": "Inlyn", "Copy": "Kopieer", "Align left": "Linksgerig", "Visual aids": "Hulpmiddels", "Lower Greek": "Griekse letters", "Square": "Vierkantjie", "Default": "Verstek", "Lower Alpha": "Klein letters", "Circle": "Sirkeltjie", "Disc": "Balletjie", "Upper Alpha": "Hoofletters", "Upper Roman": "Romeinse syfers groot", "Lower Roman": "Romeinse syfers klein", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id moet met 'n letter begin en kan slegs deur letters, koppeltekens, syfers, punte en onderstreep-karakters gevolg word", "Name": "Naam", "Anchor": "Anker", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "Jy het ongestoorde wysigings op hierdier bladsy - is jy seker dat jy die bladsy wil verlaat?", "Restore last draft": "Herstel die laatste konsep", "Special character": "Spesiaale karakter", "Source code": "Bronkode", "Language": "Taal", "Insert\/Edit code sample": "Voeg\/Redigeer voorbeeld-kode", "B": "Blou", "R": "Rooi", "G": "Groen", "Color": "Kleur", "Right to left": "Regs na links", "Left to right": "Links na regs", "Emoticons": "Emotikons", "Robots": "Robotte", "Document properties": "Dokument eienskappe", "Title": "Titel", "Keywords": "Sleutelwoorde", "Encoding": "Kodering", "Description": "Beskrywing", "Author": "Outeur", "Fullscreen": "Voll-skerm", "Horizontal line": "Horisontale lyn", "Horizontal space": "Horisontale ruimte", "Insert\/edit image": "Afbeelding invoeg\/bewerk", "General": "Algemeen", "Advanced": "Gevorderd", "Source": "Bron", "Border": "Rand", "Constrain proportions": "Behou verhoudings", "Vertical space": "Vertikale ruimte", "Image description": "Afbeelding bemskrywing", "Style": "Styl", "Dimensions": "Afmetings", "Insert image": "Afbeelding invoeg", "Image": "Afbeelding", "Zoom in": "Inzoem", "Contrast": "Kontras", "Back": "Terug", "Gamma": "Gamma", "Flip horizontally": "Horisontaal weerspie\u00ebl", "Resize": "Grootte wysig", "Sharpen": "Verskerp", "Zoom out": "Uitzoem", "Image options": "Afbeelding opsies", "Apply": "Toepas", "Brightness": "Helderheid", "Rotate clockwise": "Regsom draai", "Rotate counterclockwise": "Linksom draai", "Edit image": "Bewerk afbeelding", "Color levels": "Kleurvlakke", "Crop": "Afknip", "Orientation": "Orienteering", "Flip vertically": "Vertikaal weerspie\u00ebl", "Invert": "Omkeer", "Date\/time": "Datum\/tyd", "Insert date\/time": "Voeg datum\/tyd in", "Remove link": "Skakel verwyder", "Url": "URL", "Text to display": "Skakelteks", "Anchors": "Anker", "Insert link": "Skakel invoeg", "Link":"Skakel", "New window": "Nuwe venster", "None": "Geen", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Die URL verwys na 'n eksterne adres. Wil jy die \"http:\/\/\" voorvoegsel byvoeg?", "Paste or type a link": "Plak of tik 'n skalel in", "Target": "Teiken", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Die URL lyk soos 'n eposadres. Wil jy die \"mailto:\" voorvoegsel byvoeg?", "Insert\/edit link": "Skakel invoeg\/bewerk", "Insert\/edit video": "Video invoeg\/bewerk", "Poster": "Plakaat", "Insert\/edit media": "Voeg in\/Redigeer media", "Media": "Media", "Alternative source": "Alternatiewe bron", "Paste your embed code below:": "Plak jou ingesluite kode hieronder in:", "Insert video": "Video invoeg", "Embed": "Insluit", "Nonbreaking space": "Vaste spasie invoeg", "Page break": "Nuwe Bladsy", "Paste as text": "As teks plak", "Preview": "Voorbeeld", "Print": "Druk", "Save": "Stoor", "Could not find the specified string.": "Kon nie die gesoekde string vind nie", "Replace": "Vervang", "Next": "Volgende", "Whole words": "Sleg hele woorde", "Find and replace": "Soek-en-Vervang", "Replace with": "Vervang met", "Find": "Soek", "Replace all": "Alles vervang", "Match case": "Kassensitief", "Prev": "Vorige", "Spellcheck": "Speltoets", "Finish": "Einde", "Ignore all": "Alles ignoreer", "Ignore": "Ignoreer", "Add to Dictionary": "Aan woordelys byvoeg", "Insert row before": "Voeg nuwe ry boaan", "Rows": "Rye", "Height": "Hoogte", "Paste row after": "Plak ry onder", "Alignment": "Gerigdheid", "Border color": "Randkleur", "Column group": "Kolomgroep", "Row": "Ry", "Insert column before": "Voeg kolom vooraan", "Split cell": "Split sel", "Cell padding": "Ruimte binnein sel", "Cell spacing": "Ruimte rondom sel", "Row type": "Ry tipe", "Insert table": "Tabel invoeg", "Body": "Tabel Inhoud", "Caption": "Onderskrif", "Footer": "Voetskrif", "Delete row": "Verwyder ry", "Paste row before": "Plak ry vooraan", "Scope": "Bereik", "Delete table": "Verwyder tabel", "H Align": "Horisontaal-gerigdheid", "Top": "Bo", "Header cell": "Kop sel", "Column": "Kolom", "Row group": "Rygroep", "Cell": "Sel", "Middle": "Sentreer", "Cell type": "Seltipe", "Copy row": "Kopieer ry", "Row properties": "Ry eienskappe", "Table properties": "Tabel eienskappe", "Bottom": "Onder", "V Align": "Vertikaal-rerigdheid", "Header": "Kopteks", "Right": "Regs", "Insert column after": "Voeg kolom na", "Cols": "Kolomme", "Insert row after": "Voeg ry onderaan", "Width": "Breedte", "Cell properties": "Sel eienskappe", "Left": "Links", "Cut row": "Knip ry", "Delete column": "Verwyder kolom", "Center": "Middel", "Merge cells": "Selle saamvoeg", "Insert template": "Sjabloon invoeg", "Templates": "Sjablone", "Background color": "Agtergrondkleur", "Custom...": "Pasgemaakte...", "Custom color": "Pasgemaakte kleur", "No color": "Geen kleur", "Text color": "Tekskleur", "Table of Contents":"Inhouds-opgawe", "Show blocks": "Blokke vertoon", "Show invisible characters": "Onsigbare karakters vertoon", "Words: {0}": "Woorde: {0}", "Insert": "Invoeg", "File": "L\u00eaer", "Edit": "Bewerk", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Ryk Teks Area. Druk ALT-F9 vir menu, ALT-F10 vir die nutsbalk, ALT-0 vir hulp.", "Tools": "Gereedskap", "View": "Beeld", "Table": "Tabel", "Format": "Formateering" }); langs/pt-PT.js000060400000021042152455403670007160 0ustar00tinymce.addI18n('pt-PT',{ "Cut": "Cortar", "Heading 5": "T\u00edtulo 5", "Header 2": "Cabe\u00e7alho 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "O seu navegador n\u00e3o suporta acesso direto \u00e0 \u00e1rea de transfer\u00eancia. Por favor use os atalhos Ctrl+X\/C\/V do seu teclado.", "Heading 4": "T\u00edtulo 4", "Div": "Div", "Heading 2": "T\u00edtulo 2", "Paste": "Colar", "Close": "Fechar", "Font Family": "Fonte", "Pre": "Pre", "Align right": "Alinhar \u00e0 direita", "New document": "Novo documento", "Blockquote": "Cita\u00e7\u00e3o em bloco", "Numbered list": "Lista numerada", "Heading 1": "T\u00edtulo 1", "Headings": "T\u00edtulos", "Increase indent": "Aumentar avan\u00e7o", "Formats": "Formatos", "Headers": "Cabe\u00e7alhos", "Select all": "Selecionar tudo", "Header 3": "Cabe\u00e7alho 3", "Blocks": "Blocos", "Undo": "Desfazer", "Strikethrough": "Rasurado", "Bullet list": "Lista com marcadores", "Header 1": "Cabe\u00e7alho 1", "Superscript": "Superior \u00e0 linha", "Clear formatting": "Limpar formata\u00e7\u00e3o", "Font Sizes": "Tamanhos", "Subscript": "Inferior \u00e0 linha", "Header 6": "Cabe\u00e7alho 6", "Redo": "Refazer", "Paragraph": "Par\u00e1grafo", "Ok": "Ok", "Bold": "Negrito", "Code": "C\u00f3digo", "Italic": "It\u00e1lico", "Align center": "Alinhar ao centro", "Header 5": "Cabe\u00e7alho 5", "Heading 6": "T\u00edtulo 6", "Heading 3": "T\u00edtulo 3", "Decrease indent": "Diminuir avan\u00e7o", "Header 4": "Cabe\u00e7alho 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "O comando colar est\u00e1 em modo de texto simples. O conte\u00fado ser\u00e1 colado como texto simples at\u00e9 desativar esta op\u00e7\u00e3o.", "Underline": "Sublinhado", "Cancel": "Cancelar", "Justify": "Justificado", "Inline": "Na linha", "Copy": "Copiar", "Align left": "Alinhar \u00e0 esquerda", "Visual aids": "Ajuda visual", "Lower Greek": "\\u03b1. \\u03b2. \\u03b3. ...", "Square": "Quadrado", "Default": "Padr\u00e3o", "Lower Alpha": "a. b. c. ...", "Circle": "C\u00edrculo", "Disc": "Disco", "Upper Alpha": "A. B. C. ...", "Upper Roman": "I. II. III. ...", "Lower Roman": "i. ii. iii. ...", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "O ID deve come\u00e7ar com uma letra, seguido por letras, n\u00fameros, tra\u00e7os, pontos, dois pontos ou sobtra\u00e7os.", "Name": "Nome", "Anchor": "\u00c2ncora", "Id": "ID", "You have unsaved changes are you sure you want to navigate away?": "Existem altera\u00e7\u00f5es que ainda n\u00e3o foram guardadas. Tem a certeza que pretende sair?", "Restore last draft": "Restaurar o \u00faltimo rascunho", "Special character": "Car\u00e1cter especial", "Source code": "C\u00f3digo fonte", "Language": "Idioma", "Insert\/Edit code sample": "Inserir\/editar amostra de c\u00f3digo", "B": "B", "R": "R", "G": "G", "Color": "Cor", "Right to left": "Da direita para a esquerda", "Left to right": "Da esquerda para a direita", "Emoticons": "Emo\u00e7\u00f5es", "Robots": "Rob\u00f4s", "Document properties": "Propriedades do documento", "Title": "T\u00edtulo", "Keywords": "Palavras-chave", "Encoding": "Codifica\u00e7\u00e3o", "Description": "Descri\u00e7\u00e3o", "Author": "Autor", "Fullscreen": "Ecr\u00e3 completo", "Horizontal line": "Linha horizontal", "Horizontal space": "Espa\u00e7amento horizontal", "Insert\/edit image": "Inserir\/editar imagem", "General": "Geral", "Advanced": "Avan\u00e7ado", "Source": "Localiza\u00e7\u00e3o", "Border": "Contorno", "Constrain proportions": "Manter propor\u00e7\u00f5es", "Vertical space": "Espa\u00e7amento vertical", "Image description": "Descri\u00e7\u00e3o da imagem", "Style": "Estilo", "Dimensions": "Dimens\u00f5es", "Insert image": "Inserir imagem", "Image": "Imagem", "Zoom in": "Mais zoom", "Contrast": "Contraste", "Back": "Voltar", "Gamma": "Gama", "Flip horizontally": "Inverter horizontalmente", "Resize": "Redimensionar", "Sharpen": "Mais nitidez", "Zoom out": "Menos zoom", "Image options": "Op\u00e7\u00f5es de imagem", "Apply": "Aplicar", "Brightness": "Brilho", "Rotate clockwise": "Rota\u00e7\u00e3o hor\u00e1ria", "Rotate counterclockwise": "Rota\u00e7\u00e3o anti-hor\u00e1ria", "Edit image": "Editar imagem", "Color levels": "N\u00edveis de cor", "Crop": "Recortar", "Orientation": "Orienta\u00e7\u00e3o", "Flip vertically": "Inverter verticalmente", "Invert": "Inverter", "Date\/time": "Data\/hora", "Insert date\/time": "Inserir data\/hora", "Remove link": "Remover liga\u00e7\u00e3o", "Url": "URL", "Text to display": "Texto a exibir", "Anchors": "\u00c2ncora", "Insert link": "Inserir liga\u00e7\u00e3o", "Link": "Liga\u00e7\u00e3o", "New window": "Nova janela", "None": "Nenhum", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "O URL que indicou parece ser um endere\u00e7o web. Quer adicionar o prefixo http:\/\/ tal como necess\u00e1rio?", "Paste or type a link": "Copiar ou escrever uma hiperliga\u00e7\u00e3o", "Target": "Alvo", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "O URL que indicou parece ser um endere\u00e7o de email. Quer adicionar o prefixo mailto: tal como necess\u00e1rio?", "Insert\/edit link": "Inserir\/editar liga\u00e7\u00e3o", "Insert\/edit video": "Inserir\/editar v\u00eddeo", "Media": "Media", "Alternative source": "Localiza\u00e7\u00e3o alternativa", "Paste your embed code below:": "Colar c\u00f3digo para embeber:", "Insert video": "Inserir v\u00eddeo", "Poster": "Autor", "Insert\/edit media": "Inserir\/editar media", "Embed": "Embeber", "Nonbreaking space": "Espa\u00e7o n\u00e3o quebr\u00e1vel", "Page break": "Quebra de p\u00e1gina", "Paste as text": "Colar como texto", "Preview": "Pr\u00e9-visualizar", "Print": "Imprimir", "Save": "Guardar", "Could not find the specified string.": "N\u00e3o foi poss\u00edvel localizar o termo especificado.", "Replace": "Substituir", "Next": "Pr\u00f3ximo", "Whole words": "Palavras completas", "Find and replace": "Pesquisar e substituir", "Replace with": "Substituir por", "Find": "Pesquisar", "Replace all": "Substituir tudo", "Match case": "Diferenciar mai\u00fasculas e min\u00fasculas", "Prev": "Anterior", "Spellcheck": "Corretor ortogr\u00e1fico", "Finish": "Concluir", "Ignore all": "Ignorar tudo", "Ignore": "Ignorar", "Add to Dictionary": "Adicionar ao dicion\u00e1rio", "Insert row before": "Inserir linha antes", "Rows": "Linhas", "Height": "Altura", "Paste row after": "Colar linha depois", "Alignment": "Alinhamento", "Border color": "Cor de contorno", "Column group": "Agrupar coluna", "Row": "Linha", "Insert column before": "Inserir coluna antes", "Split cell": "Dividir c\u00e9lula", "Cell padding": "Espa\u00e7amento interno da c\u00e9lula", "Cell spacing": "Espa\u00e7amento entre c\u00e9lulas", "Row type": "Tipo de linha", "Insert table": "Inserir tabela", "Body": "Corpo", "Caption": "Legenda", "Footer": "Rodap\u00e9", "Delete row": "Eliminar linha", "Paste row before": "Colar linha antes", "Scope": "Escopo", "Delete table": "Eliminar tabela", "H Align": "Alinhamento H", "Top": "Superior", "Header cell": "C\u00e9lula de cabe\u00e7alho", "Column": "Coluna", "Row group": "Agrupar linha", "Cell": "C\u00e9lula", "Middle": "Meio", "Cell type": "Tipo de c\u00e9lula", "Copy row": "Copiar linha", "Row properties": "Propriedades da linha", "Table properties": "Propriedades da tabela", "Bottom": "Inferior", "V Align": "Alinhamento V", "Header": "Cabe\u00e7alho", "Right": "Direita", "Insert column after": "Inserir coluna depois", "Cols": "Colunas", "Insert row after": "Inserir linha depois", "Width": "Largura", "Cell properties": "Propriedades da c\u00e9lula", "Left": "Esquerda", "Cut row": "Cortar linha", "Delete column": "Eliminar coluna", "Center": "Centro", "Merge cells": "Unir c\u00e9lulas", "Insert template": "Inserir modelo", "Templates": "Modelos", "Background color": "Cor de fundo", "Custom...": "Personalizada...", "Custom color": "Cor personalizada", "No color": "Sem cor", "Text color": "Cor do texto", "Table of Contents": "\u00cdndice", "Show blocks": "Mostrar blocos", "Show invisible characters": "Mostrar caracteres invis\u00edveis", "Words: {0}": "Palavras: {0}", "Insert": "Inserir", "File": "Ficheiro", "Edit": "Editar", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Caixa de texto formatado. Pressione ALT-F9 para exibir o menu. Pressione ALT-F10 para exibir a barra de ferramentas. Pressione ALT-0 para exibir a ajuda", "Tools": "Ferramentas", "View": "Ver", "Table": "Tabela", "Format": "Formatar" });langs/ga.js000060400000022043152455403670006605 0ustar00tinymce.addI18n('ga',{ "Cut": "Gearr", "Heading 5": "Ceannteideal 5", "Header 2": "Ceannt\u00e1sc 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "N\u00ed f\u00e9idir le do bhrabhs\u00e1la\u00ed teacht go d\u00edreach ar an ngearrthaisce. Bain \u00fas\u00e1id as na haicearra\u00ed Ctrl+X\/C\/V. ", "Heading 4": "Ceannteideal 4", "Div": "Deighilt", "Heading 2": "Ceannteideal 2", "Paste": "Greamaigh", "Close": "D\u00fan", "Font Family": "Cl\u00f3fhoireann", "Pre": "R\u00e9amh", "Align right": "Ail\u00ednigh ar dheis", "New document": "C\u00e1ip\u00e9is nua", "Blockquote": "Athfhriotal", "Numbered list": "Liosta Uimhrithe", "Heading 1": "Ceannteideal 1", "Headings": "Ceannteidil", "Increase indent": "M\u00e9adaigh eang", "Formats": "Form\u00e1id\u00ed", "Headers": "Ceannt\u00e1sca", "Select all": "Roghnaigh uile", "Header 3": "Ceannt\u00e1sc 3", "Blocks": "Blocanna", "Undo": "Cealaigh", "Strikethrough": "L\u00edne tr\u00edd", "Bullet list": "Liosta Urchar", "Header 1": "Ceannt\u00e1sc 1", "Superscript": "Forscript", "Clear formatting": "Glan form\u00e1idi\u00fa", "Font Sizes": "Cl\u00f3mh\u00e9ideanna", "Subscript": "Foscript", "Header 6": "Ceannt\u00e1sc 6", "Redo": "Athdh\u00e9an", "Paragraph": "Alt", "Ok": "OK", "Bold": "Trom", "Code": "C\u00f3d", "Italic": "Iod\u00e1lach", "Align center": "Ail\u00ednigh sa l\u00e1r", "Header 5": "Ceannt\u00e1sc 5", "Heading 6": "Ceannteideal 6", "Heading 3": "Ceannteideal 3", "Decrease indent": "Laghdaigh eang", "Header 4": "Ceannt\u00e1sc 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Sa m\u00f3d gn\u00e1th-th\u00e9acs anois. Gream\u00f3far \u00e1bhar mar ghn\u00e1th-th\u00e9acs go dt\u00ed go m\u00fachfaidh t\u00fa an rogha seo.", "Underline": "Fol\u00edne", "Cancel": "Cealaigh", "Justify": "Comhfhadaigh", "Inline": "Inl\u00edne", "Copy": "C\u00f3ipe\u00e1il", "Align left": "Ail\u00ednigh ar chl\u00e9", "Visual aids": "\u00c1iseanna amhairc", "Lower Greek": "Litir Bheag Ghr\u00e9agach", "Square": "Cearn\u00f3g", "Default": "R\u00e9amhshocr\u00fa", "Lower Alpha": "Alfa Beag", "Circle": "Ciorcal", "Disc": "Diosca", "Upper Alpha": "Alfa M\u00f3r", "Upper Roman": "Litir Mh\u00f3r R\u00f3mh\u00e1nach", "Lower Roman": "Litir Bheag R\u00f3mh\u00e1nach", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "N\u00ed m\u00f3r don aitheantas tos\u00fa le litir, agus gan ach litreacha, uimhreacha, daiseanna, poncanna, idirstadanna, n\u00f3 fostr\u00edoca ina dhiaidh sin.", "Name": "Ainm", "Anchor": "Ancaire", "Id": "Aitheantas", "You have unsaved changes are you sure you want to navigate away?": "T\u00e1 athruithe gan s\u00e1bh\u00e1il ann. An bhfuil t\u00fa cinnte gur mhaith leat imeacht amach as seo?", "Restore last draft": "Oscail an dr\u00e9acht is d\u00e9ana\u00ed", "Special character": "Carachtar speisialta", "Source code": "C\u00f3d foinseach", "Language": "Teanga", "Insert\/Edit code sample": "Cuir sampla c\u00f3id isteach\/in eagar", "B": "G", "R": "D", "G": "U", "Color": "Dath", "Right to left": "Deas-go-cl\u00e9", "Left to right": "Cl\u00e9-go-deas", "Emoticons": "Straoiseoga", "Robots": "R\u00f3bait", "Document properties": "Air\u00edonna na C\u00e1ip\u00e9ise", "Title": "Teideal", "Keywords": "Lorgfhocail", "Encoding": "Ionch\u00f3d\u00fa", "Description": "Cur S\u00edos", "Author": "\u00dadar", "Fullscreen": "L\u00e1nsc\u00e1ile\u00e1n", "Horizontal line": "L\u00edne chothrom\u00e1nach", "Horizontal space": "Sp\u00e1s cothrom\u00e1nach", "Insert\/edit image": "Cuir \u00edomh\u00e1 isteach\/in eagar", "General": "Ginear\u00e1lta", "Advanced": "Casta", "Source": "Foinse", "Border": "Iml\u00edne", "Constrain proportions": "Comhr\u00e9ir faoi ghlas", "Vertical space": "Sp\u00e1s ingearach", "Image description": "Cur s\u00edos ar an \u00edomh\u00e1", "Style": "St\u00edl", "Dimensions": "Tois\u00ed", "Insert image": "Cuir \u00edomh\u00e1 isteach", "Image": "\u00cdomh\u00e1", "Zoom in": "Z\u00fam\u00e1il isteach", "Contrast": "Codarsnacht", "Back": "Siar", "Gamma": "G\u00e1ma", "Flip horizontally": "Cas go cothrom\u00e1nach", "Resize": "Athraigh m\u00e9id", "Sharpen": "G\u00e9araigh", "Zoom out": "Z\u00fam\u00e1il amach", "Image options": "Roghanna \u00edomh\u00e1", "Apply": "Cuir i bhfeidhm", "Brightness": "Gile", "Rotate clockwise": "Rothlaigh ar deiseal", "Rotate counterclockwise": "Rothlaigh ar tuathal", "Edit image": "Cuir an \u00edomh\u00e1 in eagar", "Color levels": "Leibh\u00e9il datha", "Crop": "Bear", "Orientation": "Treoshu\u00edomh", "Flip vertically": "Cas go hingearach", "Invert": "Inbh\u00e9artaigh", "Date\/time": "D\u00e1ta\/am", "Insert date\/time": "Cuir d\u00e1ta\/am isteach", "Remove link": "Bain an nasc", "Url": "URL", "Text to display": "T\u00e9acs le taispe\u00e1int", "Anchors": "Ancair\u00ed", "Insert link": "Cuir nasc isteach", "Link": "Nasc", "New window": "Fuinneog nua", "None": "Dada", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Is nasc seachtrach \u00e9 an URL a chuir t\u00fa isteach. An bhfuil fonn ort an r\u00e9im\u00edr riachtanach http:\/\/ a chur leis?", "Paste or type a link": "Greamaigh n\u00f3 cl\u00f3scr\u00edobh nasc", "Target": "Sprioc", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Is seoladh r\u00edomhphoist \u00e9 an URL a chuir t\u00fa isteach. An bhfuil fonn ort an r\u00e9im\u00edr riachtanach mailto: a chur leis?", "Insert\/edit link": "Cuir nasc isteach\/in eagar", "Insert\/edit video": "Cuir f\u00edse\u00e1n isteach\/in eagar", "Media": "Me\u00e1in", "Alternative source": "Foinse mhalartach", "Paste your embed code below:": "Greamaigh do ch\u00f3d leabaithe th\u00edos:", "Insert video": "Cuir f\u00edse\u00e1n isteach", "Poster": "P\u00f3staer", "Insert\/edit media": "Cuir me\u00e1n isteach\/in eagar", "Embed": "Leabaigh", "Nonbreaking space": "Sp\u00e1s neamhbhristeach", "Page break": "Briseadh leathanaigh", "Paste as text": "Greamaigh mar th\u00e9acs", "Preview": "R\u00e9amhamharc", "Print": "Priont\u00e1il", "Save": "S\u00e1bh\u00e1il", "Could not find the specified string.": "N\u00edor aims\u00edodh an teaghr\u00e1n.", "Replace": "Ionadaigh", "Next": "Ar aghaidh", "Whole words": "Focail ioml\u00e1na", "Find and replace": "Aimsigh agus ionadaigh", "Replace with": "Ionadaigh le", "Find": "Aimsigh", "Replace all": "Ionadaigh uile", "Match case": "C\u00e1s-\u00edogair", "Prev": "Siar", "Spellcheck": "Seice\u00e1il an litri\u00fa", "Finish": "Cr\u00edochnaigh", "Ignore all": "D\u00e9an neamhaird orthu go l\u00e9ir", "Ignore": "D\u00e9an neamhaird air", "Add to Dictionary": "Cuir leis an bhFocl\u00f3ir \u00e9", "Insert row before": "Ions\u00e1igh r\u00f3 os a chionn", "Rows": "R\u00f3nna", "Height": "Airde", "Paste row after": "Greamaigh r\u00f3 faoi", "Alignment": "Ail\u00edni\u00fa", "Border color": "Dath na himl\u00edne", "Column group": "Gr\u00fapa col\u00fan", "Row": "R\u00f3", "Insert column before": "Ions\u00e1igh col\u00fan ar chl\u00e9", "Split cell": "Roinn cill", "Cell padding": "Stu\u00e1il ceall", "Cell spacing": "Sp\u00e1s\u00e1il ceall", "Row type": "Cine\u00e1l an r\u00f3", "Insert table": "Ions\u00e1igh t\u00e1bla", "Body": "Corp", "Caption": "Fotheideal", "Footer": "Bunt\u00e1sc", "Delete row": "Scrios an r\u00f3", "Paste row before": "Greamaigh r\u00f3 os a chionn", "Scope": "Sc\u00f3ip", "Delete table": "Scrios an t\u00e1bla", "H Align": "Ail\u00edni\u00fa C.", "Top": "Barr", "Header cell": "Cill cheannt\u00e1isc", "Column": "Col\u00fan", "Row group": "Gr\u00fapa r\u00f3nna", "Cell": "Cill", "Middle": "L\u00e1r", "Cell type": "Cine\u00e1l na cille", "Copy row": "C\u00f3ipe\u00e1il an r\u00f3", "Row properties": "Air\u00edonna an r\u00f3", "Table properties": "Air\u00edonna an t\u00e1bla", "Bottom": "Bun", "V Align": "Ail\u00edni\u00fa I.", "Header": "Ceannt\u00e1sc", "Right": "Ar Dheis", "Insert column after": "Ions\u00e1igh col\u00fan ar dheis", "Cols": "Col\u00fain", "Insert row after": "Ions\u00e1igh r\u00f3 faoi", "Width": "Leithead", "Cell properties": "Air\u00edonna na cille", "Left": "Ar Chl\u00e9", "Cut row": "Gearr an r\u00f3", "Delete column": "Scrios an col\u00fan", "Center": "Sa L\u00e1r", "Merge cells": "Cumaisc cealla", "Insert template": "Ions\u00e1igh teimpl\u00e9ad", "Templates": "Teimpl\u00e9id", "Background color": "Dath an ch\u00falra", "Custom...": "Saincheap...", "Custom color": "Dath saincheaptha", "No color": "Gan dath", "Text color": "Dath an t\u00e9acs", "Table of Contents": "Cl\u00e1r na n\u00c1bhar", "Show blocks": "Taispe\u00e1in blocanna", "Show invisible characters": "Taispe\u00e1in carachtair dhofheicthe", "Words: {0}": "Focail: {0}", "Insert": "Ions\u00e1ig", "File": "Comhad", "Edit": "Eagar", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Limist\u00e9ar M\u00e9ith-Th\u00e9acs. Br\u00faigh ALT-F9 le haghaidh roghchl\u00e1ir, ALT-F10 le haghaidh barra uirlis\u00ed, agus ALT-0 le c\u00fanamh a fh\u00e1il", "Tools": "Uirlis\u00ed", "View": "Amharc", "Table": "T\u00e1bla", "Format": "Form\u00e1id" });langs/vi.js000060400000017460152455403670006643 0ustar00tinymce.addI18n('vi',{ "Cut": "C\u1eaft", "Header 2": "Ti\u00eau \u0111\u1ec1 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Tr\u00ecnh duy\u1ec7t c\u1ee7a b\u1ea1n kh\u00f4ng h\u1ed7 tr\u1ee3 truy c\u1eadp truy c\u1eadp b\u1ed9 nh\u1edb \u1ea3o, vui l\u00f2ng s\u1eed d\u1ee5ng c\u00e1c t\u1ed5 h\u1ee3p ph\u00edm Ctrl + X, C, V.", "Div": "Khung", "Paste": "D\u00e1n", "Close": "\u0110\u00f3ng L\u1ea1i", "Font Family": "Font Family", "Pre": "\u0110\u1ecbnh d\u1ea1ng", "Align right": "Canh ph\u1ea3i", "New document": "T\u1ea1o t\u00e0i li\u1ec7u m\u1edbi", "Blockquote": "\u0110o\u1ea1n Tr\u00edch D\u1eabn", "Numbered list": "Danh s\u00e1ch d\u1ea1ng s\u1ed1", "Increase indent": "T\u0103ng kho\u1ea3ng c\u00e1ch d\u00f2ng", "Formats": "\u0110\u1ecbnh d\u1ea1ng", "Headers": "\u0110\u1ea7u trang", "Select all": "Ch\u1ecdn t\u1ea5t c\u1ea3", "Header 3": "Ti\u00eau \u0111\u1ec1 3", "Blocks": "Bao", "Undo": "H\u1ee7y thao t\u00e1c", "Strikethrough": "G\u1ea1ch ngang", "Bullet list": "Danh s\u00e1ch d\u1ea1ng bi\u1ec3u t\u01b0\u1ee3ng", "Header 1": "Ti\u00eau \u0111\u1ec1 1", "Superscript": "K\u00fd t\u1ef1 m\u0169", "Clear formatting": "L\u01b0\u1ee3c b\u1ecf ph\u1ea7n hi\u1ec7u \u1ee9ng", "Font Sizes": "Font Sizes", "Subscript": "K\u00fd t\u1ef1 th\u1ea5p", "Header 6": "Ti\u00eau \u0111\u1ec1 6", "Redo": "L\u00e0m l\u1ea1i", "Paragraph": "\u0110o\u1ea1n v\u0103n", "Ok": "\u0110\u1ed3ng \u00dd", "Bold": "In \u0111\u1eadm", "Code": "M\u00e3", "Italic": "In nghi\u00eang", "Align center": "Canh gi\u1eefa", "Header 5": "Ti\u00eau \u0111\u1ec1 5", "Decrease indent": "Th\u1ee5t l\u00f9i d\u00f2ng", "Header 4": "Ti\u00eau \u0111\u1ec1 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Ch\u1ee9c n\u0103ng D\u00e1n \u0111ang trong tr\u1ea1ng th\u00e1i v\u0103n b\u1ea3n \u0111\u01a1n gi\u1ea3n. N\u1ed9i dung s\u1ebd \u0111\u01b0\u1ee3c d\u00e1n d\u01b0\u1edbi d\u1ea1ng v\u0103n b\u1ea3n thu\u1ea7n, kh\u00f4ng c\u00f3 \u0111\u1ecbnh d\u1ea1ng.", "Underline": "G\u1ea1ch d\u01b0\u1edbi", "Cancel": "Hu\u1ef7 B\u1ecf", "Justify": "Canh \u0111\u1ec1u hai b\u00ean", "Inline": "C\u00f9ng d\u00f2ng", "Copy": "Sao ch\u00e9p", "Align left": "Canh tr\u00e1i", "Visual aids": "M\u1edf khung so\u1ea1n th\u1ea3o", "Lower Greek": "S\u1ed1 hy l\u1ea1p th\u01b0\u1eddng", "Square": "\u00d4 vu\u00f4ng", "Default": "M\u1eb7c \u0111\u1ecbnh", "Lower Alpha": "K\u00fd t\u1ef1 th\u01b0\u1eddng", "Circle": "H\u00ecnh tr\u00f2n", "Disc": "H\u00ecnh tr\u00f2n d\u1ea1ng m\u1ecfng", "Upper Alpha": "K\u00fd t\u1ef1 hoa", "Upper Roman": "S\u1ed1 la m\u00e3 hoa", "Lower Roman": "S\u1ed1 la m\u00e3 th\u01b0\u1eddng", "Name": "Name", "Anchor": "Anchor", "You have unsaved changes are you sure you want to navigate away?": "B\u1ea1n ch\u01b0a l\u01b0u thay \u0111\u1ed5i b\u1ea1n c\u00f3 ch\u1eafc b\u1ea1n mu\u1ed1n di chuy\u1ec3n \u0111i?", "Restore last draft": "Kh\u00f4i ph\u1ee5c b\u1ea3n g\u1ea7n nh\u1ea5t", "Special character": "Special character", "Source code": "M\u00e3 ngu\u1ed3n", "Right to left": "Right to left", "Left to right": "Left to right", "Emoticons": "Bi\u1ec3u t\u01b0\u1ee3ng c\u1ea3m x\u00fac", "Robots": "Robots", "Document properties": "Thu\u1ed9c t\u00ednh t\u00e0i li\u1ec7u", "Title": "Ti\u00eau \u0111\u1ec1", "Keywords": "T\u1eeb kh\u00f3a", "Encoding": "M\u00e3 h\u00f3a", "Description": "Description", "Author": "T\u00e1c gi\u1ea3", "Fullscreen": "Fullscreen", "Horizontal line": "K\u1ebb ngang", "Horizontal space": "N\u1eb1m ngang", "Insert\/edit image": "Ch\u00e8n\/s\u1eeda \u1ea3nh", "General": "Chung", "Advanced": "N\u00e2ng cao", "Source": "Ngu\u1ed3n", "Border": "\u0110\u01b0\u1eddng vi\u1ec1n", "Constrain proportions": "T\u1ef7 l\u1ec7 h\u1ea1n ch\u1ebf", "Vertical space": "N\u1eb1m d\u1ecdc", "Image description": "M\u00f4 t\u1ea3 \u1ea3nh", "Style": "Ki\u1ec3u", "Dimensions": "K\u00edch th\u01b0\u1edbc", "Insert image": "Ch\u00e8n \u1ea3nh", "Insert date\/time": "Insert date\/time", "Remove link": "B\u1ecf li\u00ean k\u1ebft", "Url": "Url", "Text to display": "N\u1ed9i dung hi\u1ec3n th\u1ecb", "Anchors": "Anchors", "Insert link": "Ch\u00e8n li\u00ean k\u1ebft", "New window": "C\u1eeda s\u1ed5 m\u1edbi", "None": "Kh\u00f4ng", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u0110\u00edch", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Ch\u00e8n\/s\u1eeda li\u00ean k\u1ebft", "Insert\/edit video": "Ch\u00e8n\/s\u1eeda video", "Poster": "Ng\u01b0\u1eddi g\u1eedi", "Alternative source": "Ngu\u1ed3n thay th\u1ebf", "Paste your embed code below:": "D\u00e1n m\u00e3 nh\u00fang c\u1ee7a b\u1ea1n d\u01b0\u1edbi \u0111\u00e2y:", "Insert video": "Ch\u00e8n video", "Embed": "Nh\u00fang", "Nonbreaking space": "Nonbreaking space", "Page break": "Ng\u1eaft trang", "Paste as text": "D\u00e1n \u0111o\u1ea1n v\u0103n b\u1ea3n", "Preview": "Xem th\u1eed", "Print": "In", "Save": "L\u01b0u", "Could not find the specified string.": "Could not find the specified string.", "Replace": "Replace", "Next": "Next", "Whole words": "To\u00e0n b\u1ed9 t\u1eeb", "Find and replace": "Find and replace", "Replace with": "Replace with", "Find": "Find", "Replace all": "Thay t\u1ea5t c\u1ea3", "Match case": "Match case", "Prev": "Tr\u01b0\u1edbc", "Spellcheck": "Ki\u1ec3m tra ch\u00ednh t\u1ea3", "Finish": "Ho\u00e0n t\u1ea5t", "Ignore all": "B\u1ecf qua t\u1ea5t", "Ignore": "B\u1ecf qua", "Insert row before": "Th\u00eam d\u00f2ng ph\u00eda tr\u00ean", "Rows": "D\u00f2ng", "Height": "\u0110\u1ed9 Cao", "Paste row after": "D\u00e1n v\u00e0o ph\u00eda sau, d\u01b0\u1edbi", "Alignment": "Canh ch\u1ec9nh", "Column group": "Gom nh\u00f3m c\u1ed9t", "Row": "D\u00f2ng", "Insert column before": "Th\u00eam c\u1ed9t b\u00ean tr\u00e1i", "Split cell": "Chia c\u1eaft \u00f4", "Cell padding": "Kho\u1ea3ng c\u00e1ch trong \u00f4", "Cell spacing": "Kho\u1ea3ng c\u00e1ch \u00f4", "Row type": "Th\u1ec3 lo\u1ea1i d\u00f2ng", "Insert table": "Th\u00eam b\u1ea3ng", "Body": "N\u1ed9i dung", "Caption": "Ti\u00eau \u0111\u1ec1", "Footer": "Ch\u00e2n", "Delete row": "Xo\u00e1 d\u00f2ng", "Paste row before": "D\u00e1n v\u00e0o ph\u00eda tr\u01b0\u1edbc, tr\u00ean", "Scope": "Quy\u1ec1n", "Delete table": "Xo\u00e1 b\u1ea3ng", "Header cell": "Ti\u00eau \u0111\u1ec1 \u00f4", "Column": "C\u1ed9t", "Cell": "\u00d4", "Header": "Ti\u00eau \u0111\u1ec1", "Cell type": "Lo\u1ea1i \u00f4", "Copy row": "Sao ch\u00e9p d\u00f2ng", "Row properties": "Thu\u1ed9c t\u00ednh d\u00f2ng", "Table properties": "Thu\u1ed9c t\u00ednh b\u1ea3ng", "Row group": "Gom nh\u00f3m d\u00f2ng", "Right": "Ph\u1ea3i", "Insert column after": "Th\u00eam c\u1ed9t b\u00ean ph\u1ea3i", "Cols": "C\u1ed9t", "Insert row after": "Th\u00eam d\u00f2ng ph\u00eda d\u01b0\u1edbi", "Width": "\u0110\u1ed9 R\u1ed9ng", "Cell properties": "Thu\u1ed9c t\u00ednh \u00f4", "Left": "Tr\u00e1i", "Cut row": "C\u1eaft d\u00f2ng", "Delete column": "Xo\u00e1 c\u1ed9t", "Center": "Gi\u1eefa", "Merge cells": "Tr\u1ed9n \u00f4", "Insert template": "Insert template", "Templates": "Templates", "Background color": "M\u00e0u n\u1ec1n", "Text color": "M\u00e0u v\u0103n b\u1ea3n", "Show blocks": "Show blocks", "Show invisible characters": "Hi\u1ec3n th\u1ecb k\u00fd t\u1ef1 \u1ea9n", "Words: {0}": "Words: {0}", "Insert": "Insert", "File": "File", "Edit": "Edit", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help", "Tools": "Tools", "View": "View", "Table": "Table", "Format": "Format" });langs/ko.js000060400000020305152455403670006626 0ustar00tinymce.addI18n('ko',{ "Cut": "\uc798\ub77c\ub0b4\uae30", "Header 2": "\uc81c\ubaa9 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\ube0c\ub77c\uc6b0\uc838\uac00 \ud074\ub9bd\ubcf4\ub4dc \uc811\uadfc\uc744 \ud5c8\uc6a9\ud558\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4. Ctrl+X\/C\/V \ud0a4\ub97c \uc774\uc6a9\ud574 \uc8fc\uc138\uc694.", "Div": "\uad6c\ubd84", "Paste": "\ubd99\uc5ec\ub123\uae30", "Close": "\ub2eb\uae30", "Font Family": "Font Family", "Pre": "Pre", "Align right": "\uc624\ub978\ucabd\uc815\ub82c", "New document": "\uc0c8 \ubb38\uc11c", "Blockquote": "\uad6c\ud68d", "Numbered list": "\uc22b\uc790\ub9ac\uc2a4\ud2b8", "Increase indent": "\ub4e4\uc5ec\uc4f0\uae30", "Formats": "\ud3ec\ub9f7", "Headers": "\uc2a4\ud0c0\uc77c", "Select all": "\uc804\uccb4\uc120\ud0dd", "Header 3": "\uc81c\ubaa9 3", "Blocks": "\ube14\ub85d \uc124\uc815", "Undo": "\uc2e4\ud589\ucde8\uc18c", "Strikethrough": "\ucde8\uc18c\uc120", "Bullet list": "\uc810\ub9ac\uc2a4\ud2b8", "Header 1": "\uc81c\ubaa9 1", "Superscript": "\uc717\ucca8\uc790", "Clear formatting": "\ud3ec\ub9f7\ucd08\uae30\ud654", "Font Sizes": "Font Sizes", "Subscript": "\uc544\ub798\ucca8\uc790", "Header 6": "\uc81c\ubaa9 6", "Redo": "\ub2e4\uc2dc\uc2e4\ud589", "Paragraph": "\ub2e8\ub77d", "Ok": "\ud655\uc778", "Bold": "\uad75\uac8c", "Code": "\ucf54\ub4dc", "Italic": "\uae30\uc6b8\uc784\uaf34", "Align center": "\uac00\uc6b4\ub370\uc815\ub82c", "Header 5": "\uc81c\ubaa9 5", "Decrease indent": "\ub0b4\uc5b4\uc4f0\uae30", "Header 4": "\uc81c\ubaa9 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\uc2a4\ud0c0\uc77c\ubcf5\uc0ac \ub044\uae30. \uc774 \uc635\uc158\uc744 \ub044\uae30 \uc804\uc5d0\ub294 \ubcf5\uc0ac \uc2dc, \uc2a4\ud0c0\uc77c\uc774 \ubcf5\uc0ac\ub418\uc9c0 \uc54a\uc2b5\ub2c8\ub2e4.", "Underline": "\ubc11\uc904", "Cancel": "\ucde8\uc18c", "Justify": "\uc591\ucabd\uc815\ub82c", "Inline": "\ub77c\uc778 \uc124\uc815", "Copy": "\ubcf5\uc0ac\ud558\uae30", "Align left": "\uc67c\ucabd\uc815\ub82c", "Visual aids": "\uc2dc\uac01\uad50\uc7ac", "Lower Greek": "\uadf8\ub9ac\uc2a4\uc5b4 \uc18c\ubb38\uc790", "Square": "\uc0ac\uac01", "Default": "\uae30\ubcf8", "Lower Alpha": "\uc54c\ud30c\ubcb3 \uc18c\ubb38\uc790", "Circle": "\uc6d0", "Disc": "\uc6d0\ubc18", "Upper Alpha": "\uc54c\ud30c\ubcb3 \uc18c\ubb38\uc790", "Upper Roman": "\ub85c\ub9c8\uc790 \ub300\ubb38\uc790", "Lower Roman": "\ub85c\ub9c8\uc790 \uc18c\ubb38\uc790", "Name": "\uc774\ub984", "Anchor": "\uc575\ucee4", "You have unsaved changes are you sure you want to navigate away?": "\uc800\uc7a5\ud558\uc9c0 \uc54a\uc740 \uc815\ubcf4\uac00 \uc788\uc2b5\ub2c8\ub2e4. \uc774 \ud398\uc774\uc9c0\ub97c \ubc97\uc5b4\ub098\uc2dc\uaca0\uc2b5\ub2c8\uae4c?", "Restore last draft": "\ub9c8\uc9c0\ub9c9 \ucd08\uc548 \ubcf5\uc6d0", "Special character": "\ud2b9\uc218\ubb38\uc790", "Source code": "\uc18c\uc2a4\ucf54\ub4dc", "Right to left": "\uc624\ub978\ucabd\uc5d0\uc11c \uc67c\ucabd", "Left to right": "\uc67c\ucabd\uc5d0\uc11c \uc624\ub978\ucabd", "Emoticons": "\uc774\ubaa8\ud2f0\ucf58", "Robots": "\ub85c\ubd07", "Document properties": "\ubb38\uc11c \uc18d\uc131", "Title": "\uc81c\ubaa9", "Keywords": "\ud0a4\uc6cc\ub4dc", "Encoding": "\uc778\ucf54\ub529", "Description": "\uc124\uba85", "Author": "\uc800\uc790", "Fullscreen": "\uc804\uccb4\ud654\uba74", "Horizontal line": "\uac00\ub85c", "Horizontal space": "\uc218\ud3c9 \uacf5\ubc31", "Insert\/edit image": "\uc774\ubbf8\uc9c0 \uc0bd\uc785\/\uc218\uc815", "General": "\uc77c\ubc18", "Advanced": "\uace0\uae09", "Source": "\uc18c\uc2a4", "Border": "\ud14c\ub450\ub9ac", "Constrain proportions": "\uc791\uc5c5 \uc81c\ud55c", "Vertical space": "\uc218\uc9c1 \uacf5\ubc31", "Image description": "\uc774\ubbf8\uc9c0 \uc124\uba85", "Style": "\uc2a4\ud0c0\uc77c", "Dimensions": "\ud06c\uae30", "Insert image": "\uc774\ubbf8\uc9c0 \uc0bd\uc785", "Insert date\/time": "\ub0a0\uc9dc\/\uc2dc\uac04\uc0bd\uc785", "Remove link": "\ub9c1\ud06c\uc0ad\uc81c", "Url": "\uc8fc\uc18c", "Text to display": "\ubcf8\ubb38", "Anchors": "\ucc45\uac08\ud53c", "Insert link": "\ub9c1\ud06c \uc0bd\uc785 ", "New window": "\uc0c8\ucc3d", "None": "\uc5c6\uc74c", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\ub300\uc0c1", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "\ub9c1\ud06c \uc0bd\uc785\/\uc218\uc815", "Insert\/edit video": "\ube44\ub514\uc624 \uc0bd\uc785\/\uc218\uc815", "Poster": "\ud3ec\uc2a4\ud130", "Alternative source": "\ub300\uccb4 \uc18c\uc2a4", "Paste your embed code below:": "\uc544\ub798\uc5d0 \ucf54\ub4dc\ub97c \ubd99\uc5ec\ub123\uc73c\uc138\uc694:", "Insert video": "\ube44\ub514\uc624 \uc0bd\uc785", "Embed": "\uc0bd\uc785", "Nonbreaking space": "\ub744\uc5b4\uc4f0\uae30", "Page break": "\ud398\uc774\uc9c0 \uad6c\ubd84\uc790", "Paste as text": "\ud14d\uc2a4\ud2b8\ub85c \ubd99\uc5ec\ub123\uae30", "Preview": "\ubbf8\ub9ac\ubcf4\uae30", "Print": "\ucd9c\ub825", "Save": "\uc800\uc7a5", "Could not find the specified string.": "\ubb38\uc790\ub97c \ucc3e\uc744 \uc218 \uc5c6\uc2b5\ub2c8\ub2e4.", "Replace": "\uad50\uccb4", "Next": "\ub2e4\uc74c", "Whole words": "\uc804\uccb4 \ub2e8\uc5b4", "Find and replace": "\ucc3e\uc544\uc11c \uad50\uccb4", "Replace with": "\uad50\uccb4", "Find": "\ucc3e\uae30", "Replace all": "\uc804\uccb4 \uad50\uccb4", "Match case": "\ub300\uc18c\ubb38\uc790 \uc77c\uce58", "Prev": "\uc774\uc804", "Spellcheck": "\ubb38\ubc95\uccb4\ud06c", "Finish": "\uc644\ub8cc", "Ignore all": "\uc804\uccb4\ubb34\uc2dc", "Ignore": "\ubb34\uc2dc", "Insert row before": "\uc774\uc804\uc5d0 \ud589 \uc0bd\uc785", "Rows": "\ud589", "Height": "\ub192\uc774", "Paste row after": "\ub2e4\uc74c\uc5d0 \ud589 \ubd99\uc5ec\ub123\uae30", "Alignment": "\uc815\ub82c", "Column group": "\uc5f4 \uadf8\ub8f9", "Row": "\uc5f4", "Insert column before": "\uc774\uc804\uc5d0 \ud589 \uc0bd\uc785", "Split cell": "\uc140 \ub098\ub204\uae30", "Cell padding": "\uc140 \uc548\ucabd \uc5ec\ubc31", "Cell spacing": "\uc140 \uac04\uaca9", "Row type": "\ud589 \ud0c0\uc785", "Insert table": "\ud14c\uc774\ube14 \uc0bd\uc785", "Body": "\ubc14\ub514", "Caption": "\ucea1\uc158", "Footer": "\ud478\ud130", "Delete row": "\ud589 \uc9c0\uc6b0\uae30", "Paste row before": "\uc774\uc804\uc5d0 \ud589 \ubd99\uc5ec\ub123\uae30", "Scope": "\ubc94\uc704", "Delete table": "\ud14c\uc774\ube14 \uc0ad\uc81c", "Header cell": "\ud5e4\ub354 \uc140", "Column": "\ud589", "Cell": "\uc140", "Header": "\ud5e4\ub354", "Cell type": "\uc140 \ud0c0\uc785", "Copy row": "\ud589 \ubcf5\uc0ac", "Row properties": "\ud589 \uc18d\uc131", "Table properties": "\ud14c\uc774\ube14 \uc18d\uc131", "Row group": "\ud589 \uadf8\ub8f9", "Right": "\uc624\ub978\ucabd", "Insert column after": "\ub2e4\uc74c\uc5d0 \uc5f4 \uc0bd\uc785", "Cols": "\uc5f4", "Insert row after": "\ub2e4\uc74c\uc5d0 \ud589 \uc0bd\uc785", "Width": "\ub113\uc774", "Cell properties": "\uc140 \uc18d", "Left": "\uc67c\ucabd", "Cut row": "\ud589 \uc798\ub77c\ub0b4\uae30", "Delete column": "\uc5f4 \uc9c0\uc6b0\uae30", "Center": "\uac00\uc6b4\ub370", "Merge cells": "\uc140 \ud569\uce58\uae30", "Insert template": "\ud15c\ud50c\ub9bf \uc0bd\uc785", "Templates": "\ud15c\ud50c\ub9bf", "Background color": "\ubc30\uacbd\uc0c9", "Text color": "\ubb38\uc790 \uc0c9\uae54", "Show blocks": "\ube14\ub7ed \ubcf4\uc5ec\uc8fc\uae30", "Show invisible characters": "\uc548\ubcf4\uc774\ub294 \ubb38\uc790 \ubcf4\uc774\uae30", "Words: {0}": "\ub2e8\uc5b4: {0}", "Insert": "\uc0bd\uc785", "File": "\ud30c\uc77c", "Edit": "\uc218\uc815", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\uc11c\uc2dd \uc788\ub294 \ud14d\uc2a4\ud2b8 \ud3b8\uc9d1\uae30 \uc785\ub2c8\ub2e4. ALT-F9\ub97c \ub204\ub974\uba74 \uba54\ub274, ALT-F10\ub97c \ub204\ub974\uba74 \ud234\ubc14, ALT-0\uc744 \ub204\ub974\uba74 \ub3c4\uc6c0\ub9d0\uc744 \ubcfc \uc218 \uc788\uc2b5\ub2c8\ub2e4.", "Tools": "\ub3c4\uad6c", "View": "\ubcf4\uae30", "Table": "\ud14c\uc774\ube14", "Format": "\ud3ec\ub9f7" });langs/hu.js000060400000023631152455403670006636 0ustar00tinymce.addI18n('hu',{ "Cut": "Kiv\u00e1g\u00e1s", "Heading 5": "Fejl\u00e9c 5", "Header 2": "C\u00edmsor 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "A b\u00f6ng\u00e9sz\u0151d nem t\u00e1mogatja a k\u00f6zvetlen hozz\u00e1f\u00e9r\u00e9st a v\u00e1g\u00f3laphoz. K\u00e9rlek haszn\u00e1ld a Ctrl+X\/C\/V billenty\u0171ket.", "Heading 4": "Fejl\u00e9c 4", "Div": "Div", "Heading 2": "Fejl\u00e9c 2", "Paste": "Beilleszt\u00e9s", "Close": "Bez\u00e1r", "Font Family": "Bet\u0171t\u00edpus", "Pre": "El\u0151", "Align right": "Jobbra igaz\u00edt", "New document": "\u00daj dokumentum", "Blockquote": "Id\u00e9zetblokk", "Numbered list": "Sz\u00e1moz\u00e1s", "Heading 1": "Fejl\u00e9c 1", "Headings": "Fejl\u00e9cek", "Increase indent": "Beh\u00faz\u00e1s n\u00f6vel\u00e9se", "Formats": "Form\u00e1tumok", "Headers": "C\u00edmsorok", "Select all": "Minden kijel\u00f6l\u00e9se", "Header 3": "C\u00edmsor 3", "Blocks": "Blokkok", "Undo": "Visszavon\u00e1s", "Strikethrough": "\u00c1th\u00fazott", "Bullet list": "Felsorol\u00e1s", "Header 1": "C\u00edmsor 1", "Superscript": "Fels\u0151 index", "Clear formatting": "Form\u00e1z\u00e1s t\u00f6rl\u00e9se", "Font Sizes": "Bet\u0171m\u00e9retek", "Subscript": "Als\u00f3 index", "Header 6": "C\u00edmsor 6", "Redo": "Ism\u00e9t", "Paragraph": "Bekezd\u00e9s", "Ok": "Rendben", "Bold": "F\u00e9lk\u00f6v\u00e9r", "Code": "K\u00f3d", "Italic": "D\u0151lt", "Align center": "K\u00f6z\u00e9pre z\u00e1r", "Header 5": "C\u00edmsor 5", "Heading 6": "Fejl\u00e9c 6", "Heading 3": "Fejl\u00e9c 3", "Decrease indent": "Beh\u00faz\u00e1s cs\u00f6kkent\u00e9se", "Header 4": "C\u00edmsor 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Beilleszt\u00e9s mostant\u00f3l egyszer\u0171 sz\u00f6veg m\u00f3dban. A tartalmak mostant\u00f3l egyszer\u0171 sz\u00f6vegk\u00e9nt lesznek beillesztve, am\u00edg nem kapcsolod ki ezt az opci\u00f3t.", "Underline": "Al\u00e1h\u00fazott", "Cancel": "M\u00e9gse", "Justify": "Sorkiz\u00e1r\u00e1s", "Inline": "Vonalon bel\u00fcl", "Copy": "M\u00e1sol\u00e1s", "Align left": "Balra igaz\u00edt", "Visual aids": "Vizu\u00e1lis seg\u00e9deszk\u00f6z\u00f6k", "Lower Greek": "Kis g\u00f6r\u00f6g sz\u00e1m", "Square": "N\u00e9gyzet", "Default": "Alap\u00e9rtelmezett", "Lower Alpha": "Kisbet\u0171", "Circle": "K\u00f6r", "Disc": "Pont", "Upper Alpha": "Nagybet\u0171", "Upper Roman": "Nagy r\u00f3mai sz\u00e1m", "Lower Roman": "Kis r\u00f3mai sz\u00e1m", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Az azonos\u00edt\u00f3nak bet\u0171vel kell kezd\u0151dnie, azut\u00e1n csak bet\u0171ket, sz\u00e1mokat, gondolatjeleket, pontokat, kett\u0151spontokat vagy al\u00e1h\u00faz\u00e1st tartalmazhat.", "Name": "N\u00e9v", "Anchor": "Horgony", "Id": "Azonos\u00edt\u00f3", "You have unsaved changes are you sure you want to navigate away?": "Nem mentett m\u00f3dos\u00edt\u00e1said vannak, biztos hogy el akarsz navig\u00e1lni?", "Restore last draft": "Utols\u00f3 piszkozat vissza\u00e1ll\u00edt\u00e1sa", "Special character": "Speci\u00e1lis karakter", "Source code": "Forr\u00e1sk\u00f3d", "Language": "Nyelv", "Insert\/Edit code sample": "K\u00f3dminta besz\u00far\u00e1sa\/szerkeszt\u00e9se", "B": "B", "R": "R", "G": "G", "Color": "Sz\u00edn", "Right to left": "Jobbr\u00f3l balra", "Left to right": "Balr\u00f3l jobbra", "Emoticons": "Vigyorok", "Robots": "Robotok", "Document properties": "Dokumentum tulajdons\u00e1gai", "Title": "C\u00edm", "Keywords": "Kulcsszavak", "Encoding": "K\u00f3dol\u00e1s", "Description": "Le\u00edr\u00e1s", "Author": "Szerz\u0151", "Fullscreen": "Teljes k\u00e9perny\u0151", "Horizontal line": "V\u00edzszintes vonal", "Horizontal space": "Horizont\u00e1lis hely", "Insert\/edit image": "K\u00e9p beilleszt\u00e9se\/szerkeszt\u00e9se", "General": "\u00c1ltal\u00e1nos", "Advanced": "Halad\u00f3", "Source": "Forr\u00e1s", "Border": "Szeg\u00e9ly", "Constrain proportions": "M\u00e9retar\u00e1ny", "Vertical space": "Vertik\u00e1lis hely", "Image description": "K\u00e9p le\u00edr\u00e1sa", "Style": "St\u00edlus", "Dimensions": "M\u00e9retek", "Insert image": "K\u00e9p besz\u00far\u00e1sa", "Image": "K\u00e9p", "Zoom in": "Nagy\u00edt\u00e1s", "Contrast": "Kontraszt", "Back": "Vissza", "Gamma": "Gamma", "Flip horizontally": "V\u00edzszintes t\u00fckr\u00f6z\u00e9s", "Resize": "\u00c1tm\u00e9retez\u00e9s", "Sharpen": "\u00c9less\u00e9g", "Zoom out": "Kicsiny\u00edt\u00e9s", "Image options": "K\u00e9p be\u00e1ll\u00edt\u00e1sok", "Apply": "Ment\u00e9s", "Brightness": "F\u00e9nyer\u0151", "Rotate clockwise": "Forgat\u00e1s az \u00f3ramutat\u00f3 j\u00e1r\u00e1s\u00e1val megegyez\u0151en", "Rotate counterclockwise": "Forgat\u00e1s az \u00f3ramutat\u00f3 j\u00e1r\u00e1s\u00e1val ellent\u00e9tesen", "Edit image": "K\u00e9p szerkeszt\u00e9se", "Color levels": "Sz\u00ednszint", "Crop": "K\u00e9p v\u00e1g\u00e1s", "Orientation": "K\u00e9p t\u00e1jol\u00e1s", "Flip vertically": "F\u00fcgg\u0151leges t\u00fckr\u00f6z\u00e9s", "Invert": "Inverz k\u00e9p", "Date\/time": "D\u00e1tum\/id\u0151", "Insert date\/time": "D\u00e1tum\/id\u0151 beilleszt\u00e9se", "Remove link": "Hivatkoz\u00e1s t\u00f6rl\u00e9se", "Url": "Url", "Text to display": "Megjelen\u0151 sz\u00f6veg", "Anchors": "Horgonyok", "Insert link": "Link beilleszt\u00e9se", "Link": "Link", "New window": "\u00daj ablak", "None": "Nincs", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Az URL amit megadt\u00e1l k\u00fcls\u0151 c\u00edmnek t\u0171nik. Szeretn\u00e9d hozz\u00e1adni a sz\u00fcks\u00e9ges http:\/\/ el\u0151tagot?", "Paste or type a link": "Link be\u00edr\u00e1sa vagy beilleszt\u00e9se", "Target": "C\u00e9l", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Az URL amit megadt\u00e1l email c\u00edmnek t\u0171nik. Szeretn\u00e9d hozz\u00e1adni a sz\u00fcks\u00e9ges mailto: el\u0151tagot?", "Insert\/edit link": "Link beilleszt\u00e9se\/szerkeszt\u00e9se", "Insert\/edit video": "Vide\u00f3 beilleszt\u00e9se\/szerkeszt\u00e9se", "Media": "M\u00e9dia", "Alternative source": "Alternat\u00edv forr\u00e1s", "Paste your embed code below:": "Illeszd be a be\u00e1gyaz\u00f3 k\u00f3dot alulra:", "Insert video": "Vide\u00f3 beilleszt\u00e9se", "Poster": "El\u0151n\u00e9zeti k\u00e9p", "Insert\/edit media": "M\u00e9dia besz\u00far\u00e1sa\/beilleszt\u00e9se", "Embed": "Be\u00e1gyaz\u00e1s", "Nonbreaking space": "Nem t\u00f6rhet\u0151 hely", "Page break": "Oldalt\u00f6r\u00e9s", "Paste as text": "Beilleszt\u00e9s sz\u00f6vegk\u00e9nt", "Preview": "El\u0151n\u00e9zet", "Print": "Nyomtat\u00e1s", "Save": "Ment\u00e9s", "Could not find the specified string.": "A be\u00edrt kifejez\u00e9s nem tal\u00e1lhat\u00f3.", "Replace": "Csere", "Next": "K\u00f6vetkez\u0151", "Whole words": "Csak ha ez a teljes sz\u00f3", "Find and replace": "Keres\u00e9s \u00e9s csere", "Replace with": "Csere erre", "Find": "Keres\u00e9s", "Replace all": "Az \u00f6sszes cser\u00e9je", "Match case": "Kis \u00e9s nagybet\u0171k megk\u00fcl\u00f6nb\u00f6ztet\u00e9se", "Prev": "El\u0151z\u0151", "Spellcheck": "Helyes\u00edr\u00e1s ellen\u0151rz\u00e9s", "Finish": "Befejez\u00e9s", "Ignore all": "Mindent figyelmen k\u00edv\u00fcl hagy", "Ignore": "Figyelmen k\u00edv\u00fcl hagy", "Add to Dictionary": "Sz\u00f3t\u00e1rhoz ad", "Insert row before": "Sor besz\u00far\u00e1sa el\u00e9", "Rows": "Sorok", "Height": "Magass\u00e1g", "Paste row after": "Sor beilleszt\u00e9se m\u00f6g\u00e9", "Alignment": "Igaz\u00edt\u00e1s", "Border color": "Szeg\u00e9ly sz\u00edne", "Column group": "Oszlop csoport", "Row": "Sor", "Insert column before": "Oszlop besz\u00far\u00e1sa el\u00e9", "Split cell": "Cell\u00e1k sz\u00e9tv\u00e1laszt\u00e1sa", "Cell padding": "Cella m\u00e9rete", "Cell spacing": "Cell\u00e1k t\u00e1vols\u00e1ga", "Row type": "Sor t\u00edpus", "Insert table": "T\u00e1bl\u00e1zat beilleszt\u00e9se", "Body": "Sz\u00f6vegt\u00f6rzs", "Caption": "Felirat", "Footer": "L\u00e1bl\u00e9c", "Delete row": "Sor t\u00f6rl\u00e9se", "Paste row before": "Sor beilleszt\u00e9se el\u00e9", "Scope": "Hat\u00f3k\u00f6r", "Delete table": "T\u00e1bl\u00e1zat t\u00f6rl\u00e9se", "H Align": "V\u00edzszintes igaz\u00edt\u00e1s", "Top": "Fel\u00fcl", "Header cell": "Fejl\u00e9c cella", "Column": "Oszlop", "Row group": "Sor csoport", "Cell": "Cella", "Middle": "K\u00f6z\u00e9pen", "Cell type": "Cella t\u00edpusa", "Copy row": "Sor m\u00e1sol\u00e1sa", "Row properties": "Sor tulajdons\u00e1gai", "Table properties": "T\u00e1bl\u00e1zat tulajdons\u00e1gok", "Bottom": "Alul", "V Align": "F\u00fcgg\u0151leges igaz\u00edt\u00e1s", "Header": "Fejl\u00e9c", "Right": "Jobb", "Insert column after": "Oszlop besz\u00far\u00e1sa m\u00f6g\u00e9", "Cols": "Oszlopok", "Insert row after": "Sor besz\u00far\u00e1sa m\u00f6g\u00e9", "Width": "Sz\u00e9less\u00e9g", "Cell properties": "Cella tulajdons\u00e1gok", "Left": "Bal", "Cut row": "Sor kiv\u00e1g\u00e1sa", "Delete column": "Oszlop t\u00f6rl\u00e9se", "Center": "K\u00f6z\u00e9p", "Merge cells": "Cell\u00e1k egyes\u00edt\u00e9se", "Insert template": "Sablon beilleszt\u00e9se", "Templates": "Sablonok", "Background color": "H\u00e1tt\u00e9r sz\u00edn", "Custom...": "Egy\u00e9ni...", "Custom color": "Egy\u00e9ni sz\u00edn", "No color": "Nincs sz\u00edn", "Text color": "Sz\u00f6veg sz\u00edne", "Table of Contents": "Tartalomjegyz\u00e9k", "Show blocks": "Blokkok mutat\u00e1sa", "Show invisible characters": "L\u00e1thatatlan karakterek mutat\u00e1sa", "Words: {0}": "Szavak: {0}", "Insert": "Beilleszt\u00e9s", "File": "F\u00e1jl", "Edit": "Szerkeszt\u00e9s", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich Text ter\u00fclet. Nyomj ALT-F9-et a men\u00fch\u00f6z. Nyomj ALT-F10-et az eszk\u00f6zt\u00e1rhoz. Nyomj ALT-0-t a s\u00fag\u00f3hoz", "Tools": "Eszk\u00f6z\u00f6k", "View": "N\u00e9zet", "Table": "T\u00e1bl\u00e1zat", "Format": "Form\u00e1tum" });langs/id.js000060400000015750152455403670006621 0ustar00tinymce.addI18n('id',{ "Cut": "Penggal", "Heading 5": "Judul 5", "Header 2": "Judul 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Browser anda tidak mendukung akses langsung ke clipboard. Silahkan gunakan Ctrl+X\/C\/V dari keyboard.", "Heading 4": "Judul 4", "Div": "Div", "Heading 2": "Judul 2", "Paste": "Tempel", "Close": "Tutup", "Font Family": "Jenis Huruf", "Pre": "Pre", "Align right": "Rata kanan", "New document": "Dokumen baru", "Blockquote": "Kutipan", "Numbered list": "Daftar bernomor", "Heading 1": "Judul 1", "Headings": "Judul", "Increase indent": "Tambah inden", "Formats": "Format", "Headers": "Judul", "Select all": "Pilih semua", "Header 3": "Judul 3", "Blocks": "Blok", "Undo": "Batalkan", "Strikethrough": "Coret", "Bullet list": "Daftar bersimbol", "Header 1": "Judul 1", "Superscript": "Superskrip", "Clear formatting": "Hapus format", "Font Sizes": "Ukuran Huruf", "Subscript": "Subskrip", "Header 6": "Judul 6", "Redo": "Ulangi", "Paragraph": "Paragraf", "Ok": "Ok", "Bold": "Tebal", "Code": "Code", "Italic": "Miring", "Align center": "Rata tengah", "Header 5": "Judul 5", "Heading 6": "Judul 6", "Heading 3": "Judul 3", "Decrease indent": "Turunkan inden", "Header 4": "Judul 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Penempelan sekarang dalam modus teks biasa. Konten sekarang akan disisipkan sebagai teks biasa sampai Anda mamatikan pilihan ini.", "Underline": "Garis bawah", "Cancel": "Batal", "Justify": "Penuh", "Inline" : "Baris", "Copy": "Salin", "Align left": "Rata kiri", "Visual aids": "Alat bantu visual", "Lower Greek": "Huruf Kecil Yunani", "Square": "Kotak", "Default": "Bawaan", "Lower Alpha": "Huruf Kecil", "Circle": "Lingkaran", "Disc": "Cakram", "Upper Alpha": "Huruf Besar", "Upper Roman": "Huruf Besar Romawi", "Lower Roman": "Huruf Kecil Romawi", "Name": "Nama", "Anchor": "Jangkar", "You have unsaved changes are you sure you want to navigate away?": "Anda memiliki perubahan yang belum disimpan, yakin ingin beralih ?", "Restore last draft": "Muat kembali draft sebelumnya", "Special character": "Karakter khusus", "Source code": "Kode sumber", "B": "B", "R": "M", "G": "H", "Color": "Warna", "Right to left": "Kanan ke kiri", "Left to right": "Kiri ke kanan", "Emoticons": "Emotikon", "Robots": "Robot", "Document properties": "Properti dokumwn", "Title": "Judul", "Keywords": "Kata kunci", "Encoding": "Enkoding", "Description": "Description", "Author": "Penulis", "Fullscreen": "Layar penuh", "Horizontal line": "Garis horisontal", "Horizontal space": "Spasi Horisontal", "Insert\/edit image": "Sisip\/sunting gambar", "General": "Umum", "Advanced": "Lanjutan", "Source": "Sumber", "Border": "Batas", "Constrain proportions": "Samakan proporsi", "Vertical space": "Spasi vertikal", "Image description": "Deskripsi Gambar", "Style": "Gaya", "Dimensions": "Dimensi", "Insert image": "Sisipkan gambar", "Zoom in": "Perbesar", "Contrast": "Kontras", "Back": "Kembali", "Gamma": "Gamma", "Flip horizontally": "Balik horisontal", "Resize": "Ubah ukuran", "Sharpen": "Ketajaman", "Zoom out": "Perkecil", "Image options": "Opsi Gambar", "Apply": "Terapkan", "Brightness": "Kecerahan", "Rotate clockwise": "Putar searahjarumjam", "Rotate counterclockwise": "Putar berlawananjarumjam", "Edit image": "Sunting gambar", "Color levels": "Tingkat warna", "Crop": "Krop", "Orientation": "Orientasi", "Flip vertically": "Balik vertikal", "Invert": "Kebalikan", "Insert date\/time": "Sisipkan tanggal\/waktu", "Remove link": "Buang tautan", "Url": "Tautan", "Text to display": "Teks yang ditampilkan", "Anchors": "Jangkar", "Insert link": "Sisipkan tautan", "New window": "Jendela baru", "None": "Tdk ada", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Tautan yang anda masukkan sepertinya adalah tautan eksternal. Apakah Anda ingin menambahkan prefiks http:\/\/ yang dibutuhkan?", "Target": "Jendela Tujuan", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Tautan yang anda masukkan sepertinya adalah alamat email. Apakah Anda ingin menambahkan prefiks mailto: yang dibutuhkan?", "Insert\/edit link": "Sisip\/sunting tautan", "Insert\/edit video": "Sisip\/sunting video", "Poster": "Penulis", "Alternative source": "Sumber Alternatif", "Paste your embed code below:": "Tempel kode yang diembed dibawah ini:", "Insert video": "Sisipkan video", "Embed": "Embed", "Nonbreaking space": "Spasi ", "Page break": "Baris baru", "Paste as text": "Tempel sebagai teks biasa", "Preview": "Pratinjau", "Print": "Cetak", "Save": "Simpan", "Could not find the specified string.": "Tidak dapat menemukan string yang dimaksud.", "Replace": "Ganti", "Next": "Berikutnya", "Whole words": "Semua kata", "Find and replace": "Cari dan Ganti", "Replace with": "Ganti dengan", "Find": "Cari", "Replace all": "Ganti semua", "Match case": "Samakan besar kecil huruf", "Prev": "Sebelumnya", "Spellcheck": "Spellcheck", "Finish": "Selesai", "Ignore all": "Abaikan semua", "Ignore": "Abaikan", "Add to Dictionary": "Tambahkan ke kamus", "Insert row before": "Sisipkan baris sebelum", "Rows": "Barisan", "Height": "Tinggi", "Paste row after": "Tempel baris setelah", "Alignment": "Penjajaran", "Border color": "Warna batas", "Column group": "Kelompok kolom", "Row": "Baris", "Insert column before": "Sisipkan kolom sebelum", "Split cell": "Bagi sel", "Cell padding": "Lapisan sel", "Cell spacing": "Spasi sel", "Row type": "Tipe baris", "Insert table": "Sisipkan tabel", "Body": "Body", "Caption": "Caption", "Footer": "Footer", "Delete row": "Hapus baris", "Paste row before": "Tempel baris sebelum", "Scope": "Skup", "Delete table": "Hapus tabel", "H Align": "Rata Samping", "Top": "Atas", "Header cell": "Sel Header", "Column": "Kolom", "Row group": "Kelompok baris", "Cell": "Sel", "Middle": "Tengah", "Cell type": "Tipe sel", "Copy row": "Salin baris", "Row properties": "Properti baris", "Table properties": "Properti tabel", "Bottom": "bawah", "V Align": "Rata Atas", "Header": "Header", "Right": "Kanan", "Insert column after": "Sisipkan kolom setelah", "Cols": "Kolom", "Insert row after": "Sisipkan baris setelah", "Width": "Lebar", "Cell properties": "Properti sel", "Left": "Kiri", "Cut row": "Penggal baris", "Delete column": "Hapus kolom", "Center": "Tengah", "Merge cells": "Gabung sel", "Insert template": "Sisipkan templat", "Templates": "Templat", "Background color": "Warna latar", "Custom...": "Atur sendiri...", "Custom color": "Warna Sendiri", "No color": "Tidak berwarna", "Text color": "Warna teks", "Show blocks": "Tampilkan blok", "Show invisible characters": "Tampilkan karakter tak tampak", "Words: {0}": "Kata: {0}", "Insert": "Sisip", "File": "Berkas", "Edit": "Sunting", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Area teks kaya. Tekan ALT-F9 untuk menu. Tekan ALT-F10 untuk toolbar. Tekan ALT-0 untuk bantuan", "Tools": "Alat", "View": "Tampilan", "Table": "Tabel", "Format": "Format" });langs/kk.js000060400000052311152455403670006624 0ustar00tinymce.addI18n('kk',{ "Cut": "\u049a\u0438\u044b\u043f \u0430\u043b\u0443", "Heading 5": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f 5", "Header 2": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0411\u0440\u0430\u0443\u0437\u0435\u0440\u0456\u04a3\u0456\u0437 \u0430\u043b\u043c\u0430\u0441\u0443 \u0431\u0443\u0444\u0435\u0440\u0456\u043d\u0435 \u0442\u0456\u043a\u0435\u043b\u0435\u0439 \u049b\u0430\u0442\u044b\u043d\u0430\u0439 \u0430\u043b\u043c\u0430\u0439\u0434\u044b. Ctrl+X\/C\/V \u043f\u0435\u0440\u043d\u0435\u043b\u0435\u0440 \u0442\u0456\u0440\u043a\u0435\u0441\u0456\u043c\u0456\u043d \u043f\u0430\u0439\u0434\u0430\u043b\u0430\u043d\u044b\u04a3\u044b\u0437.", "Heading 4": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f 4", "Div": "Div", "Heading 2": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f 2", "Paste": "\u049a\u043e\u044e", "Close": "\u0416\u0430\u0431\u0443", "Font Family": "\u049a\u0430\u0440\u0456\u043f\u0442\u0435\u0440 \u0442\u043e\u0431\u044b", "Pre": "Pre", "Align right": "\u041e\u04a3\u0493\u0430 \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443", "New document": "\u0416\u0430\u04a3\u0430 \u049b\u04b1\u0436\u0430\u0442", "Blockquote": "\u0414\u04d9\u0439\u0435\u043a\u0441\u04e9\u0437", "Numbered list": "\u041d\u04e9\u043c\u0456\u0440\u043b\u0435\u043d\u0433\u0435\u043d \u0442\u0456\u0437\u0456\u043c", "Heading 1": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f 1", "Headings": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f", "Increase indent": "\u0428\u0435\u0433\u0456\u043d\u0456\u0441\u0442\u0456 \u0430\u0440\u0442\u0442\u044b\u0440\u0443", "Formats": "\u0424\u043e\u0440\u043c\u0430\u0442\u0442\u0430\u0440", "Headers": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430", "Select all": "\u0411\u0430\u0440\u043b\u044b\u0493\u044b\u043d \u0442\u0430\u04a3\u0434\u0430\u0443", "Header 3": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430 3", "Blocks": "\u0411\u043b\u043e\u043a\u0442\u0435\u043a\u0442\u0435\u0441 (Block)", "Undo": "\u0411\u043e\u043b\u0434\u044b\u0440\u043c\u0430\u0443", "Strikethrough": "\u0411\u0435\u043b\u0456\u043d\u0435\u043d \u0441\u044b\u0437\u044b\u043b\u0493\u0430\u043d", "Bullet list": "\u0422\u0430\u04a3\u0431\u0430\u043b\u0430\u043d\u0493\u0430\u043d \u0442\u0456\u0437\u0456\u043c", "Header 1": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430 1", "Superscript": "\u04ae\u0441\u0442\u0456\u04a3\u0433\u0456 \u0438\u043d\u0434\u0435\u043a\u0441", "Clear formatting": "\u0424\u043e\u0440\u043c\u0430\u0442\u0442\u0430\u0443\u0434\u0430\u043d \u0442\u0430\u0437\u0430\u0440\u0442\u0443", "Font Sizes": "\u049a\u0430\u0440\u0456\u043f\u0442\u0435\u0440 \u04e9\u043b\u0448\u0435\u043c\u0456", "Subscript": "\u0410\u0441\u0442\u044b\u04a3\u0493\u044b \u0438\u043d\u0434\u0435\u043a\u0441", "Header 6": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430 6", "Redo": "\u049a\u0430\u0439\u0442\u0430\u0440\u0443", "Paragraph": "\u0410\u0431\u0437\u0430\u0446", "Ok": "\u041e\u041a", "Bold": "\u0416\u0443\u0430\u043d", "Code": "\u041a\u043e\u0434", "Italic": "\u041a\u04e9\u043b\u0431\u0435\u0443", "Align center": "\u041e\u0440\u0442\u0430\u0441\u044b\u043d\u0430 \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443", "Header 5": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430 5", "Heading 6": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f 6", "Heading 3": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f 3", "Decrease indent": "\u0428\u0435\u0433\u0456\u043d\u0456\u0441\u0442\u0456 \u043a\u0435\u043c\u0456\u0442\u0443", "Header 4": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u041e\u0441\u044b \u043e\u043f\u0446\u0438\u044f \u04e9\u0448\u0456\u0440\u0456\u043b\u043c\u0435\u0433\u0435\u043d\u0448\u0435, \u0431\u0443\u0444\u0435\u0440\u0434\u0435\u0433\u0456 \u043c\u04d9\u0442\u0456\u043d \u043a\u04d9\u0434\u0456\u043c\u0433\u0456 \u043c\u04d9\u0442\u0456\u043d \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u043e\u0439\u044b\u043b\u0430\u0434\u044b.", "Underline": "\u0410\u0441\u0442\u044b \u0441\u044b\u0437\u044b\u043b\u0493\u0430\u043d", "Cancel": "\u0411\u0430\u0441 \u0442\u0430\u0440\u0442\u0443", "Justify": "\u0422\u043e\u043b\u0442\u044b\u0440\u0443", "Inline": "\u041a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0456\u043b\u0433\u0435\u043d (Inline)", "Copy": "\u041a\u04e9\u0448\u0456\u0440\u0443", "Align left": "\u0421\u043e\u043b\u0493\u0430 \u043e\u0440\u043d\u0430\u043b\u0430\u0441\u0442\u044b\u0440\u0443", "Visual aids": "\u041a\u04e9\u043c\u0435\u043a\u0448\u0456 \u0431\u0435\u043b\u0433\u0456\u043b\u0435\u0440", "Lower Greek": "\u041a\u0456\u0448\u0456 \u0433\u0440\u0435\u043a \u04d9\u0440\u0456\u043f\u0442\u0435\u0440\u0456", "Square": "\u0428\u0430\u0440\u0448\u044b", "Default": "\u04d8\u0434\u0435\u043f\u043a\u0456", "Lower Alpha": "\u041a\u0456\u0448\u0456 \u04d9\u0440\u0456\u043f\u0442\u0435\u0440", "Circle": "\u0428\u0435\u04a3\u0431\u0435\u0440", "Disc": "\u0414\u0438\u0441\u043a", "Upper Alpha": "\u0411\u0430\u0441 \u04d9\u0440\u0456\u043f\u0442\u0435\u0440", "Upper Roman": "\u0411\u0430\u0441 \u0440\u0438\u043c \u0446\u0438\u0444\u0440\u043b\u0430\u0440\u044b", "Lower Roman": "\u041a\u0456\u0448\u0456 \u0440\u0438\u043c \u0446\u0438\u0444\u0440\u043b\u0430\u0440\u044b", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id \u0442\u0435\u043a \u049b\u0430\u043d\u0430 \u04d9\u0440\u0456\u043f\u0442\u0435\u043d \u0431\u0430\u0441\u0442\u0430\u043b\u044b\u043f, \u04d9\u0440\u0456\u043f\u0442\u0435\u0440, \u0441\u0430\u043d\u0434\u0430\u0440, \u0441\u044b\u0437\u044b\u049b\u0448\u0430\u043b\u0430\u0440, \u043d\u04af\u043a\u0442\u0435\u043b\u0435\u0440 \u0436\u04d9\u043d\u0435 \u0442.\u0431 \u0436\u0430\u043b\u0493\u0430\u0441\u0443\u044b \u0442\u0438\u0456\u0441.", "Name": "\u0410\u0442\u044b", "Anchor": "\u0411\u0435\u0442\u0431\u0435\u043b\u0433\u0456", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "\u0421\u0430\u049b\u0442\u0430\u043b\u043c\u0430\u0493\u0430\u043d \u04e9\u0437\u0433\u0435\u0440\u0456\u0441\u0442\u0435\u0440 \u0431\u0430\u0440. \u0421\u0456\u0437 \u0448\u044b\u043d\u044b\u043c\u0435\u043d \u0431\u0430\u0441\u049b\u0430 \u0436\u0435\u0440\u0433\u0435 \u043a\u0435\u0442\u0443\u0434\u0456 \u049b\u0430\u043b\u0430\u0439\u0441\u044b\u0437 \u0431\u0430?", "Restore last draft": "\u0421\u043e\u04a3\u0493\u044b \u0441\u0430\u049b\u0442\u0430\u043b\u0493\u0430\u043d\u0434\u044b \u049b\u0430\u043b\u043f\u044b\u043d\u0430 \u043a\u0435\u043b\u0442\u0456\u0440\u0443", "Special character": "\u0410\u0440\u043d\u0430\u0439\u044b \u0442\u0430\u04a3\u0431\u0430", "Source code": "\u0411\u0430\u0441\u0442\u0430\u043f\u049b\u044b \u043a\u043e\u0434", "Language": "\u0422\u0456\u043b", "Insert\/Edit code sample": "\u041a\u043e\u0434 \u04af\u043b\u0433\u0456\u0441\u0456\u043d \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443\/\u0442\u04af\u0437\u0435\u0442\u0443", "B": "B", "R": "R", "G": "G", "Color": "\u0422\u04af\u0441", "Right to left": "\u041e\u04a3\u043d\u0430\u043d \u0441\u043e\u043b\u0493\u0430", "Left to right": "\u0421\u043e\u043b\u0434\u0430\u043d \u043e\u04a3\u0493\u0430", "Emoticons": "\u0421\u043c\u0430\u0439\u043b\u0438\u043a\u0442\u0430\u0440", "Robots": "Meta-robots", "Document properties": "\u049a\u04b1\u0436\u0430\u0442 \u0441\u0438\u043f\u0430\u0442\u0442\u0430\u0440\u044b", "Title": "\u0410\u0442\u0430\u0443\u044b", "Keywords": "Meta-keywords", "Encoding": "Meta-charset", "Description": "\u0421\u0438\u043f\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b", "Author": "Meta-author", "Fullscreen": "\u0422\u043e\u043b\u044b\u049b \u044d\u043a\u0440\u0430\u043d", "Horizontal line": "\u041a\u04e9\u043b\u0434\u0435\u043d\u0435\u04a3 \u0441\u044b\u0437\u044b\u049b", "Horizontal space": "\u041a\u04e9\u043b\u0434\u0435\u043d\u0435\u04a3\u0456\u043d\u0435\u043d \u049b\u0430\u043b\u0430\u0442\u044b\u043d \u043e\u0440\u044b\u043d", "Insert\/edit image": "\u0421\u0443\u0440\u0435\u0442 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443\/\u0442\u04af\u0437\u0435\u0442\u0443", "General": "\u0416\u0430\u043b\u043f\u044b", "Advanced": "\u049a\u043e\u0441\u044b\u043c\u0448\u0430", "Source": "\u0410\u0434\u0440\u0435\u0441\u0456", "Border": "\u0416\u0438\u0435\u0433\u0456", "Constrain proportions": "\u041f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u044f\u043b\u0430\u0440\u0434\u044b \u0441\u0430\u049b\u0442\u0430\u0443", "Vertical space": "\u0422\u0456\u043a \u043a\u0435\u04a3\u0434\u0456\u0433\u0456", "Image description": "\u0421\u0443\u0440\u0435\u0442 \u0441\u0438\u043f\u0430\u0442\u0442\u0430\u043c\u0430\u0441\u044b", "Style": "\u0421\u0442\u0438\u043b\u0456", "Dimensions": "\u04e8\u043b\u0448\u0435\u043c\u0434\u0435\u0440\u0456", "Insert image": "\u0421\u0443\u0440\u0435\u0442 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Image": "\u0421\u0443\u0440\u0435\u0442", "Zoom in": "\u0416\u0430\u049b\u044b\u043d\u0434\u0430\u0442\u0443", "Contrast": "\u049a\u043e\u044e\u043b\u0430\u0442\u0443", "Back": "\u0410\u0440\u0442\u049b\u0430", "Gamma": "\u0413\u0430\u043c\u043c\u0430", "Flip horizontally": "\u041a\u04e9\u043b\u0434\u0435\u043d\u0435\u04a3\u043d\u0435\u043d \u0430\u0443\u0434\u0430\u0440\u0443", "Resize": "\u04e8\u043b\u0448\u0435\u043c\u0456\u043d \u04e9\u0437\u0433\u0435\u0440\u0442\u0443", "Sharpen": "\u041d\u0430\u049b\u0442\u044b\u043b\u0430\u0443", "Zoom out": "\u0410\u043b\u044b\u0441\u0442\u0430\u0442\u0443", "Image options": "\u0421\u0443\u0440\u0435\u0442 \u0431\u0430\u043f\u0442\u0430\u0443\u043b\u0430\u0440\u044b", "Apply": "\u0421\u0430\u049b\u0442\u0430\u0443", "Brightness": "\u0410\u0448\u044b\u049b\u0442\u0430\u0443", "Rotate clockwise": "\u0421\u0430\u0493\u0430\u0442 \u0442\u0456\u043b\u0456\u043d\u0456\u04a3 \u0431\u0430\u0493\u044b\u0442\u044b\u043c\u0435\u043d \u0431\u04b1\u0440\u0443", "Rotate counterclockwise": "\u0421\u0430\u0493\u0430\u0442 \u0442\u0456\u043b\u0456\u043d\u0456\u04a3 \u0431\u0430\u0493\u044b\u0442\u044b\u043d\u0430 \u049b\u0430\u0440\u0441\u044b \u0431\u04b1\u0440\u0443", "Edit image": "\u0421\u0443\u0440\u0435\u0442\u0442\u0456 \u04e9\u0437\u0433\u0435\u0440\u0442\u0443", "Color levels": "\u0422\u04af\u0441 \u0434\u0435\u04a3\u0433\u0435\u0439\u043b\u0435\u0440\u0456", "Crop": "\u041a\u0435\u0441\u0443", "Orientation": "\u0411\u0430\u0493\u0434\u0430\u0440", "Flip vertically": "\u0422\u0456\u0433\u0456\u043d\u0435\u043d \u0430\u0443\u0434\u0430\u0440\u0443", "Invert": "\u041a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Date\/time": "\u041a\u04af\u043d\/\u0443\u0430\u049b\u044b\u0442", "Insert date\/time": "\u041a\u04af\u043d\/\u0443\u0430\u049b\u044b\u0442 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Remove link": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435\u043d\u0456 \u0430\u043b\u044b\u043f \u0442\u0430\u0441\u0442\u0430\u0443", "Url": "URL-\u0430\u0434\u0440\u0435\u0441\u0456", "Text to display": "\u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0435\u0442\u0456\u043d \u043c\u04d9\u0442\u0456\u043d", "Anchors": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435\u043b\u0435\u0440", "Insert link": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Link": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435", "New window": "\u0416\u0430\u04a3\u0430 \u0442\u0435\u0440\u0435\u0437\u0435", "None": "\u0416\u043e\u049b", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u0421\u0456\u0437 \u0435\u04a3\u0433\u0456\u0437\u0456\u043f \u0442\u04b1\u0440\u0493\u0430\u043d URL \u0441\u044b\u0440\u0442\u049b\u044b \u0441\u0456\u043b\u0442\u0435\u043c\u0435 \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b. \u0410\u043b\u0434\u044b\u043d\u0430 http:\/\/ \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0456\u043d \u049b\u043e\u0441\u0443\u0434\u044b \u049b\u0430\u043b\u0430\u0439\u0441\u044b\u0437 \u0431\u0430?", "Paste or type a link": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435\u043d\u0456 \u049b\u043e\u0439\u044b\u04a3\u044b\u0437 \u043d\u0435\u043c\u0435\u0441\u0435 \u0442\u0435\u0440\u0456\u04a3\u0456\u0437", "Target": "\u0410\u0448\u044b\u043b\u0430\u0442\u044b\u043d \u0436\u0435\u0440\u0456", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0421\u0456\u0437 \u0435\u04a3\u0433\u0456\u0437\u0456\u043f \u0442\u04b1\u0440\u0493\u0430\u043d URL e-mail \u0430\u0434\u0440\u0435\u0441\u0456 \u0431\u043e\u043b\u044b\u043f \u0442\u0430\u0431\u044b\u043b\u0430\u0434\u044b. \u0410\u043b\u0434\u044b\u043d\u0430 mailto: \u043f\u0440\u0435\u0444\u0438\u043a\u0441\u0456\u043d \u049b\u043e\u0441\u0443\u0434\u044b \u049b\u0430\u043b\u0430\u0439\u0441\u044b\u0437 \u0431\u0430?", "Insert\/edit link": "\u0421\u0456\u043b\u0442\u0435\u043c\u0435 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443\/\u0442\u04af\u0437\u0435\u0442\u0443", "Insert\/edit video": "\u0412\u0438\u0434\u0435\u043e \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443\/\u0442\u04af\u0437\u0435\u0442\u0443", "Media": "\u041c\u0435\u0434\u0438\u0430", "Alternative source": "\u049a\u043e\u0441\u044b\u043c\u0448\u0430 \u0430\u0434\u0440\u0435\u0441\u0456", "Paste your embed code below:": "\u0422\u04e9\u043c\u0435\u043d\u0434\u0435\u0433\u0456 \u043a\u043e\u0434\u0442\u044b \u043a\u04e9\u0448\u0456\u0440\u0456\u043f \u0430\u043b\u044b\u043f, \u049b\u043e\u0439\u044b\u04a3\u044b\u0437:", "Insert video": "\u0412\u0438\u0434\u0435\u043e \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Poster": "\u041f\u043e\u0441\u0442\u0435\u0440\u0456", "Insert\/edit media": "\u041c\u0435\u0434\u0438\u0430 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443\/\u0442\u04af\u0437\u0435\u0442\u0443", "Embed": "\u0415\u043d\u0434\u0456\u0440\u0443", "Nonbreaking space": "\u04ae\u0437\u0434\u0456\u043a\u0441\u0456\u0437 \u0431\u043e\u0441 \u043e\u0440\u044b\u043d", "Page break": "\u0411\u0435\u0442 \u04af\u0437\u0456\u043b\u0456\u043c\u0456", "Paste as text": "\u041c\u04d9\u0442\u0456\u043d \u0440\u0435\u0442\u0456\u043d\u0434\u0435 \u049b\u043e\u044e", "Preview": "\u0410\u043b\u0434\u044b\u043d-\u0430\u043b\u0430 \u049b\u0430\u0440\u0430\u0443", "Print": "\u0411\u0430\u0441\u044b\u043f \u0448\u044b\u0493\u0430\u0440\u0443", "Save": "\u0421\u0430\u049b\u0442\u0430\u0443", "Could not find the specified string.": "\u041a\u04e9\u0440\u0441\u0435\u0442\u0456\u043b\u0433\u0435\u043d \u0436\u043e\u043b \u0442\u0430\u0431\u044b\u043b\u043c\u0430\u0434\u044b.", "Replace": "\u0410\u0443\u044b\u0441\u0442\u044b\u0440\u0443", "Next": "\u041a\u0435\u043b\u0435\u0441\u0456", "Whole words": "\u0422\u04b1\u0442\u0430\u0441 \u0441\u04e9\u0437\u0434\u0435\u0440", "Find and replace": "\u0422\u0430\u0431\u0443 \u0436\u04d9\u043d\u0435 \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443", "Replace with": "\u0410\u0443\u044b\u0441\u0442\u044b\u0440\u0430\u0442\u044b\u043d \u043c\u04d9\u0442\u0456\u043d", "Find": "\u0422\u0430\u0431\u044b\u043b\u0430\u0442\u044b\u043d \u043c\u04d9\u0442\u0456\u043d", "Replace all": "\u0411\u0430\u0440\u043b\u044b\u0493\u044b\u043d \u0430\u0443\u044b\u0441\u0442\u044b\u0440\u0443", "Match case": "\u0420\u0435\u0433\u0438\u0441\u0442\u0440\u0434\u0456 \u0435\u0441\u043a\u0435\u0440\u0443", "Prev": "\u0410\u043b\u0434\u044b\u04a3\u0493\u044b", "Spellcheck": "\u0415\u043c\u043b\u0435 \u0442\u0435\u043a\u0441\u0435\u0440\u0443", "Finish": "\u0410\u044f\u049b\u0442\u0430\u0443", "Ignore all": "\u0415\u0448\u049b\u0430\u0439\u0441\u044b\u0441\u044b\u043d \u0435\u043b\u0435\u043c\u0435\u0443", "Ignore": "\u0415\u043b\u0435\u043c\u0435\u0443", "Add to Dictionary": "\u0421\u04e9\u0437\u0434\u0456\u043a\u043a\u0435 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Insert row before": "\u04ae\u0441\u0442\u0456\u043d\u0435 \u0436\u043e\u043b \u049b\u043e\u0441\u0443", "Rows": "\u0416\u043e\u043b\u044b", "Height": "\u0411\u0438\u0456\u043a\u0442\u0456\u0433\u0456", "Paste row after": "\u0416\u043e\u043b\u0434\u044b\u04a3 \u0430\u0441\u0442\u044b\u043d\u0430 \u049b\u043e\u044e", "Alignment": "\u041e\u0440\u043d\u0430\u043b\u0430\u0441\u0443\u044b", "Border color": "\u0416\u0438\u0435\u043a \u0442\u04af\u0441\u0456", "Column group": "\u0411\u0430\u0493\u0430\u043d \u0442\u043e\u0431\u044b", "Row": "\u0416\u043e\u043b", "Insert column before": "\u0410\u043b\u0434\u044b\u043d\u0430 \u0431\u0430\u0493\u0430\u043d \u049b\u043e\u0441\u0443", "Split cell": "\u04b0\u044f\u0448\u044b\u049b\u0442\u044b \u0431\u04e9\u043b\u0443", "Cell padding": "\u04b0\u044f\u0448\u044b\u049b \u043a\u0435\u04a3\u0434\u0456\u0433\u0456", "Cell spacing": "\u04b0\u044f\u0448\u044b\u049b \u0430\u0440\u0430\u043b\u044b\u0493\u044b", "Row type": "\u0416\u043e\u043b \u0442\u0438\u043f\u0456", "Insert table": "\u041a\u0435\u0441\u0442\u0435 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Body": "\u041d\u0435\u0433\u0456\u0437\u0433\u0456 \u0431\u04e9\u043b\u0456\u0433\u0456", "Caption": "\u0410\u0442\u0430\u0443\u044b", "Footer": "\u0410\u044f\u049b \u0436\u0430\u0493\u044b", "Delete row": "\u0416\u043e\u043b\u0434\u044b \u0436\u043e\u044e", "Paste row before": "\u0416\u043e\u043b\u0434\u044b\u04a3 \u04af\u0441\u0442\u0456\u043d\u0435 \u049b\u043e\u044e", "Scope": "\u0410\u0443\u043c\u0430\u0493\u044b", "Delete table": "\u041a\u0435\u0441\u0442\u0435\u043d\u0456 \u0436\u043e\u044e", "H Align": "\u041a\u04e9\u043b\u0434\u0435\u043d\u0435\u04a3\u043d\u0435\u043d \u0442\u0443\u0440\u0430\u043b\u0430\u0443", "Top": "\u04ae\u0441\u0442\u0456", "Header cell": "\u0422\u0430\u049b\u044b\u0440\u044b\u043f\u0448\u0430 \u04b1\u044f\u0448\u044b\u049b", "Column": "\u0411\u0430\u0493\u0430\u043d", "Row group": "\u0416\u043e\u043b \u0442\u043e\u0431\u044b", "Cell": "\u04b0\u044f\u0448\u044b\u049b", "Middle": "\u041e\u0440\u0442\u0430\u0441\u044b", "Cell type": "\u04b0\u044f\u0448\u044b\u049b \u0442\u0438\u043f\u0456", "Copy row": "\u0416\u043e\u043b\u0434\u044b \u043a\u04e9\u0448\u0456\u0440\u0443", "Row properties": "\u0416\u043e\u043b \u0441\u0438\u043f\u0430\u0442\u0442\u0430\u0440\u044b", "Table properties": "\u041a\u0435\u0441\u0442\u0435 \u0441\u0438\u043f\u0430\u0442\u0442\u0430\u0440\u044b", "Bottom": "\u0410\u0441\u0442\u044b", "V Align": "\u0422\u0456\u0433\u0456\u043d\u0435\u043d \u0442\u0443\u0440\u0430\u043b\u0430\u0443", "Header": "\u0411\u0430\u0441 \u0436\u0430\u0493\u044b", "Right": "\u041e\u04a3\u0493\u0430", "Insert column after": "\u0410\u0440\u0442\u044b\u043d\u0430 \u0431\u0430\u0493\u0430\u043d \u049b\u043e\u0441\u0443", "Cols": "\u0411\u0430\u0493\u0430\u043d\u044b", "Insert row after": "\u0410\u0441\u0442\u044b\u043d\u0430 \u0436\u043e\u043b \u049b\u043e\u0441\u0443", "Width": "\u04b0\u0437\u044b\u043d\u0434\u044b\u0493\u044b", "Cell properties": "\u04b0\u044f\u0448\u044b\u049b \u0441\u0438\u043f\u0430\u0442\u0442\u0430\u0440\u044b", "Left": "\u0421\u043e\u043b\u0493\u0430", "Cut row": "\u0416\u043e\u043b\u0434\u044b \u049b\u0438\u044b\u043f \u0430\u043b\u0443", "Delete column": "\u0411\u0430\u0493\u0430\u043d\u0434\u044b \u0436\u043e\u044e", "Center": "\u041e\u0440\u0442\u0430\u0441\u044b\u043d\u0430", "Merge cells": "\u04b0\u044f\u0448\u044b\u049b\u0442\u0430\u0440\u0434\u044b \u0431\u0456\u0440\u0456\u043a\u0442\u0456\u0440\u0443", "Insert template": "\u04ae\u043b\u0433\u0456 \u043a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "Templates": "\u04ae\u043b\u0433\u0456\u043b\u0435\u0440", "Background color": "\u04e8\u04a3\u0456\u043d\u0456\u04a3 \u0442\u04af\u0441\u0456", "Custom...": "\u04e8\u0437\u0433\u0435\u0440\u0442\u0443", "Custom color": "\u0422\u04af\u0441 \u04e9\u0437\u0433\u0435\u0440\u0442\u0443", "No color": "\u0422\u04af\u0441\u0441\u0456\u0437", "Text color": "\u041c\u04d9\u0442\u0456\u043d \u0442\u04af\u0441\u0456", "Table of Contents": "\u041c\u0430\u0437\u043c\u04b1\u043d\u0434\u0430\u0440 \u043a\u0435\u0441\u0442\u0435\u0441\u0456", "Show blocks": "\u0411\u043b\u043e\u043a\u0442\u0430\u0440\u0434\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0443", "Show invisible characters": "\u041a\u04e9\u0440\u0456\u043d\u0431\u0435\u0439\u0442\u0456\u043d \u0442\u0430\u04a3\u0431\u0430\u043b\u0430\u0440\u0434\u044b \u043a\u04e9\u0440\u0441\u0435\u0442\u0443", "Words: {0}": "\u0421\u04e9\u0437 \u0441\u0430\u043d\u044b: {0}", "Insert": "\u041a\u0456\u0440\u0456\u0441\u0442\u0456\u0440\u0443", "File": "\u0424\u0430\u0439\u043b", "Edit": "\u0422\u04af\u0437\u0435\u0442\u0443", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0424\u043e\u0440\u043c\u0430\u0442\u0442\u0430\u043b\u0493\u0430\u043d \u043c\u04d9\u0442\u0456\u043d \u0430\u0443\u043c\u0430\u0493\u044b. \u041c\u0435\u043d\u044e \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d ALT-F9 \u0431\u0430\u0441\u044b\u04a3\u044b\u0437. \u049a\u04b1\u0440\u0430\u043b\u0434\u0430\u0440 \u043f\u0430\u043d\u0435\u043b\u0456\u043d \u043a\u04e9\u0440\u0441\u0435\u0442\u0443 \u04af\u0448\u0456\u043d ALT-F10 \u0431\u0430\u0441\u044b\u04a3\u044b\u0437. \u041a\u04e9\u043c\u0435\u043a \u0430\u043b\u0443 \u04af\u0448\u0456\u043d ALT-0 \u0431\u0430\u0441\u044b\u04a3\u044b\u0437.", "Tools": "\u049a\u04b1\u0440\u0430\u043b\u0434\u0430\u0440", "View": "\u041a\u04e9\u0440\u0456\u043d\u0456\u0441", "Table": "\u041a\u0435\u0441\u0442\u0435", "Format": "\u0424\u043e\u0440\u043c\u0430\u0442" });langs/sw.js000060400000017321152455403670006652 0ustar00tinymce.addI18n('sw',{ "Cut": "Kata", "Heading 5": "Kichwa 5", "Header 2": "Kijajuu 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Kisakuzi chako hakiauniwi kufika kwa clipboard moja kwa moja. Tafadhali tumia njia fupi ya kinanda taipu, kama Ctrl+X\/C\/V.", "Heading 4": "Kichwa 4", "Div": "Div", "Heading 2": "Kichwa 2", "Paste": "Bandika", "Close": "Funga", "Font Family": "Jamii ya fonti", "Pre": "Iliofomatiwa", "Align right": "Panga kulia", "New document": "Waraka mpya", "Blockquote": "Nukuu", "Numbered list": "Orodha ya nambari", "Heading 1": "Kichwa 1", "Headings": "Vichwa", "Increase indent": "Ongeza jongezo", "Formats": "Fomati", "Headers": "Vijajuu", "Select all": "Chagua zote", "Header 3": "Kijajuu 3", "Blocks": "Matofali", "Undo": "Tengua", "Strikethrough": "Mkato ulalo", "Bullet list": "Orodha ya tobo", "Header 1": "Kijajuu 1", "Superscript": "Hati juu", "Clear formatting": "Safisha fomati", "Font Sizes": "Ukubwa wa fonti", "Subscript": "Hati chini", "Header 6": "Kijajuu 6", "Redo": "Rudia", "Paragraph": "Aya", "Ok": "Ok", "Bold": "Nene", "Code": "Kodi", "Italic": "Italiki", "Align center": "Panga katikati", "Header 5": "Kijajuu 5", "Heading 6": "Kichwa 6", "Heading 3": "Kichwa 3", "Decrease indent": "Punguza jongezo", "Header 4": "Kijajuu 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Bandika sasa iko katika modi ya matini ghafi. Yaliyomo yatabandikwa kama matini ghafi mpaka utakapo zima chaguo hili.", "Underline": "Pigia mstari", "Cancel": "Ghairi", "Justify": "Sawazisha", "Inline": "Inline", "Copy": "Nakili", "Align left": "Panga kushoto", "Visual aids": "Misaada ya kuona", "Lower Greek": "Herufi ndogo za kigiriki", "Square": "Mraba", "Default": "Difoti", "Lower Alpha": "Herufi ndogo", "Circle": "Duara", "Disc": "Nukta", "Upper Alpha": "Herufi kubwa", "Upper Roman": "Herufi kubwa za kirumi", "Lower Roman": "Herufi ndogo za kirumi", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Kitambulisho kinapaswa kuanza na herufi kufwatiwa na maherufi, manambari, madeshi, vitone, minukta pacha au vistari chini pekee.", "Name": "Jina", "Anchor": "Nanga", "Id": "Kitambulisho", "You have unsaved changes are you sure you want to navigate away?": "Uko na mabadilisho ambayo hujayahifadhi. Una hakika unataka kuwacha?", "Restore last draft": "Rejesha mswadajaribio wa mwisho", "Special character": "Kikambo maalum", "Source code": "Chanzo", "Language": "Lugha", "Insert\/Edit code sample": "Ingiza\/hariri mfano wa kodi", "B": "B", "R": "R", "G": "G", "Color": "Rangi", "Right to left": "Kulia-kushoto", "Left to right": "Kushoto-kulia", "Emoticons": "Emoticons", "Robots": "Roboti", "Document properties": "Sifa za waraka", "Title": "Kichwa", "Keywords": "Maneno misingi", "Encoding": "Usimbaji", "Description": "Fafanuo", "Author": "Mwandishi", "Fullscreen": "Skrini kamili", "Horizontal line": "Mstari mlalo", "Horizontal space": "Nafasi mlalo", "Insert\/edit image": "Ingiza\/hariri picha", "General": "Ujumla", "Advanced": "Hali ya juu", "Source": "Kodi ya chanzo", "Border": "Mkingo", "Constrain proportions": "Lazimisha uwiano", "Vertical space": "Nafasi wima", "Image description": "Fafanuo la picha", "Style": "Mtindo", "Dimensions": "Kipimo", "Insert image": "Ingiza picha", "Image": "Picha", "Zoom in": "Kuza zaidi", "Contrast": "Ulinganuzi", "Back": "Nyuma", "Gamma": "Gamma", "Flip horizontally": "Geuza mlalo", "Resize": "Badilisha ukubwa", "Sharpen": "Chonga", "Zoom out": "Fifiza", "Image options": "Machaguo ya picha", "Apply": "Omba", "Brightness": "Mwangaza", "Rotate clockwise": "Zungusha mwelekeo saa", "Rotate counterclockwise": "Zungusha mwelekeo kinyume cha saa", "Edit image": "Hariri", "Color levels": "Viwango vya rangi", "Crop": "Puna", "Orientation": "Uelekeo", "Flip vertically": "Geuza wima", "Invert": "Pindua", "Date\/time": "Tarehe\/saa", "Insert date\/time": "Ingiza tarehe\/saa", "Remove link": "Ondoa kiungo", "Url": "URL", "Text to display": "Matini ya kuonyesha", "Anchors": "Mananga", "Insert link": "Ingiza kiungo", "Link": "Kiungo", "New window": "Dirisha jipya", "None": "Hakuna", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "URL ulioingiza unaonekana ni kama kiungo cha nje. Unataka kuongeza prefix inayohitajika, ambayo ni http:\/\/ ?", "Paste or type a link": "Bandika au kuchapa kiungo", "Target": "Lengo", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "URL ulioingiza unaonekana ni kama anwani ya barua pepe. Unataka kuongeza prefix inayohitajika, ambayo ni mailto: ?", "Insert\/edit link": "Ingiza\/hariri kiungo", "Insert\/edit video": "Ingiza\/hariri video", "Media": "Midia", "Alternative source": "Chanzo cha mbadala", "Paste your embed code below:": "Bandika kodi yako ya kupachika hapo chini:", "Insert video": "Ingiza video", "Poster": "Bando", "Insert\/edit media": "Ingiza\/hariri midia", "Embed": "Pachika", "Nonbreaking space": "Nafasi fungamanishi", "Page break": "Kigawa kurasa", "Paste as text": "Bandika kama matini", "Preview": "Hakikisho", "Print": "Chapisha", "Save": "Hifadhi", "Could not find the specified string.": "Haikuweza kupata tungo lililoelezwa.", "Replace": "Badilisha", "Next": "Ifuatayo", "Whole words": "Maneno kamili", "Find and replace": "Tafuta na badilisha", "Replace with": "Badilisha na", "Find": "Tafuta", "Replace all": "Badilisha zote", "Match case": "Tahadhari herufi ndogo\/kubwa", "Prev": "Iliopita", "Spellcheck": "Ukaguzi tahajia", "Finish": "Maliza", "Ignore all": "Puuza zote", "Ignore": "Puuza", "Add to Dictionary": "Ongeza kwa kamusi", "Insert row before": "Ingiza safumlalo kabla", "Rows": "Masafumlalo", "Height": "Urefu", "Paste row after": "Bandika safumlalo baada", "Alignment": "Mpangilio", "Border color": "Rangi ya mkingo", "Column group": "Kikundi cha safuwima", "Row": "Safumlalo", "Insert column before": "Ingiza safuwima kabla", "Split cell": "Bainisha seli", "Cell padding": "Pedi ya seli", "Cell spacing": "Nafasi ya seli", "Row type": "Aina ya safumlalo", "Insert table": "Ingiza jedwali", "Body": "Mwili", "Caption": "Manukuu", "Footer": "Kijachini", "Delete row": "Futa safumlalo", "Paste row before": "Bandika safumlalo kabla", "Scope": "Wigo", "Delete table": "Futa jedwali", "H Align": "Pangilia mlalo", "Top": "Juu", "Header cell": "Seli ya kijajuu", "Column": "Safuwima", "Row group": "Kikundi cha safumlalo", "Cell": "Seli", "Middle": "Katikati", "Cell type": "Aina ya seli", "Copy row": "Nakili safumlalo", "Row properties": "Mali ya safumlalo", "Table properties": "Masifa ya jedwali", "Bottom": "Chini", "V Align": "Pangilia wima", "Header": "Kijajuu", "Right": "Kulia", "Insert column after": "Ingiza safuwima baada", "Cols": "Masafuwima", "Insert row after": "Ingiza safumlalo baada", "Width": "Upana", "Cell properties": "Mali ya seli", "Left": "Kushoto", "Cut row": "Kata safumlalo", "Delete column": "Futa safuwima", "Center": "Katikati", "Merge cells": "Unganisha maseli", "Insert template": "Ingiza templeti", "Templates": "Templeti", "Background color": "Rangi ya usuli", "Custom...": "Desturi...", "Custom color": "Rangi ya desturi", "No color": "Hakuna rangi", "Text color": "Rangi ya matini", "Table of Contents": "Jedwali la yaliyomo", "Show blocks": "Onyesha matofali", "Show invisible characters": "Onyesha vibambo visivyoonekana", "Words: {0}": "Maneno: {0}", "Insert": "Ingiza", "File": "Faili", "Edit": "Hariri picha", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Eneo la matini tondoti. Bofya ALT-F9 kwa menyu. Bofya ALT-F10 kwa upauzana. Bofya ALT-0 kwa usaidizi", "Tools": "Zana", "View": "Mtazamo", "Table": "Jedwali", "Format": "Fomati", });langs/ta.js000060400000057427152455403670006640 0ustar00tinymce.addI18n('ta',{ "Cut": "\u0bb5\u0bc6\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Heading 5": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 5", "Header 2": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0ba8\u0b95\u0bb2\u0b95\u0ba4\u0bcd\u0ba4\u0bbf\u0bb1\u0bcd\u0b95\u0bc1 \u0ba8\u0bc7\u0bb0\u0b9f\u0bbf \u0b85\u0ba3\u0bc1\u0b95\u0bb2\u0bc8 \u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b89\u0bb2\u0bbe\u0bb5\u0bbf \u0b86\u0ba4\u0bb0\u0bbf\u0b95\u0bcd\u0b95\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8. \u0b86\u0b95\u0bb5\u0bc7 \u0bb5\u0bbf\u0b9a\u0bc8\u0baa\u0bcd\u0baa\u0bb2\u0b95\u0bc8 \u0b95\u0bc1\u0bb1\u0bc1\u0b95\u0bcd\u0b95\u0bc1\u0bb5\u0bb4\u0bbf\u0b95\u0bb3\u0bbe\u0ba9 Ctrl+X\/C\/V \u0b87\u0bb5\u0bb1\u0bcd\u0bb1\u0bc8 \u0ba4\u0baf\u0bb5\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0ba4\u0bc1 \u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0b95.", "Heading 4": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 4", "Div": "\u0baa\u0bbf\u0bb0\u0bbf\u0bb5\u0bc1 (Div)", "Heading 2": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 2", "Paste": "\u0b92\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Close": "\u0bae\u0bc2\u0b9f\u0bc1\u0b95", "Font Family": "\u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0bb0\u0bc1 \u0b95\u0bc1\u0b9f\u0bc1\u0bae\u0bcd\u0baa\u0bae\u0bcd", "Pre": "\u0bae\u0bc1\u0ba9\u0bcd \u0bb5\u0b9f\u0bbf\u0bb5\u0bae\u0bc8\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1 (Pre)", "Align right": "\u0bb5\u0bb2\u0ba4\u0bc1 \u0b9a\u0bc0\u0bb0\u0bae\u0bc8", "New document": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b86\u0bb5\u0ba3\u0bae\u0bcd", "Blockquote": "\u0ba4\u0bca\u0b95\u0bc1\u0ba4\u0bbf \u0bae\u0bc7\u0bb1\u0bcd\u0b95\u0bcb\u0bb3\u0bcd", "Numbered list": "\u0b8e\u0ba3\u0bcd\u0ba3\u0bbf\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd", "Heading 1": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 1", "Headings": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Increase indent": "\u0b89\u0bb3\u0bcd\u0ba4\u0bb3\u0bcd\u0bb3\u0bc1\u0ba4\u0bb2\u0bc8 \u0b85\u0ba4\u0bbf\u0b95\u0bb0\u0bbf\u0b95\u0bcd\u0b95", "Formats": "\u0bb5\u0b9f\u0bbf\u0bb5\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Headers": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Select all": "\u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc8\u0baf\u0bc1\u0bae\u0bcd \u0ba4\u0bc7\u0bb0\u0bcd\u0bb5\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0b95", "Header 3": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 3", "Blocks": "\u0ba4\u0bca\u0b95\u0bc1\u0ba4\u0bbf\u0b95\u0bb3\u0bcd", "Undo": "\u0bae\u0bc1\u0ba9\u0bcd\u0b9a\u0bc6\u0baf\u0bb2\u0bcd \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0b95", "Strikethrough": "\u0ba8\u0b9f\u0bc1\u0b95\u0bcd\u0b95\u0bcb\u0b9f\u0bc1", "Bullet list": "\u0baa\u0bca\u0b9f\u0bcd\u0b9f\u0bbf\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0baf\u0bb2\u0bcd", "Header 1": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 1", "Superscript": "\u0bae\u0bc7\u0bb2\u0bcd\u0b92\u0b9f\u0bcd\u0b9f\u0bc1", "Clear formatting": "\u0bb5\u0b9f\u0bbf\u0bb5\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0b85\u0bb4\u0bbf\u0b95\u0bcd\u0b95", "Font Sizes": "\u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0bb0\u0bc1 \u0b85\u0bb3\u0bb5\u0bc1\u0b95\u0bb3\u0bcd", "Subscript": "\u0b95\u0bc0\u0bb4\u0bcd\u0b92\u0b9f\u0bcd\u0b9f\u0bc1", "Header 6": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 6", "Redo": "\u0bae\u0bc0\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd \u0b9a\u0bc6\u0baf\u0bcd\u0b95", "Paragraph": "\u0baa\u0ba4\u0bcd\u0ba4\u0bbf", "Ok": "\u0b9a\u0bb0\u0bbf", "Bold": "\u0ba4\u0b9f\u0bbf\u0baa\u0bcd\u0baa\u0bc1", "Code": "\u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bc1", "Italic": "\u0b9a\u0bbe\u0baf\u0bcd\u0bb5\u0bc1", "Align center": "\u0bae\u0bc8\u0baf \u0b9a\u0bc0\u0bb0\u0bae\u0bc8", "Header 5": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 5", "Heading 6": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 6", "Heading 3": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 3", "Decrease indent": "\u0b89\u0bb3\u0bcd\u0ba4\u0bb3\u0bcd\u0bb3\u0bc1\u0ba4\u0bb2\u0bc8 \u0b95\u0bc1\u0bb1\u0bc8\u0b95\u0bcd\u0b95", "Header 4": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0b87\u0baf\u0bb2\u0bcd\u0baa\u0bc1 \u0b89\u0bb0\u0bc8 \u0bae\u0bc1\u0bb1\u0bc8\u0bae\u0bc8\u0baf\u0bbf\u0bb2\u0bcd \u0ba4\u0bb1\u0bcd\u0baa\u0bcb\u0ba4\u0bc1 \u0b92\u0b9f\u0bcd\u0b9f\u0bc1\u0ba4\u0bb2\u0bcd \u0b89\u0bb3\u0bcd\u0bb3\u0ba4\u0bc1. \u0ba4\u0bbe\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b87\u0ba8\u0bcd\u0ba4 \u0bb5\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0bc8 \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0bb5\u0bb0\u0bc8 \u0b89\u0bb3\u0bcd\u0bb3\u0b9f\u0b95\u0bcd\u0b95\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b87\u0baf\u0bb2\u0bcd\u0baa\u0bc1 \u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b95 \u0b92\u0b9f\u0bcd\u0b9f\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0bae\u0bcd.", "Underline": "\u0b85\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0bcb\u0b9f\u0bc1", "Cancel": "\u0bb0\u0ba4\u0bcd\u0ba4\u0bc1 \u0b9a\u0bc6\u0baf\u0bcd\u0b95", "Justify": "\u0ba8\u0bc7\u0bb0\u0bcd\u0ba4\u0bcd\u0ba4\u0bbf \u0b9a\u0bc6\u0baf\u0bcd\u0b95", "Inline": "\u0b89\u0bb3\u0bcd\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8", "Copy": "\u0ba8\u0b95\u0bb2\u0bc6\u0b9f\u0bc1\u0b95\u0bcd\u0b95", "Align left": "\u0b87\u0b9f\u0ba4\u0bc1 \u0b9a\u0bc0\u0bb0\u0bae\u0bc8", "Visual aids": "\u0b95\u0bbe\u0b9f\u0bcd\u0b9a\u0bbf\u0ba4\u0bcd \u0ba4\u0bc1\u0ba3\u0bc8\u0baf\u0ba9\u0bcd\u0b95\u0bb3\u0bcd", "Lower Greek": "\u0b95\u0bc0\u0bb4\u0bcd \u0b95\u0bbf\u0bb0\u0bc7\u0b95\u0bcd\u0b95\u0bae\u0bcd", "Square": "\u0b9a\u0ba4\u0bc1\u0bb0\u0bae\u0bcd", "Default": "\u0b89\u0bb3\u0bcd\u0bb3\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0bc1", "Lower Alpha": "\u0b95\u0bc0\u0bb4\u0bcd \u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1", "Circle": "\u0bb5\u0b9f\u0bcd\u0b9f\u0bae\u0bcd", "Disc": "\u0bb5\u0b9f\u0bcd\u0b9f\u0bc1", "Upper Alpha": "\u0bae\u0bc7\u0bb2\u0bcd \u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1", "Upper Roman": "\u0bae\u0bc7\u0bb2\u0bcd \u0bb0\u0bcb\u0bae\u0bbe\u0ba9\u0bbf\u0baf\u0bae\u0bcd", "Lower Roman": "\u0b95\u0bc0\u0bb4\u0bcd \u0bb0\u0bcb\u0bae\u0bbe\u0ba9\u0bbf\u0baf\u0bae\u0bcd", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id \u0b86\u0ba9\u0ba4\u0bc1 \u0b92\u0bb0\u0bc1 \u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0ba4\u0bca\u0b9f\u0b99\u0bcd\u0b95 \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd; \u0b87\u0ba4\u0ba9\u0bc8\u0ba4\u0bcd \u0ba4\u0bca\u0b9f\u0bb0\u0bcd\u0ba8\u0bcd\u0ba4\u0bc1 \u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bcd, \u0b8e\u0ba3\u0bcd\u0b95\u0bb3\u0bcd, \u0b87\u0b9f\u0bc8\u0b95\u0bcd\u0b95\u0bc7\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd (-), \u0baa\u0bc1\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bb3\u0bcd (.), \u0bae\u0bc1\u0b95\u0bcd\u0b95\u0bbe\u0bb1\u0bcd\u0baa\u0bc1\u0bb3\u0bcd\u0bb3\u0bbf\u0b95\u0bb3\u0bcd (:) \u0bae\u0bb1\u0bcd\u0bb1\u0bc1\u0bae\u0bcd \u0b85\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0bc7\u0bbe\u0b9f\u0bc1\u0b95\u0bb3\u0bcd (_) \u0bae\u0b9f\u0bcd\u0b9f\u0bc1\u0bae\u0bc7 \u0b87\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bb2\u0bcd \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bcd.", "Name": "\u0baa\u0bc6\u0baf\u0bb0\u0bcd", "Anchor": "\u0ba8\u0b99\u0bcd\u0b95\u0bc2\u0bb0\u0bae\u0bcd", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "\u0b9a\u0bc7\u0bae\u0bbf\u0b95\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0b9f\u0bbe\u0ba4 \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b89\u0bb3\u0bcd\u0bb3\u0ba9; \u0ba4\u0bbe\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b89\u0bb1\u0bc1\u0ba4\u0bbf\u0baf\u0bbe\u0b95 \u0bb5\u0bc6\u0bb3\u0bbf\u0baf\u0bc7\u0bb1 \u0bb5\u0bbf\u0bb0\u0bc1\u0bae\u0bcd\u0baa\u0bc1\u0b95\u0bbf\u0bb1\u0bc0\u0bb0\u0bcd\u0b95\u0bbe\u0bb3\u0bbe?", "Restore last draft": "\u0b95\u0b9f\u0ba8\u0bcd\u0ba4 \u0bb5\u0bb0\u0bc8\u0bb5\u0bc8 \u0bae\u0bc0\u0b9f\u0bcd\u0b9f\u0bc6\u0b9f\u0bc1\u0b95\u0bcd\u0b95", "Special character": "\u0b9a\u0bbf\u0bb1\u0baa\u0bcd\u0baa\u0bc1 \u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0bb0\u0bc1", "Source code": "\u0bae\u0bc2\u0bb2 \u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bc1", "Language": "\u0bae\u0bca\u0bb4\u0bbf", "Insert\/Edit code sample": "\u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bc1 \u0bae\u0bbe\u0ba4\u0bbf\u0bb0\u0bbf \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95\/\u0ba4\u0bca\u0b95\u0bc1\u0b95\u0bcd\u0b95", "B": "B", "R": "R", "G": "G", "Color": "\u0ba8\u0bbf\u0bb1\u0bae\u0bcd", "Right to left": "\u0bb5\u0bb2\u0bae\u0bbf\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bc1 \u0b87\u0b9f\u0bae\u0bcd", "Left to right": "\u0b87\u0b9f\u0bae\u0bbf\u0bb0\u0bc1\u0ba8\u0bcd\u0ba4\u0bc1 \u0bb5\u0bb2\u0bae\u0bcd", "Emoticons": "\u0b89\u0ba3\u0bb0\u0bcd\u0b9a\u0bcd\u0b9a\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bbf\u0bae\u0b99\u0bcd\u0b95\u0bb3\u0bcd", "Robots": "\u0baa\u0bca\u0bb1\u0bbf\u0baf\u0ba9\u0bcd\u0b95\u0bb3\u0bcd (Robots)", "Document properties": "\u0b86\u0bb5\u0ba3\u0ba4\u0bcd\u0ba4\u0bbf\u0ba9\u0bcd \u0baa\u0ba3\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Title": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1", "Keywords": "\u0bae\u0bc1\u0ba4\u0ba9\u0bcd\u0bae\u0bc8\u0b9a\u0bcd\u0b9a\u0bca\u0bb1\u0bcd\u0b95\u0bb3\u0bcd", "Encoding": "\u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bbe\u0b95\u0bcd\u0b95\u0bae\u0bcd", "Description": "\u0bb5\u0bbf\u0bb5\u0bb0\u0bae\u0bcd", "Author": "\u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bbe\u0bb3\u0bb0\u0bcd", "Fullscreen": "\u0bae\u0bc1\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bbf\u0bb0\u0bc8", "Horizontal line": "\u0b95\u0bbf\u0b9f\u0bc8 \u0b95\u0bcb\u0b9f\u0bc1", "Horizontal space": "\u0b95\u0bbf\u0b9f\u0bc8\u0bae\u0b9f\u0bcd\u0b9f \u0b87\u0b9f\u0bc8\u0bb5\u0bc6\u0bb3\u0bbf", "Insert\/edit image": "\u0baa\u0b9f\u0bae\u0bcd \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95\/\u0ba4\u0bca\u0b95\u0bc1\u0b95\u0bcd\u0b95", "General": "\u0baa\u0bca\u0ba4\u0bc1", "Advanced": "\u0bae\u0bc7\u0bae\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0ba4\u0bc1", "Source": "\u0bae\u0bc2\u0bb2\u0bae\u0bcd", "Border": "\u0b95\u0bb0\u0bc8", "Constrain proportions": "\u0bb5\u0bbf\u0b95\u0bbf\u0ba4\u0bbe\u0b9a\u0bcd\u0b9a\u0bbe\u0bb0\u0ba4\u0bcd\u0ba4\u0bbf\u0bb2\u0bcd \u0b95\u0b9f\u0bcd\u0b9f\u0bc1\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0b95", "Vertical space": "\u0ba8\u0bc6\u0b9f\u0bc1\u0ba4\u0bb3 \u0b87\u0b9f\u0bc8\u0bb5\u0bc6\u0bb3\u0bbf", "Image description": "\u0baa\u0b9f \u0bb5\u0bbf\u0bb5\u0bb0\u0bae\u0bcd", "Style": "\u0baa\u0bbe\u0ba3\u0bbf", "Dimensions": "\u0baa\u0bb0\u0bbf\u0bae\u0bbe\u0ba3\u0b99\u0bcd\u0b95\u0bb3\u0bcd", "Insert image": "\u0baa\u0b9f\u0bae\u0bcd \u0b9a\u0bca\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Image": "\u0baa\u0b9f\u0bae\u0bcd", "Zoom in": "\u0baa\u0bc6\u0bb0\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bc1", "Contrast": "\u0ba8\u0bbf\u0bb1\u0bae\u0bbe\u0bb1\u0bc1\u0baa\u0bbe\u0b9f\u0bc1", "Back": "\u0baa\u0bbf\u0ba9\u0bcd", "Gamma": "Gamma", "Flip horizontally": "\u0b95\u0bbf\u0b9f\u0bc8\u0bae\u0b9f\u0bcd\u0b9f\u0bae\u0bbe\u0b95 \u0baa\u0bc1\u0bb0\u0b9f\u0bcd\u0b9f\u0bc1", "Resize": "\u0bae\u0bb1\u0bc1\u0b85\u0bb3\u0bb5\u0bbf\u0b9f\u0bc1", "Sharpen": "\u0b95\u0bc2\u0bb0\u0bcd\u0bae\u0bc8\u0baf\u0bbe\u0b95\u0bcd\u0b95\u0bc1", "Zoom out": "\u0b9a\u0bbf\u0bb1\u0bbf\u0ba4\u0bbe\u0b95\u0bcd\u0b95\u0bc1", "Image options": "\u0baa\u0b9f \u0bb5\u0bbf\u0bb0\u0bc1\u0baa\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Apply": "\u0baa\u0baf\u0ba9\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1", "Brightness": "\u0b92\u0bb3\u0bbf\u0bb0\u0bcd\u0bb5\u0bc1", "Rotate clockwise": "\u0b95\u0b9f\u0bbf\u0b95\u0bbe\u0bb0\u0ba4\u0bcd\u0ba4\u0bbf\u0b9a\u0bc8\u0baf\u0bbf\u0bb2\u0bcd \u0b9a\u0bc1\u0bb4\u0bb1\u0bcd\u0bb1\u0bc1", "Rotate counterclockwise": "\u0b95\u0b9f\u0bbf\u0b95\u0bbe\u0bb0 \u0b8e\u0ba4\u0bbf\u0bb0\u0bcd\u0ba4\u0bbf\u0b9a\u0bc8\u0baf\u0bbf\u0bb2\u0bcd \u0b9a\u0bc1\u0bb4\u0bb1\u0bcd\u0bb1\u0bc1", "Edit image": "\u0baa\u0b9f\u0ba4\u0bcd\u0ba4\u0bc8 \u0ba4\u0bca\u0b95\u0bc1", "Color levels": "\u0bb5\u0ba3\u0bcd\u0ba3 \u0ba8\u0bbf\u0bb2\u0bc8\u0b95\u0bb3\u0bcd", "Crop": "\u0b9a\u0bc6\u0ba4\u0bc1\u0b95\u0bcd\u0b95\u0bc1", "Orientation": "\u0ba4\u0bbf\u0b9a\u0bc8\u0baf\u0bae\u0bc8\u0bb5\u0bc1", "Flip vertically": "\u0b9a\u0bc6\u0b99\u0bcd\u0b95\u0bc1\u0ba4\u0bcd\u0ba4\u0bbe\u0b95 \u0baa\u0bc1\u0bb0\u0b9f\u0bcd\u0b9f\u0bc1", "Invert": "\u0ba8\u0bc7\u0bb0\u0bcd\u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1", "Date\/time": "\u0ba4\u0bc7\u0ba4\u0bbf\/\u0ba8\u0bc7\u0bb0\u0bae\u0bcd", "Insert date\/time": "\u0ba4\u0bc7\u0ba4\u0bbf\/\u0ba8\u0bc7\u0bb0\u0bae\u0bcd \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Remove link": "\u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc8 \u0b85\u0b95\u0bb1\u0bcd\u0bb1\u0bc1\u0b95", "Url": "\u0b87\u0ba3\u0bc8\u0baf\u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf", "Text to display": "\u0b95\u0bbe\u0b9f\u0bcd\u0b9a\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4 \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bbf\u0baf \u0b89\u0bb0\u0bc8", "Anchors": "\u0ba8\u0b99\u0bcd\u0b95\u0bc2\u0bb0\u0b99\u0bcd\u0b95\u0bb3\u0bcd", "Insert link": "\u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Link": "\u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc1", "New window": "\u0baa\u0bc1\u0ba4\u0bbf\u0baf \u0b9a\u0bbe\u0bb3\u0bb0\u0bae\u0bcd", "None": "\u0b8f\u0ba4\u0bc1\u0bae\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u0ba4\u0bbe\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b89\u0bb3\u0bcd\u0bb3\u0bbf\u0b9f\u0bcd\u0b9f \u0b87\u0ba3\u0bc8\u0baf\u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf (URL) \u0b92\u0bb0\u0bc1 \u0bb5\u0bc6\u0bb3\u0bbf\u0baa\u0bcd\u0baa\u0bc1\u0bb1 \u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc1 (external link) \u0baa\u0bcb\u0bb2\u0bcd \u0ba4\u0bcb\u0ba9\u0bcd\u0bb1\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1. \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 http:\/\/ \u0bae\u0bc1\u0ba9\u0bcd-\u0b92\u0b9f\u0bcd\u0b9f\u0bc8\u0ba4\u0bcd (prefix) \u0ba4\u0bbe\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bc7\u0bb0\u0bcd\u0b95\u0bcd\u0b95 \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bbe?", "Paste or type a link": "\u0b92\u0bb0\u0bc1 \u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0b92\u0b9f\u0bcd\u0b9f\u0bc1\u0b95 \u0b85\u0bb2\u0bcd\u0bb2\u0ba4\u0bc1 \u0ba4\u0b9f\u0bcd\u0b9f\u0b9a\u0bcd\u0b9a\u0bbf\u0b9f\u0bc1\u0b95", "Target": "\u0b87\u0bb2\u0b95\u0bcd\u0b95\u0bc1", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0ba4\u0bbe\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b89\u0bb3\u0bcd\u0bb3\u0bbf\u0b9f\u0bcd\u0b9f \u0b87\u0ba3\u0bc8\u0baf\u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf (URL) \u0b92\u0bb0\u0bc1 \u0bae\u0bbf\u0ba9\u0bcd-\u0b85\u0b9e\u0bcd\u0b9a\u0bb2\u0bcd \u0bae\u0bc1\u0b95\u0bb5\u0bb0\u0bbf \u0baa\u0bcb\u0bb2\u0bcd \u0ba4\u0bcb\u0ba9\u0bcd\u0bb1\u0bc1\u0b95\u0bbf\u0bb1\u0ba4\u0bc1. \u0ba4\u0bc7\u0bb5\u0bc8\u0baf\u0bbe\u0ba9 mailto: \u0bae\u0bc1\u0ba9\u0bcd-\u0b92\u0b9f\u0bcd\u0b9f\u0bc8\u0ba4\u0bcd (prefix) \u0ba4\u0bbe\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b9a\u0bc7\u0bb0\u0bcd\u0b95\u0bcd\u0b95 \u0bb5\u0bc7\u0ba3\u0bcd\u0b9f\u0bc1\u0bae\u0bbe?", "Insert\/edit link": "\u0b87\u0ba3\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95\/\u0ba4\u0bca\u0b95\u0bc1\u0b95\u0bcd\u0b95", "Insert\/edit video": "\u0b95\u0bbe\u0ba3\u0bca\u0bb3\u0bbf \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95\/\u0ba4\u0bca\u0b95\u0bc1\u0b95\u0bcd\u0b95", "Media": "\u0b8a\u0b9f\u0b95\u0bae\u0bcd", "Alternative source": "\u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1 \u0bae\u0bc2\u0bb2\u0bae\u0bcd", "Paste your embed code below:": "\u0ba4\u0b99\u0bcd\u0b95\u0bb3\u0bcd \u0b89\u0b9f\u0bcd\u0baa\u0bc6\u0bbe\u0ba4\u0bbf \u0b95\u0bc1\u0bb1\u0bbf\u0baf\u0bc0\u0b9f\u0bcd\u0b9f\u0bc8 \u0b95\u0bc0\u0bb4\u0bc7 \u0b92\u0b9f\u0bcd\u0b9f\u0bb5\u0bc1\u0bae\u0bcd:", "Insert video": "\u0b95\u0bbe\u0ba3\u0bca\u0bb3\u0bbf \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Poster": "\u0b9a\u0bc1\u0bb5\u0bb0\u0bca\u0b9f\u0bcd\u0b9f\u0bbf", "Insert\/edit media": "\u0b8a\u0b9f\u0b95\u0bae\u0bcd \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95\/\u0ba4\u0bca\u0b95\u0bc1\u0b95\u0bcd\u0b95", "Embed": "\u0b89\u0b9f\u0bcd\u0baa\u0bca\u0ba4\u0bbf", "Nonbreaking space": "\u0baa\u0bbf\u0bb0\u0bbf\u0baf\u0bbe\u0ba4 \u0b87\u0b9f\u0bc8\u0bb5\u0bc6\u0bb3\u0bbf", "Page break": "\u0baa\u0b95\u0bcd\u0b95 \u0baa\u0bbf\u0bb0\u0bbf\u0baa\u0bcd\u0baa\u0bc1", "Paste as text": "\u0b89\u0bb0\u0bc8\u0baf\u0bbe\u0b95 \u0b92\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Preview": "\u0bae\u0bc1\u0ba9\u0bcd\u0ba8\u0bcb\u0b95\u0bcd\u0b95\u0bc1", "Print": "\u0b85\u0b9a\u0bcd\u0b9a\u0bbf\u0b9f\u0bc1\u0b95", "Save": "\u0b9a\u0bc7\u0bae\u0bbf\u0b95\u0bcd\u0b95", "Could not find the specified string.": "\u0b95\u0bc1\u0bb1\u0bbf\u0baa\u0bcd\u0baa\u0bbf\u0b9f\u0bcd\u0b9f \u0b9a\u0bb0\u0bae\u0bcd \u0b95\u0ba3\u0bcd\u0b9f\u0bc1\u0baa\u0bbf\u0b9f\u0bbf\u0b95\u0bcd\u0b95 \u0bae\u0bc1\u0b9f\u0bbf\u0baf\u0bb5\u0bbf\u0bb2\u0bcd\u0bb2\u0bc8", "Replace": "\u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1\u0b95", "Next": "\u0b85\u0b9f\u0bc1\u0ba4\u0bcd\u0ba4", "Whole words": "\u0bae\u0bc1\u0bb4\u0bc1 \u0b9a\u0bca\u0bb1\u0bcd\u0b95\u0bb3\u0bcd", "Find and replace": "\u0b95\u0ba3\u0bcd\u0b9f\u0bc1\u0baa\u0bbf\u0b9f\u0bbf\u0ba4\u0bcd\u0ba4\u0bc1 \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1\u0b95", "Replace with": "\u0b87\u0ba4\u0ba9\u0bc1\u0b9f\u0ba9\u0bcd \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1\u0b95", "Find": "\u0b95\u0ba3\u0bcd\u0b9f\u0bc1\u0baa\u0bbf\u0b9f\u0bbf\u0b95\u0bcd\u0b95", "Replace all": "\u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc8\u0baf\u0bc1\u0bae\u0bcd \u0bae\u0bbe\u0bb1\u0bcd\u0bb1\u0bc1\u0b95", "Match case": "\u0bb5\u0b9f\u0bbf\u0bb5\u0ba4\u0bcd\u0ba4\u0bc8 \u0baa\u0bca\u0bb0\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0b95", "Prev": "\u0bae\u0bc1\u0ba8\u0bcd\u0ba4\u0bc8\u0baf", "Spellcheck": "\u0b8e\u0bb4\u0bc1\u0ba4\u0bcd\u0ba4\u0bc1\u0baa\u0bcd\u0baa\u0bbf\u0bb4\u0bc8\u0baf\u0bc8 \u0b9a\u0bb0\u0bbf\u0baa\u0bbe\u0bb0\u0bcd\u0b95\u0bcd\u0b95", "Finish": "\u0bae\u0bc1\u0b9f\u0bbf\u0b95\u0bcd\u0b95", "Ignore all": "\u0b85\u0ba9\u0bc8\u0ba4\u0bcd\u0ba4\u0bc8\u0baf\u0bc1\u0bae\u0bcd \u0baa\u0bc1\u0bb1\u0b95\u0bcd\u0b95\u0ba3\u0bbf\u0b95\u0bcd\u0b95", "Ignore": "\u0baa\u0bc1\u0bb1\u0b95\u0bcd\u0b95\u0ba3\u0bbf\u0b95\u0bcd\u0b95", "Add to Dictionary": "\u0b85\u0b95\u0bb0\u0bbe\u0ba4\u0bbf\u0baf\u0bbf\u0bb2\u0bcd \u0b9a\u0bc7\u0bb0\u0bcd\u0b95\u0bcd\u0b95", "Insert row before": "\u0b87\u0ba4\u0bb1\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd \u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Rows": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd", "Height": "\u0b89\u0baf\u0bb0\u0bae\u0bcd", "Paste row after": "\u0b87\u0ba4\u0bb1\u0bcd\u0b95\u0bc1 \u0baa\u0bbf\u0ba9\u0bcd \u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b92\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Alignment": "\u0b9a\u0bc0\u0bb0\u0bae\u0bc8\u0bb5\u0bc1", "Border color": "\u0b95\u0bb0\u0bc8\u0baf\u0bbf\u0ba9\u0bcd \u0ba8\u0bbf\u0bb1\u0bae\u0bcd", "Column group": "\u0ba8\u0bc6\u0b9f\u0bc1\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b95\u0bc1\u0bb4\u0bc1", "Row": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8", "Insert column before": "\u0b87\u0ba4\u0bb1\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd \u0ba8\u0bc6\u0b9f\u0bc1\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b9a\u0bca\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Split cell": "\u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8 \u0baa\u0bbf\u0bb0\u0bbf\u0b95\u0bcd\u0b95", "Cell padding": "\u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8 \u0ba8\u0bbf\u0bb0\u0baa\u0bcd\u0baa\u0bb2\u0bcd", "Cell spacing": "\u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8 \u0b87\u0b9f\u0bc8\u0bb5\u0bc6\u0bb3\u0bbf", "Row type": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0bb5\u0b95\u0bc8", "Insert table": "\u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8 \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Body": "\u0b89\u0b9f\u0bb2\u0bcd", "Caption": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1", "Footer": "\u0b85\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0bc1\u0bb1\u0bbf\u0baa\u0bcd\u0baa\u0bc1", "Delete row": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0b95", "Paste row before": "\u0b87\u0ba4\u0bb1\u0bcd\u0b95\u0bc1 \u0bae\u0bc1\u0ba9\u0bcd \u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b92\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Scope": "\u0bb5\u0bb0\u0bc8\u0baf\u0bc6\u0bb2\u0bcd\u0bb2\u0bc8", "Delete table": "\u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0b95", "H Align": "\u0b95\u0bbf (H) \u0b9a\u0bc0\u0bb0\u0bae\u0bc8", "Top": "\u0bae\u0bc7\u0bb2\u0bcd", "Header cell": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1 \u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8", "Column": "\u0ba8\u0bc6\u0b9f\u0bc1\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8", "Row group": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b95\u0bc1\u0bb4\u0bc1", "Cell": "\u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8", "Middle": "\u0ba8\u0b9f\u0bc1", "Cell type": "\u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8 \u0bb5\u0b95\u0bc8", "Copy row": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0ba8\u0b95\u0bb2\u0bc6\u0b9f\u0bc1\u0b95\u0bcd\u0b95", "Row properties": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0baa\u0ba3\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Table properties": "\u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8 \u0baa\u0ba3\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Bottom": "\u0b95\u0bc0\u0bb4\u0bcd", "V Align": "\u0b9a\u0bc6 (V) \u0b9a\u0bc0\u0bb0\u0bae\u0bc8", "Header": "\u0ba4\u0bb2\u0bc8\u0baa\u0bcd\u0baa\u0bc1", "Right": "\u0bb5\u0bb2\u0bae\u0bcd", "Insert column after": "\u0b87\u0ba4\u0bb1\u0bcd\u0b95\u0bc1 \u0baa\u0bbf\u0ba9\u0bcd \u0ba8\u0bc6\u0b9f\u0bc1\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b9a\u0bca\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Cols": "\u0ba8\u0bc6\u0b9f\u0bc1\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8\u0b95\u0bb3\u0bcd", "Insert row after": "\u0b87\u0ba4\u0bb1\u0bcd\u0b95\u0bc1 \u0baa\u0bbf\u0ba9\u0bcd \u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Width": "\u0b85\u0b95\u0bb2\u0bae\u0bcd", "Cell properties": "\u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8 \u0baa\u0ba3\u0bcd\u0baa\u0bc1\u0b95\u0bb3\u0bcd", "Left": "\u0b87\u0b9f\u0bae\u0bcd", "Cut row": "\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0bb5\u0bc6\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Delete column": "\u0ba8\u0bc6\u0b9f\u0bc1\u0bb5\u0bb0\u0bbf\u0b9a\u0bc8 \u0ba8\u0bc0\u0b95\u0bcd\u0b95\u0bc1\u0b95", "Center": "\u0bae\u0bc8\u0baf\u0bae\u0bcd", "Merge cells": "\u0b9a\u0bbf\u0bb1\u0bcd\u0bb1\u0bb1\u0bc8\u0b95\u0bb3\u0bcd \u0b9a\u0bc7\u0bb0\u0bcd\u0b95\u0bcd\u0b95", "Insert template": "\u0bb5\u0bbe\u0bb0\u0bcd\u0baa\u0bcd\u0baa\u0bc1\u0bb0\u0bc1 \u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "Templates": "\u0bb5\u0bbe\u0bb0\u0bcd\u0baa\u0bcd\u0baa\u0bc1\u0bb0\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bcd", "Background color": "\u0baa\u0bbf\u0ba9\u0bcd\u0ba9\u0ba3\u0bbf \u0ba8\u0bbf\u0bb1\u0bae\u0bcd", "Custom...": "\u0ba4\u0ba9\u0bbf\u0baa\u0bcd\u0baa\u0baf\u0ba9\u0bcd...", "Custom color": "\u0ba4\u0ba9\u0bbf\u0baa\u0bcd\u0baa\u0baf\u0ba9\u0bcd \u0ba8\u0bbf\u0bb1\u0bae\u0bcd", "No color": "\u0ba8\u0bbf\u0bb1\u0bae\u0bcd \u0b87\u0bb2\u0bcd\u0bb2\u0bc8", "Text color": "\u0b89\u0bb0\u0bc8\u0baf\u0bbf\u0ba9\u0bcd \u0ba8\u0bbf\u0bb1\u0bae\u0bcd", "Table of Contents": "\u0baa\u0bca\u0bb0\u0bc1\u0bb3\u0b9f\u0b95\u0bcd\u0b95\u0bae\u0bcd", "Show blocks": "\u0ba4\u0bca\u0b95\u0bc1\u0ba4\u0bbf\u0b95\u0bb3\u0bc8 \u0b95\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Show invisible characters": "\u0b95\u0ba3\u0bcd\u0ba3\u0bc1\u0b95\u0bcd\u0b95\u0bc1\u0ba4\u0bcd \u0ba4\u0bc6\u0bb0\u0bbf\u0baf\u0bbe\u0ba4 \u0b89\u0bb0\u0bc1\u0b95\u0bcd\u0b95\u0bb3\u0bc8 \u0b95\u0bbe\u0b9f\u0bcd\u0b9f\u0bc1\u0b95", "Words: {0}": "\u0b9a\u0bca\u0bb1\u0bcd\u0b95\u0bb3\u0bcd: {0}", "Insert": "\u0b9a\u0bc6\u0bb0\u0bc1\u0b95\u0bc1\u0b95", "File": "\u0b95\u0bcb\u0baa\u0bcd\u0baa\u0bc1", "Edit": "\u0ba4\u0bca\u0b95\u0bc1\u0b95\u0bcd\u0b95", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0b89\u0baf\u0bb0\u0bcd \u0b89\u0bb0\u0bc8 \u0baa\u0b95\u0bc1\u0ba4\u0bbf. \u0baa\u0b9f\u0bcd\u0b9f\u0bbf\u0b95\u0bcd\u0b95\u0bc1 ALT-F9 , \u0b95\u0bb0\u0bc1\u0bb5\u0bbf\u0baa\u0bcd\u0baa\u0b9f\u0bcd\u0b9f\u0bc8\u0b95\u0bcd\u0b95\u0bc1 ALT-F10 , \u0b89\u0ba4\u0bb5\u0bbf\u0b95\u0bcd\u0b95\u0bc1 ALT-0", "Tools": "\u0b95\u0bb0\u0bc1\u0bb5\u0bbf\u0b95\u0bb3\u0bcd", "View": "\u0ba8\u0bcb\u0b95\u0bcd\u0b95\u0bc1\u0b95", "Table": "\u0b85\u0b9f\u0bcd\u0b9f\u0bb5\u0ba3\u0bc8", "Format": "\u0bb5\u0b9f\u0bbf\u0bb5\u0bae\u0bc8\u0baa\u0bcd\u0baa\u0bc1" });langs/cy.js000060400000017106152455403670006635 0ustar00tinymce.addI18n('cy',{ "Cut": "Torri", "Heading 5": "Pennawd 5", "Header 2": "Pennawd 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Dyw eich porwr ddim yn cynnal mynediad uniongyrchol i'r clipfwrdd. Yn hytrach defnyddiwch y bysellau llwybrau byr Ctrl+X\/C\/V.", "Heading 4": "Pennawd 4", "Div": "Div", "Heading 2": "Pennawd 2", "Paste": "Gludo", "Close": "Cau", "Font Family": "Teulu Ffont", "Pre": "Pre", "Align right": "Aliniad de", "New document": "Dogfen newydd", "Blockquote": "Dyfyniad bloc", "Numbered list": "Rhestr rifol", "Heading 1": "Pennawd 1", "Headings": "Penawdau", "Increase indent": "Cynyddu mewnoliad", "Formats": "Fformatau", "Headers": "Penawdau", "Select all": "Dewis popeth", "Header 3": "Pennawd 3", "Blocks": "Blociau", "Undo": "Dadwneud", "Strikethrough": "Llinell drwodd", "Bullet list": "Rhestr fwled", "Header 1": "Pennawd 1", "Superscript": "Uwchsgript", "Clear formatting": "Clirio pob fformat", "Font Sizes": "Meintiau Ffont", "Subscript": "Is-sgript", "Header 6": "Pennawd 6", "Redo": "Ailwneud", "Paragraph": "Paragraff", "Ok": "Iawn", "Bold": "Bras", "Code": "Cod", "Italic": "Italig", "Align center": "Aliniad canol", "Header 5": "Pennawd 5", "Heading 6": "Pennawd 6", "Heading 3": "Pennawd 3", "Decrease indent": "Lleihau mewnoliad", "Header 4": "Pennawd 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Mae gludo nawr yn gweithio yn y modd testun plaen. Caiff testun plaen ei ludo nawr tan gaiff yr opsiwn ei doglo i'w ddiffodd.", "Underline": "Tanlinellu", "Cancel": "Canslo", "Justify": "Unioni", "Inline": "Mewnlin", "Copy": "Cop\u00efo", "Align left": "Aliniad chwith", "Visual aids": "Cymorth gweledol", "Lower Greek": "Groeg Is", "Square": "Sgw\u00e2r", "Default": "Diofyn", "Lower Alpha": "Alffa Is", "Circle": "Cylch", "Disc": "Disg", "Upper Alpha": "Alffa Uwch", "Upper Roman": "Rhufeinig Uwch", "Lower Roman": "Rhufeinig Is", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Dylai Id gychwyn gyda llythyren ac yna dim ond llythrennau, rhifau, llinellau toriad,dotiau, colonau neu danlinellau.", "Name": "Enw", "Anchor": "Angor", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "Mae newidiadau heb eu cadw - ydych chi wir am symud i ffwrdd?", "Restore last draft": "Adfer y drafft olaf", "Special character": "Nod arbennig", "Source code": "Cod gwreiddiol", "Language": "Iaith", "Insert\/Edit code sample": "Mewnosod\/golygu sampl cod", "B": "Gl", "R": "C", "G": "Gw", "Color": "Lliw", "Right to left": "De i'r chwith", "Left to right": "Chwith i'r dde", "Emoticons": "Gwenogluniau", "Robots": "Robotiaid", "Document properties": "Priodweddau'r ddogfen", "Title": "Teitl", "Keywords": "Allweddeiriau", "Encoding": "Amgodiad", "Description": "Disgrifiad", "Author": "Awdur", "Fullscreen": "Sgrin llawn", "Horizontal line": "Llinell lorweddol", "Horizontal space": "Gofod llorweddol", "Insert\/edit image": "Mewnosod\/golygu delwedd", "General": "Cyffredinol", "Advanced": "Uwch", "Source": "Ffynhonnell", "Border": "Border", "Constrain proportions": "Gorfodi cyfrannedd", "Vertical space": "Gofod fertigol", "Image description": "Disgrifiad y ddelwedd", "Style": "Arddull", "Dimensions": "Dimensiynau", "Insert image": "Mewnosod delwedd", "Image": "Delwedd", "Zoom in": "Chwyddo mewn", "Contrast": "Cyferbynnedd", "Back": "Nol", "Gamma": "Gamma", "Flip horizontally": "Fflipio llorweddol", "Resize": "Ailfeintio", "Sharpen": "Hogi", "Zoom out": "Chwyddo allan", "Image options": "Dewisiadau delwedd", "Apply": "Rhoi ar waith", "Brightness": "Disgleirdeb", "Rotate clockwise": "Troi clocwedd", "Rotate counterclockwise": "Troi gwrthgloc", "Edit image": "Golygu delwedd", "Color levels": "Lefelau Lliw", "Crop": "Tocio", "Orientation": "Cyfeiriadaeth", "Flip vertically": "Fflipio fertigol", "Invert": "Gwrthdroi", "Date\/time": "Dyddiad\/amser", "Insert date\/time": "Mewnosod dyddiad\/amser", "Remove link": "Tynnu dolen", "Url": "Url", "Text to display": "Testun i'w ddangos", "Anchors": "Angorau", "Insert link": "Mewnosod dolen", "Link": "Dolen", "New window": "Ffenest newydd", "None": "Dim", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Mae'n debyg mai dolen allanol yw'r URL hwn. Ydych chi am ychwanegu'r rhagddodiad http:\/\/ ?", "Paste or type a link": "Pastio neu deipio dolen", "Target": "Targed", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Mae'n debyg mai cyfeiriad e-bost yw'r URL hwn. Ydych chi am ychwanegu'r rhagddoddiad mailto:?", "Insert\/edit link": "Mewnosod\/golygu dolen", "Insert\/edit video": "Mewnosod\/golygu fideo", "Media": "Cyfrwng", "Alternative source": "Ffynhonnell amgen", "Paste your embed code below:": "Gludwch eich cod mewnosod isod:", "Insert video": "Mewnosod fideo", "Poster": "Poster", "Insert\/edit media": "Mewnosod\/golygu cyfrwng", "Embed": "Mewnosod", "Nonbreaking space": "Bwlch heb dorri", "Page break": "Toriad tudalen", "Paste as text": "Gludo fel testun", "Preview": "Rhagolwg", "Print": "Argraffu", "Save": "Cadw", "Could not find the specified string.": "Methu ffeindio'r llinyn hwnnw.", "Replace": "Amnewid", "Next": "Nesaf", "Whole words": "Geiriau cyfan", "Find and replace": "Chwilio ac amnewid", "Replace with": "Amnewid gyda", "Find": "Chwilio", "Replace all": "Amnewid y cwbl", "Match case": "Cas yn cyfateb", "Prev": "Blaenorol", "Spellcheck": "Sillafydd", "Finish": "Gorffen", "Ignore all": "Amwybyddu pob", "Ignore": "Anwybyddu", "Add to Dictionary": "Adio i'r Geiriadur", "Insert row before": "Mewnosod rhes cyn", "Rows": "Rhesi", "Height": "Uchder", "Paste row after": "Gludo rhes ar \u00f4l", "Alignment": "Aliniad", "Border color": "Lliw Border", "Column group": "Gr\u0175p colofn", "Row": "Rhes", "Insert column before": "Mewnosod colofn cyn", "Split cell": "Hollti celloedd", "Cell padding": "Padio celloedd", "Cell spacing": "Bylchiad celloedd", "Row type": "Math y rhes", "Insert table": "Mewnosod tabl", "Body": "Corff", "Caption": "Pennawd", "Footer": "Troedyn", "Delete row": "Dileu rhes", "Paste row before": "Gludo rhes cyn", "Scope": "Cwmpas", "Delete table": "Dileu'r tabl", "H Align": "Aliniad Ll", "Top": "Brig", "Header cell": "Cell bennawd", "Column": "Colofn", "Row group": "Gr\u0175p rhes", "Cell": "Cell", "Middle": "Canol", "Cell type": "Math y gell", "Copy row": "Cop\u00efo rhes", "Row properties": "Priodweddau rhes", "Table properties": "Priodweddau tabl", "Bottom": "Gwaelod", "V Align": "Aliniad F", "Header": "Pennyn", "Right": "De", "Insert column after": "Mewnosod colofn ar \u00f4l", "Cols": "Colofnau", "Insert row after": "Mewnosod rhes ar \u00f4l", "Width": "Lled", "Cell properties": "Priodweddau'r gell", "Left": "Chwith", "Cut row": "Torri rhes", "Delete column": "Dileu colofn", "Center": "Canol", "Merge cells": "Cyfuno celloedd", "Insert template": "Mewnosod templed", "Templates": "Templedi", "Background color": "Lliw cefndir", "Custom...": "Personol...", "Custom color": "Lliw personol", "No color": "Dim Lliw", "Text color": "Lliw testun", "Table of Contents": "Tabl Cynnwys", "Show blocks": "Dangos blociau", "Show invisible characters": "Dangos nodau anweledig", "Words: {0}": "Geiriau: {0}", "Insert": "Mewnosod", "File": "Ffeil", "Edit": "Golygu", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Ardal Testun Uwch. Pwyswch ALT-F9 ar gyfer y ddewislen, Pwyswch ALT-F10 ar gyfer y bar offer. Pwyswch ALT-0 am gymorth", "Tools": "Offer", "View": "Dangos", "Table": "Tabl", "Format": "Fformat" });langs/fa.js000060400000037261152455403670006614 0ustar00tinymce.addI18n('fa',{ "Cut": "\u0628\u0631\u062f\u0627\u0634\u062a\u0646", "Header 2": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0645\u0631\u0648\u0631\u06af\u0631 \u0634\u0645\u0627 \u0627\u0632 \u062f\u0633\u062a\u0631\u0633\u06cc \u0645\u0633\u062a\u0642\u06cc\u0645 \u0628\u0647 \u062d\u0627\u0641\u0638\u0647 \u06a9\u067e\u06cc \u067e\u0634\u062a\u06cc\u0628\u0627\u0646\u06cc \u0646\u0645\u06cc \u06a9\u0646\u062f. \u0644\u0637\u0641\u0627 \u0627\u0632 \u06a9\u0644\u06cc\u062f \u0647\u0627\u06cc Ctrl+X\/C\/V \u062f\u0631 \u06a9\u06cc\u0628\u0648\u0631\u062f \u0628\u0631\u0627\u06cc \u0627\u06cc\u0646 \u06a9\u0627\u0631 \u0627\u0633\u062a\u0641\u0627\u062f\u0647 \u06a9\u0646\u06cc\u062f.", "Div": "\u062a\u06af \u0628\u062e\u0634 - Div", "Paste": "\u0686\u0633\u0628\u0627\u0646\u062f\u0646", "Close": "\u0628\u0633\u062a\u0646", "Font Family": "\u0641\u0648\u0646\u062a", "Pre": "\u062a\u06af \u062a\u0628\u062f\u06cc\u0644 \u0628\u0647 \u0645\u062a\u0646 \u0633\u0627\u062f\u0647 - Pre", "Align right": "\u0631\u0627\u0633\u062a \u0686\u06cc\u0646", "New document": "\u0633\u0646\u062f \u062c\u062f\u06cc\u062f", "Blockquote": "\u062a\u06af \u0646\u0642\u0644 \u0642\u0648\u0644 - Blockquote", "Numbered list": "\u0644\u06cc\u0633\u062a \u0634\u0645\u0627\u0631\u0647 \u0627\u06cc", "Increase indent": "\u0627\u0641\u0632\u0627\u06cc\u0634 \u062a\u0648 \u0631\u0641\u062a\u06af\u06cc", "Formats": "\u0642\u0627\u0644\u0628", "Headers": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647\u200c\u0647\u0627", "Select all": "\u0627\u0646\u062a\u062e\u0627\u0628 \u0647\u0645\u0647", "Header 3": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 3", "Blocks": "\u0628\u0644\u0648\u06a9", "Undo": "\t\n\u0628\u0627\u0637\u0644 \u06a9\u0631\u062f\u0646", "Strikethrough": "\u062e\u0637 \u062e\u0648\u0631\u062f\u0647", "Bullet list": "\u0644\u06cc\u0633\u062a \u062f\u0627\u06cc\u0631\u0647 \u0627\u06cc", "Header 1": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 1", "Superscript": "\u0628\u0627\u0644\u0627\u0646\u0648\u06cc\u0633 - \u062d\u0627\u0644\u062a \u062a\u0648\u0627\u0646", "Clear formatting": "\u067e\u0627\u06a9 \u06a9\u0631\u062f\u0646 \u0642\u0627\u0644\u0628 \u0628\u0646\u062f\u06cc", "Font Sizes": "\u0627\u0646\u062f\u0627\u0632\u0647 \u0641\u0648\u0646\u062a", "Subscript": "\u0632\u06cc\u0631 \u0646\u0648\u06cc\u0633 - \u062d\u0627\u0644\u062a \u0627\u0646\u062f\u06cc\u0633", "Header 6": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 6", "Redo": "\u0627\u0646\u062c\u0627\u0645 \u062f\u0648\u0628\u0627\u0631\u0647", "Paragraph": "\u062a\u06af \u067e\u0627\u0631\u0627\u06af\u0631\u0627\u0641 - Paragraph", "Ok": "\u0628\u0627\u0634\u0647", "Bold": "\u062f\u0631\u0634\u062a", "Code": "\u062a\u06af \u06a9\u062f - Code", "Italic": "\u062e\u0637 \u06a9\u062c", "Align center": "\u0648\u0633\u0637 \u0686\u06cc\u0646", "Header 5": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 5", "Decrease indent": "\u06a9\u0627\u0647\u0634 \u062a\u0648 \u0631\u0641\u062a\u06af\u06cc", "Header 4": "\u0633\u0631\u200c\u0635\u0641\u062d\u0647 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0686\u0633\u0628\u0627\u0646\u062f\u0646 \u0647\u0645 \u0627\u06a9\u0646\u0648\u0646 \u062f\u0631 \u062d\u0627\u0644\u062a \u0645\u062a\u0646 \u0633\u0627\u062f\u0647 \u0627\u0633\u062a. \u062a\u0627 \u0632\u0645\u0627\u0646\u06cc \u06a9\u0647 \u0627\u06cc\u0646 \u062d\u0627\u0644\u062a \u0631\u0627 \u063a\u06cc\u0631\u200c\u0641\u0639\u0627\u0644 \u0646\u06a9\u0646\u06cc\u062f\u060c \u0645\u062d\u062a\u0648\u0627 \u062f\u0631 \u062d\u0627\u0644\u062a \u0645\u062a\u0646 \u0633\u0627\u062f\u0647 \u0627\u0636\u0627\u0641\u0647 \u0645\u06cc\u200c\u0634\u0648\u062f.", "Underline": "\u062e\u0637 \u0632\u06cc\u0631", "Cancel": "\u0644\u063a\u0648", "Justify": "\u0645\u0633\u0627\u0648\u06cc \u0627\u0632 \u0637\u0631\u0641\u06cc\u0646", "Inline": "\u062e\u0637\u06cc", "Copy": "\u06a9\u067e\u06cc", "Align left": "\u0686\u067e \u0686\u06cc\u0646", "Visual aids": "\u06a9\u0645\u06a9 \u0647\u0627\u06cc \u0628\u0635\u0631\u06cc", "Lower Greek": "\u06cc\u0648\u0646\u0627\u0646\u06cc \u06a9\u0648\u0686\u06a9", "Square": "\u0645\u0631\u0628\u0639", "Default": "\u067e\u06cc\u0634\u0641\u0631\u0636", "Lower Alpha": "\u0622\u0644\u0641\u0627\u0621 \u06a9\u0648\u0686\u06a9", "Circle": "\u062f\u0627\u06cc\u0631\u0647", "Disc": "\u062f\u06cc\u0633\u06a9", "Upper Alpha": "\u0622\u0644\u0641\u0627\u0621 \u0628\u0632\u0631\u06af", "Upper Roman": "\u0631\u0648\u0645\u06cc \u0628\u0632\u0631\u06af", "Lower Roman": "\u0631\u0648\u0645\u06cc \u06a9\u0648\u0686\u06a9", "Name": "\u0646\u0627\u0645", "Anchor": "\u0644\u0646\u06af\u0631 - \u0644\u06cc\u0646\u06a9", "You have unsaved changes are you sure you want to navigate away?": "\u0634\u0645\u0627 \u062a\u063a\u06cc\u06cc\u0631\u0627\u062a \u0630\u062e\u06cc\u0631\u0647 \u0646\u0634\u062f\u0647 \u0627\u06cc \u062f\u0627\u0631\u06cc\u062f\u060c \u0622\u06cc\u0627 \u0645\u0637\u0645\u0626\u0646\u06cc\u062f \u06a9\u0647 \u0645\u06cc\u062e\u0648\u0627\u0647\u06cc\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0635\u0641\u062d\u0647 \u0628\u0631\u0648\u06cc\u062f\u061f", "Restore last draft": "\u0628\u0627\u0632\u06af\u0631\u062f\u0627\u0646\u062f\u0646 \u0622\u062e\u0631\u06cc\u0646 \u067e\u06cc\u0634 \u0646\u0648\u06cc\u0633", "Special character": "\u06a9\u0627\u0631\u0627\u06a9\u062a\u0631 \u0647\u0627\u06cc \u062e\u0627\u0635", "Source code": "\u06a9\u062f \u0645\u0646\u0628\u0639", "Right to left": "\u0631\u0627\u0633\u062a \u0628\u0647 \u0686\u067e", "Left to right": "\u0686\u067e \u0628\u0647 \u0631\u0627\u0633\u062a", "Emoticons": "\u0634\u06a9\u0644\u06a9\u200c\u0647\u0627", "Robots": "\u0631\u0628\u0627\u062a\u200c\u0647\u0627", "Document properties": "\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0633\u0646\u062f", "Title": "\u0639\u0646\u0648\u0627\u0646", "Keywords": "\u06a9\u0644\u0645\u0627\u062a \u06a9\u0644\u06cc\u062f\u06cc", "Encoding": "\u06a9\u062f \u06af\u0630\u0627\u0631\u06cc", "Description": "\u062a\u0648\u0636\u06cc\u062d\u0627\u062a", "Author": "\u0646\u0648\u06cc\u0633\u0646\u062f\u0647", "Fullscreen": "\u062a\u0645\u0627\u0645 \u0635\u0641\u062d\u0647", "Horizontal line": "\u062e\u0637 \u0627\u0641\u0642\u06cc", "Horizontal space": "\u0641\u0636\u0627\u06cc \u0627\u0641\u0642\u06cc", "Insert\/edit image": "\u0627\u0636\u0627\u0641\u0647\/\u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0631\u062f\u0646 \u062a\u0635\u0648\u06cc\u0631", "General": "\u0639\u0645\u0648\u0645\u06cc", "Advanced": "\u067e\u06cc\u0634\u0631\u0641\u062a\u0647", "Source": "\u0645\u0646\u0628\u0639", "Border": "\u062d\u0627\u0634\u06cc\u0647", "Constrain proportions": "\u062d\u0641\u0638 \u062a\u0646\u0627\u0633\u0628", "Vertical space": "\u0641\u0636\u0627\u06cc \u0639\u0645\u0648\u062f\u06cc", "Image description": "\u062a\u0648\u0636\u06cc\u062d\u0627\u062a \u0639\u06a9\u0633", "Style": "\u0633\u0628\u06a9", "Dimensions": "\u0627\u0628\u0639\u0627\u062f", "Insert image": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062a\u0635\u0648\u06cc\u0631", "Insert date\/time": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062a\u0627\u0631\u06cc\u062e\/\u0632\u0645\u0627\u0646", "Remove link": "\u062d\u0630\u0641 \u0644\u06cc\u0646\u06a9", "Url": "\u0627\u062f\u0631\u0633 \u0644\u06cc\u0646\u06a9", "Text to display": "\u0645\u062a\u0646 \u0628\u0631\u0627\u06cc \u0646\u0645\u0627\u06cc\u0634", "Anchors": "\u0644\u0646\u06af\u0631 - \u0644\u06cc\u0646\u06a9 \u062f\u0627\u062e\u0644 \u0635\u0641\u062d\u0647", "Insert link": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0644\u06cc\u0646\u06a9", "New window": "\u067e\u0646\u062c\u0631\u0647 \u062c\u062f\u06cc\u062f", "None": "\u0647\u06cc\u0686 \u06a9\u062f\u0627\u0645", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u0646\u062d\u0648\u0647 \u0628\u0627\u0632 \u0634\u062f\u0646 \u062f\u0631 \u0645\u0631\u0648\u0631\u06af\u0631", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "\u0627\u0636\u0627\u0641\u0647\/\u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0631\u062f\u0646 \u0644\u06cc\u0646\u06a9", "Insert\/edit video": "\u0627\u0636\u0627\u0641\u0647\/\u0648\u06cc\u0631\u0627\u06cc\u0634 \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 \u062a\u0635\u0648\u06cc\u0631\u06cc", "Poster": "\u067e\u0648\u0633\u062a\u0631", "Alternative source": "\u0645\u0646\u0628\u0639 \u062f\u06cc\u06af\u0631", "Paste your embed code below:": "\u06a9\u062f \u062e\u0648\u062f \u0631\u0627 \u0628\u0631\u0627\u06cc \u062c\u0627 \u062f\u0627\u062f\u0646 \u062f\u0631 \u0633\u0627\u06cc\u062a - embed - \u060c \u062f\u0631 \u0632\u06cc\u0631 \u0642\u0631\u0627\u0631 \u062f\u0647\u06cc\u062f:", "Insert video": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0641\u0627\u06cc\u0644 \u062a\u0635\u0648\u06cc\u0631\u06cc", "Embed": "\u062c\u0627 \u062f\u0627\u062f\u0646", "Nonbreaking space": "\u0641\u0636\u0627\u06cc \u063a\u06cc\u0631 \u0634\u06a9\u0633\u062a\u0646", "Page break": "\u0634\u06a9\u0633\u062a\u0646 \u0635\u0641\u062d\u0647", "Paste as text": "\u0686\u0633\u0628\u0627\u0646\u062f\u0646 \u0628\u0647 \u0639\u0646\u0648\u0627\u0646 \u0645\u062a\u0646", "Preview": "\u067e\u06cc\u0634 \u0646\u0645\u0627\u06cc\u0634", "Print": "\u0686\u0627\u067e", "Save": "\u0630\u062e\u06cc\u0631\u0647", "Could not find the specified string.": "\u0631\u0634\u062a\u0647 \u0645\u062a\u0646\u06cc \u0645\u0648\u0631\u062f \u0646\u0638\u0631 \u067e\u06cc\u062f\u0627 \u0646\u0634\u062f.", "Replace": "\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646", "Next": "\u0628\u0639\u062f\u06cc", "Whole words": "\u0647\u0645\u0647 \u06a9\u0644\u0645\u0647\u200c\u0647\u0627", "Find and replace": "\u062c\u0633\u062a\u200c\u0648\u200c\u062c\u0648 \u0648 \u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646", "Replace with": "\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u0628\u0627", "Find": "\u062c\u0633\u062a\u200c\u0648\u200c\u062c\u0648", "Replace all": "\u062c\u0627\u06cc\u06af\u0632\u06cc\u0646 \u06a9\u0631\u062f\u0646 \u0647\u0645\u0647", "Match case": "\u062d\u0633\u0627\u0633 \u0628\u0647 \u062d\u0631\u0648\u0641 \u06a9\u0648\u0686\u06a9 \u0648 \u0628\u0632\u0631\u06af", "Prev": "\u0642\u0628\u0644\u06cc", "Spellcheck": "\u0628\u0631\u0631\u0633\u06cc \u0627\u0645\u0644\u0627\u06cc\u06cc", "Finish": "\u067e\u0627\u06cc\u0627\u0646", "Ignore all": "\u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646 \u0647\u0645\u0647", "Ignore": "\u0646\u0627\u062f\u06cc\u062f\u0647 \u06af\u0631\u0641\u062a\u0646", "Insert row before": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0633\u0637\u0631 \u062c\u062f\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0637\u0631", "Rows": "\u062a\u0639\u062f\u0627\u062f \u0633\u0637\u0631\u200c\u0647\u0627", "Height": "\u0627\u0631\u062a\u0641\u0627\u0639", "Paste row after": "\u0686\u0633\u0628\u0627\u0646\u062f\u0646 \u0633\u0637\u0631\u060c \u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0637\u0631", "Alignment": "\u0631\u062f\u06cc\u0641 \u0628\u0646\u062f\u06cc \u0646\u0648\u0634\u062a\u0647", "Column group": "\u06af\u0631\u0648\u0647 \u0633\u062a\u0648\u0646", "Row": "\u0633\u0637\u0631", "Insert column before": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0633\u062a\u0648\u0646 \u062c\u062f\u06cc\u062f \u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646 \u0633\u062a\u0648\u0646", "Split cell": "\u062a\u0642\u0633\u06cc\u0645 \u0633\u0644\u0648\u0644 \u062c\u062f\u0648\u0644", "Cell padding": "\u062d\u0627\u0634\u06cc\u0647 \u0633\u0644\u0648\u0644 \u0647\u0627", "Cell spacing": "\u0641\u0627\u0635\u0644\u0647\u200c\u06cc \u0628\u06cc\u0646 \u0633\u0644\u0648\u0644 \u0647\u0627", "Row type": "\u0646\u0648\u0639 \u0633\u0637\u0631", "Insert table": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u062c\u062f\u0648\u0644", "Body": "\u0628\u062f\u0646\u0647", "Caption": "\u0639\u0646\u0648\u0627\u0646", "Footer": "\u067e\u0627\u0646\u0648\u06cc\u0633", "Delete row": "\u062d\u0630\u0641 \u0633\u0637\u0631", "Paste row before": "\u0686\u0633\u0628\u0627\u0646\u062f\u0646 \u0633\u0637\u0631\u060c \u0642\u0628\u0644 \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0637\u0631", "Scope": "\u0645\u062d\u062f\u0648\u062f\u0647\u200c\u06cc \u0639\u0646\u0648\u0627\u0646", "Delete table": "\u062d\u0630\u0641 \u062c\u062f\u0648\u0644", "Header cell": "\u0633\u0631\u0622\u06cc\u0646\u062f \u0633\u0644\u0648\u0644", "Column": "\u0633\u062a\u0648\u0646", "Cell": "\u0633\u0644\u0648\u0644", "Header": "\u0633\u0631\u0622\u06cc\u0646\u062f", "Cell type": "\u0646\u0648\u0639 \u0633\u0644\u0648\u0644", "Copy row": "\u06a9\u067e\u06cc \u0633\u0637\u0631", "Row properties": "\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0633\u0637\u0631", "Table properties": "\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u062c\u062f\u0648\u0644", "Row group": "\u06af\u0631\u0648\u0647 \u0633\u0637\u0631", "Right": "\u0631\u0627\u0633\u062a", "Insert column after": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0633\u062a\u0648\u0646 \u062c\u062f\u06cc\u062f \u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0633\u062a\u0648\u0646", "Cols": "\u062a\u0639\u062f\u0627\u062f \u0633\u062a\u0648\u0646\u200c\u0647\u0627", "Insert row after": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0633\u0637\u0631 \u062c\u062f\u06cc\u062f \u0628\u0639\u062f \u0627\u0632 \u0627\u06cc\u0646 \u0633\u0637\u0631", "Width": "\u0639\u0631\u0636", "Cell properties": "\u0648\u06cc\u0698\u06af\u06cc\u200c\u0647\u0627\u06cc \u0633\u0644\u0648\u0644", "Left": "\u0686\u067e", "Cut row": "\u0628\u0631\u0634 \u0633\u0637\u0631", "Delete column": "\u062d\u0630\u0641 \u0633\u062a\u0648\u0646", "Center": "\u0648\u0633\u0637", "Merge cells": "\u0627\u062f\u063a\u0627\u0645 \u0633\u0644\u0648\u0644\u200c\u0647\u0627", "Insert template": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646 \u0627\u0644\u06af\u0648", "Templates": "\u0627\u0644\u06af\u0648\u200c\u0647\u0627", "Background color": "\u0631\u0646\u06af \u0632\u0645\u06cc\u0646\u0647 \u0645\u062a\u0646", "Text color": "\u0631\u0646\u06af \u0645\u062a\u0646", "Show blocks": "\u0646\u0645\u0627\u06cc\u0634 \u0628\u062e\u0634\u200c\u0647\u0627", "Show invisible characters": "\u0646\u0645\u0627\u06cc\u0634 \u06a9\u0627\u0631\u0627\u06a9\u062a\u0631\u0647\u0627\u06cc \u063a\u06cc\u0631 \u0642\u0627\u0628\u0644 \u0686\u0627\u067e", "Words: {0}": "\u06a9\u0644\u0645\u0627\u062a : {0}", "Insert": "\u0627\u0636\u0627\u0641\u0647 \u06a9\u0631\u062f\u0646", "File": "\u067e\u0631\u0648\u0646\u062f\u0647", "Edit": "\u0648\u06cc\u0631\u0627\u06cc\u0634", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0648\u06cc\u0631\u0627\u06cc\u0634\u06af\u0631 \u067e\u06cc\u0634\u0631\u0641\u062a\u0647\u200c\u06cc \u0645\u062a\u0646. \u0628\u0631\u0627\u06cc \u062f\u0633\u062a\u0631\u0633\u06cc \u0628\u0647 \u0645\u0646\u0648 \u06a9\u0644\u06cc\u062f\u0647\u0627\u06cc ALT-F9\u060c \u0646\u0648\u0627\u0631 \u0627\u0628\u0632\u0627\u0631 ALT-F10 \u0648 \u0628\u0631\u0627\u06cc \u0645\u0634\u0627\u0647\u062f\u0647\u200c\u06cc \u0631\u0627\u0647\u0646\u0645\u0627 ALT-0 \u0631\u0627 \u0641\u0634\u0627\u0631 \u062f\u0647\u06cc\u062f.", "Tools": "\u0627\u0628\u0632\u0627\u0631\u0647\u0627", "View": "\u0646\u0645\u0627\u06cc\u0634", "Table": "\u062c\u062f\u0648\u0644", "Format": "\u0642\u0627\u0644\u0628", "_dir": "rtl" });langs/ug.js000060400000037376152455403670006650 0ustar00tinymce.addI18n('ug',{ "Cut": "\u0643\u06d0\u0633\u0649\u0634", "Header 2": "\u062a\u06d0\u0645\u0627 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0633\u0649\u0632\u0646\u0649\u06ad \u062a\u0648\u0631 \u0643\u06c6\u0631\u06af\u06c8\u0686\u0649\u06ad\u0649\u0632 \u0642\u0649\u064a\u0649\u067e \u0686\u0627\u067e\u0644\u0627\u0634 \u062a\u0627\u062e\u062a\u0649\u0633\u0649 \u0632\u0649\u064a\u0627\u0631\u06d5\u062a \u0642\u0649\u0644\u0649\u0634\u0646\u0649 \u0642\u0648\u0644\u0644\u0649\u0645\u0627\u064a\u062f\u06c7. Ctrl+X\/C\/V \u062a\u06d0\u0632\u0644\u06d5\u062a\u0645\u06d5 \u0643\u0648\u0646\u06c7\u067e\u0643\u0649\u0633\u0649 \u0626\u0627\u0631\u0642\u0649\u0644\u0649\u0642 \u0643\u06d0\u0633\u0649\u067e \u0686\u0627\u067e\u0644\u0627\u0634 \u0645\u06d5\u0634\u063a\u06c7\u0644\u0627\u062a\u0649 \u0642\u0649\u0644\u0649\u06ad.", "Div": "Div", "Paste": "\u0686\u0627\u067e\u0644\u0627\u0634", "Close": "\u062a\u0627\u0642\u0627\u0634", "Font Family": "Font Family", "Pre": "Pre", "Align right": "\u0626\u0648\u06ad\u063a\u0627 \u062a\u0648\u063a\u06c7\u0631\u0644\u0627\u0634", "New document": "\u064a\u06d0\u06ad\u0649 \u06be\u06c6\u062c\u062c\u06d5\u062a \u0642\u06c7\u0631\u06c7\u0634", "Blockquote": "\u0626\u06d5\u0633\u0643\u06d5\u0631\u062a\u0649\u0634", "Numbered list": "\u0633\u0627\u0646\u0644\u0649\u0642 \u062a\u0649\u0632\u0649\u0645\u0644\u0649\u0643", "Increase indent": "\u0643\u06d5\u064a\u0646\u0649\u06af\u06d5 \u0633\u06c8\u0631\u06c8\u0634", "Formats": "\u0641\u0648\u0631\u0645\u0627\u062a", "Headers": "Headers", "Select all": "\u06be\u06d5\u0645\u0645\u0649\u0646\u0649 \u062a\u0627\u0644\u0644\u0627\u0634", "Header 3": "\u062a\u06d0\u0645\u0627 3", "Blocks": "Blocks", "Undo": "\u0626\u0627\u0631\u0642\u0649\u063a\u0627 \u064a\u06d0\u0646\u0649\u0634", "Strikethrough": "\u0626\u06c6\u0686\u06c8\u0631\u06c8\u0634 \u0633\u0649\u0632\u0649\u0642\u0649", "Bullet list": "\u0628\u06d5\u0644\u06af\u06d5 \u062a\u0649\u0632\u0649\u0645\u0644\u0649\u0643", "Header 1": "\u062a\u06d0\u0645\u0627 1", "Superscript": "\u0626\u06c8\u0633\u062a\u06c8\u0646\u0643\u0649 \u0628\u06d5\u0644\u06af\u06d5", "Clear formatting": "\u0641\u0648\u0631\u0645\u0627\u062a\u0646\u0649 \u062a\u0627\u0632\u0644\u0627\u0634", "Font Sizes": "Font Sizes", "Subscript": "\u0626\u0627\u0633\u062a\u0649\u0646\u0642\u0649 \u0628\u06d5\u0644\u06af\u06d5", "Header 6": "\u062a\u06d0\u0645\u0627 6", "Redo": "\u0642\u0627\u064a\u062a\u0627 \u0642\u0649\u0644\u0649\u0634", "Paragraph": "\u067e\u0627\u0631\u0627\u06af\u0649\u0631\u0627 \u0641", "Ok": "\u062c\u06d5\u0632\u0649\u0645\u0644\u06d5\u0634", "Bold": "\u062a\u0648\u0645", "Code": "Code", "Italic": "\u064a\u0627\u0646\u062a\u06c7", "Align center": "\u0645\u06d5\u0631\u0643\u06d5\u0632\u06af\u06d5 \u062a\u0648\u063a\u06c7\u0631\u0644\u0627\u0634", "Header 5": "\u062a\u06d0\u0645\u0627 5", "Decrease indent": "\u0626\u0627\u0644\u062f\u0649\u063a\u0627 \u0633\u06c8\u0631\u06c8\u0634", "Header 4": "\u062a\u06d0\u0645\u0627 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u06be\u0627\u0632\u0649\u0631 \u0686\u0627\u067e\u0644\u0649\u0633\u0649\u06ad\u0649\u0632 \u0633\u0627\u067e \u062a\u06d0\u0643\u0649\u0634 \u0645\u06d5\u0632\u0645\u06c7\u0646\u0649 \u0686\u0627\u067e\u0644\u0649\u0646\u0649\u062f\u06c7. \u062a\u06d0\u0643\u0649\u0634 \u0634\u06d5\u0643\u0644\u0649\u062f\u06d5 \u0686\u0627\u067e\u0644\u0627\u0634 \u062a\u06d5\u06ad\u0634\u0649\u0643\u0649\u0646\u0649 \u062a\u0627\u0642\u0649\u06cb\u06d5\u062a\u0643\u06d5\u0646\u06af\u06d5 \u0642\u06d5\u062f\u06d5\u0631.", "Underline": "\u0626\u0627\u0633\u062a\u0649 \u0633\u0649\u0632\u0649\u0642", "Cancel": "\u0642\u0627\u0644\u062f\u06c7\u0631\u06c7\u0634", "Justify": "\u0626\u0649\u0643\u0643\u0649 \u064a\u0627\u0646\u063a\u0627 \u062a\u0648\u063a\u06c7\u0631\u0644\u0627\u0634", "Inline": "Inline", "Copy": "\u0643\u06c6\u0686\u06c8\u0631\u06c8\u0634", "Align left": "\u0633\u0648\u0644\u063a\u0627 \u062a\u0648\u063a\u0631\u0649\u0644\u0627\u0634", "Visual aids": "\u0626\u06d5\u0633\u0643\u06d5\u0631\u062a\u0649\u0634", "Lower Greek": "\u06af\u0631\u06d0\u062a\u0633\u0649\u064a\u0649\u0686\u06d5 \u0643\u0649\u0686\u0649\u0643 \u064a\u06d0\u0632\u0649\u0644\u0649\u0634\u0649", "Square": "\u0643\u06cb\u0627\u062f\u0631\u0627\u062a", "Default": "\u0633\u06c8\u0643\u06c8\u062a", "Lower Alpha": "\u0626\u0649\u0646\u06af\u0649\u0644\u0649\u0632\u0686\u06d5 \u0643\u0649\u0686\u0649\u0643 \u064a\u06d0\u0632\u0649\u0644\u0649\u0634\u0649", "Circle": "\u0686\u06d5\u0645\u0628\u06d5\u0631", "Disc": "\u062f\u06d0\u0633\u0643\u0627", "Upper Alpha": "\u0626\u0649\u0646\u06af\u0649\u0644\u0649\u0632\u0686\u06d5 \u0686\u0648\u06ad \u064a\u06d0\u0632\u0649\u0644\u0649\u0634\u0649", "Upper Roman": "\u0631\u0649\u0645\u0686\u06d5 \u0686\u0648\u06ad \u064a\u06d0\u0632\u0649\u0644\u0649\u0634\u0649", "Lower Roman": "\u0631\u0649\u0645\u0686\u06d5 \u0643\u0649\u0686\u0649\u0643 \u064a\u06d0\u0632\u0649\u0644\u0649\u0634\u0649", "Name": "\u0646\u0627\u0645\u0649", "Anchor": "\u0626\u06c7\u0644\u0627\u0646\u0645\u0627", "You have unsaved changes are you sure you want to navigate away?": "\u0633\u0649\u0632 \u062a\u06d0\u062e\u0649 \u0645\u06d5\u0632\u0645\u06c7\u0646\u0646\u0649 \u0633\u0627\u0642\u0644\u0649\u0645\u0649\u062f\u0649\u06ad\u0649\u0632\u060c \u0626\u0627\u064a\u0631\u0649\u0644\u0627\u0645\u0633\u0649\u0632\u061f", "Restore last draft": "\u0626\u0627\u062e\u0649\u0631\u0642\u0649 \u0643\u06c7\u067e\u0649\u064a\u0649\u06af\u06d5 \u0642\u0627\u064a\u062a\u0649\u0634", "Special character": "\u0626\u0627\u0644\u0627\u06be\u0649\u062f\u06d5 \u0628\u06d5\u0644\u06af\u0649\u0644\u06d5\u0631", "Source code": "\u0626\u06d5\u0633\u0644\u0649 \u0643\u0648\u062f\u0649", "Right to left": "\u0626\u0648\u06ad\u062f\u0649\u0646 \u0633\u0648\u0644\u063a\u0627", "Left to right": "\u0633\u0648\u0644\u062f\u0649\u0646 \u0626\u0648\u06ad\u063a\u0627 ", "Emoticons": "\u0686\u0649\u0631\u0627\u064a \u0626\u0649\u067e\u0627\u062f\u06d5", "Robots": "\u0645\u0627\u0634\u0649\u0646\u0627 \u0626\u0627\u062f\u06d5\u0645", "Document properties": "\u06be\u06c6\u062c\u062c\u06d5\u062a \u062e\u0627\u0633\u0644\u0649\u0642\u0649", "Title": "\u062a\u06d0\u0645\u0627", "Keywords": "\u06be\u0627\u0644\u0642\u0649\u0644\u0649\u0642 \u0633\u06c6\u0632", "Encoding": "\u0643\u0648\u062f\u0644\u0627\u0634", "Description": "\u062a\u06d5\u0633\u0649\u06cb\u0649\u0631", "Author": "\u0626\u06c7\u0644\u0627\u0646\u0645\u0627", "Fullscreen": "\u067e\u06c8\u062a\u06c8\u0646 \u0626\u06d0\u0643\u0631\u0627\u0646", "Horizontal line": "\u06af\u0648\u0631\u0632\u0649\u0646\u062a\u0627\u0644 \u0642\u06c7\u0631", "Horizontal space": "\u06af\u0648\u0631\u0632\u0649\u0646\u062a\u0627\u0644 \u0628\u0648\u0634\u0644\u06c7\u0642", "Insert\/edit image": "\u0631\u06d5\u0633\u0649\u0645 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634 \u064a\u0627\u0643\u0649 \u062a\u06d5\u06be\u0631\u0649\u0631\u0644\u06d5\u0634", "General": "\u0626\u0627\u062f\u06d5\u062a\u062a\u0649\u0643\u0649", "Advanced": "\u0626\u0627\u0644\u0627\u06be\u0649\u062f\u06d5", "Source": "\u0645\u06d5\u0646\u0628\u06d5", "Border": "\u064a\u0627\u0642\u0627", "Constrain proportions": "\u0626\u06d0\u06af\u0649\u0632\u0644\u0649\u0643-\u0643\u06d5\u06ad\u0644\u0649\u0643 \u0646\u0649\u0633\u067e\u0649\u062a\u0649\u0646\u0649 \u0633\u0627\u0642\u0644\u0627\u0634", "Vertical space": "\u06cb\u06d0\u0631\u062a\u0649\u0643\u0627\u0644 \u0628\u0648\u0634\u0644\u06c7\u0642", "Image description": "\u0631\u06d5\u0633\u0649\u0645 \u062a\u06d5\u0633\u06cb\u0649\u0631\u0649", "Style": "\u0626\u06c7\u0633\u0644\u06c7\u067e", "Dimensions": "\u0686\u0648\u06ad-\u0643\u0649\u0686\u0649\u0643", "Insert image": "\u0631\u06d5\u0633\u0649\u0645 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Insert date\/time": "\u0686\u0649\u0633\u0644\u0627\/\u06cb\u0627\u0642\u0649\u062a \u0643\u0649\u0631\u06af\u06c8\u0632\u06c8\u0634", "Remove link": "Remove link", "Url": "\u0626\u0627\u062f\u0631\u0649\u0633", "Text to display": "\u0643\u06c6\u0631\u06c8\u0646\u0649\u062f\u0649\u063a\u0627\u0646 \u0645\u06d5\u0632\u0645\u06c7\u0646", "Anchors": "Anchors", "Insert link": "\u0626\u06c7\u0644\u0649\u0646\u0649\u0634 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "New window": "\u064a\u06d0\u06ad\u0649 \u0643\u06c6\u0632\u0646\u06d5\u0643", "None": "\u064a\u0648\u0642", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u0646\u0649\u0634\u0627\u0646", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "\u0626\u06c7\u0644\u0649\u0646\u0649\u0634 \u0642\u06c7\u0633\u062a\u06c7\u0631\u06c7\u0634\/\u062a\u06d5\u06be\u0631\u0649\u0631\u0644\u06d5\u0634", "Insert\/edit video": "\u0633\u0649\u0646 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634\/\u062a\u06d5\u06be\u0631\u0649\u0631\u0644\u06d5\u0634", "Poster": "\u064a\u0648\u0644\u0644\u0649\u063a\u06c7\u0686\u0649", "Alternative source": "\u062a\u06d5\u0633\u06cb\u0649\u0631\u0649", "Paste your embed code below:": "\u0642\u0649\u0633\u062a\u06c7\u0631\u0645\u0627\u0642\u0686\u0649 \u0628\u0648\u0644\u063a\u0627\u0646 \u0643\u0648\u062f\u0646\u0649 \u0686\u0627\u067e\u0644\u0627\u06ad", "Insert video": "\u0633\u0649\u0646 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Embed": "\u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Nonbreaking space": "\u0628\u0648\u0634\u0644\u06c7\u0642", "Page break": "\u0628\u06d5\u062a \u0626\u0627\u062e\u0649\u0631\u0644\u0627\u0634\u062a\u06c7\u0631\u06c7\u0634", "Paste as text": "\u062a\u06d0\u0643\u0649\u0634 \u0634\u06d5\u0643\u0644\u0649\u062f\u06d5 \u0686\u0627\u067e\u0644\u0627\u0634", "Preview": "\u0643\u06c6\u0631\u06c8\u0634", "Print": "\u0628\u0627\u0633\u0645\u0627\u0642 ", "Save": "\u0633\u0627\u0642\u0644\u0627\u0634", "Could not find the specified string.": "\u0626\u0649\u0632\u062f\u0649\u0645\u06d5\u0643\u0686\u0649 \u0628\u0648\u0644\u063a\u0627\u0646 \u0645\u06d5\u0632\u0645\u06c7\u0646\u0646\u0649 \u062a\u0627\u067e\u0627\u0644\u0645\u0649\u062f\u0649.", "Replace": "\u0626\u0627\u0644\u0645\u0627\u0634\u062a\u06c7\u0631\u06c7\u0634", "Next": "\u0643\u06d0\u064a\u0649\u0646\u0643\u0649\u0633\u0649", "Whole words": "\u062a\u0648\u0644\u06c7\u0642 \u0645\u0627\u0633\u0644\u0627\u0634\u062a\u06c7\u0631\u06c7\u0634", "Find and replace": "\u0626\u0649\u0632\u062f\u06d5\u0634 \u06cb\u06d5 \u0626\u0627\u0644\u0645\u0627\u0634\u062a\u06c7\u0631\u06c7\u0634", "Replace with": "\u0626\u0627\u0644\u0645\u0627\u0634\u062a\u06c7\u0631\u06c7\u0634", "Find": "\u0626\u0649\u0632\u062f\u06d5\u0634", "Replace all": "\u06be\u06d5\u0645\u0645\u0649\u0646\u0649 \u0626\u0627\u0644\u0645\u0627\u0634\u062a\u06c7\u0631\u06c7\u0634", "Match case": "\u0686\u0648\u06ad \u0643\u0649\u0686\u0649\u0643 \u06be\u06d5\u0631\u0649\u067e\u0646\u0649 \u067e\u06d5\u0631\u0649\u0642\u0644\u06d5\u0646\u062f\u06c8\u0631\u06c8\u0634", "Prev": "\u0626\u0627\u0644\u062f\u0649\u0646\u0642\u0649\u0633\u0649", "Spellcheck": "\u0626\u0649\u0645\u0644\u0627 \u062a\u06d5\u0643\u0634\u06c8\u0631\u06c8\u0634", "Finish": "\u0626\u0627\u062e\u0649\u0631\u0644\u0627\u0634\u062a\u06c7\u0631\u06c7\u0634", "Ignore all": "\u06be\u06d5\u0645\u0645\u0649\u0646\u0649 \u0626\u06c6\u062a\u0643\u06c8\u0632\u06c8\u0634", "Ignore": "\u0626\u06c6\u062a\u0643\u06c8\u0632\u06c8\u0634", "Insert row before": "\u0626\u0627\u0644\u062f\u0649\u063a\u0627 \u0642\u06c7\u0631 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Rows": "\u0642\u06c7\u0631", "Height": "\u0626\u06d0\u06af\u0649\u0632\u0644\u0649\u0643\u0649", "Paste row after": "\u0642\u06c7\u0631 \u0643\u06d5\u064a\u0646\u0649\u06af\u06d5 \u0686\u0627\u067e\u0644\u0627\u0634", "Alignment": "\u064a\u06c6\u0644\u0649\u0646\u0649\u0634\u0649", "Column group": "\u0631\u06d5\u062a \u06af\u06c7\u0631\u06c7\u067e\u067e\u0649\u0633\u0649", "Row": "\u0642\u06c7\u0631", "Insert column before": "\u0631\u06d5\u062a \u0626\u0627\u0644\u062f\u0649\u063a\u0627 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Split cell": "\u0643\u0627\u062a\u06d5\u0643 \u067e\u0627\u0631\u0686\u0649\u0644\u0627\u0634", "Cell padding": "\u0643\u0627\u062a\u06d5\u0643 \u0626\u0649\u0686\u0643\u0649 \u0626\u0627\u0631\u0649\u0644\u0649\u0642\u0649", "Cell spacing": "\u0643\u0627\u062a\u06d5\u0643 \u0633\u0649\u0631\u062a\u0642\u0649 \u0626\u0627\u0631\u0649\u0644\u0649\u0642\u0649", "Row type": "\u0642\u06c7\u0631 \u062a\u0649\u067e\u0649", "Insert table": "\u062c\u06d5\u062f\u06cb\u06d5\u0644 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Body": "\u0628\u06d5\u062f\u0649\u0646\u0649", "Caption": "\u0686\u06c8\u0634\u06d5\u0646\u062f\u06c8\u0631\u06c8\u0634", "Footer": "\u067e\u06c7\u062a\u0649", "Delete row": "\u0642\u06c7\u0631 \u0626\u06c6\u0686\u06c8\u0631\u06c8\u0634", "Paste row before": "\u0642\u06c7\u0631 \u0626\u0627\u0644\u062f\u0649\u063a\u0627 \u0686\u0627\u067e\u0644\u0627\u0634", "Scope": "\u062f\u0627\u0626\u0649\u0631\u06d5", "Delete table": "\u062c\u06d5\u062f\u06cb\u06d5\u0644 \u0626\u06c6\u0686\u06c8\u0631\u0634", "Header cell": "\u0628\u0627\u0634 \u0643\u0627\u062a\u06d5\u0643", "Column": "\u0631\u06d5\u062a", "Cell": "\u0643\u0627\u062a\u06d5\u0643", "Header": "\u0628\u06d0\u0634\u0649", "Cell type": "\u0643\u0627\u062a\u06d5\u0643 \u062a\u0649\u067e\u0649", "Copy row": "\u0642\u06c7\u0631 \u0643\u06c6\u0686\u06c8\u0631\u06c8\u0634", "Row properties": "\u0642\u06c7\u0631 \u062e\u0627\u0633\u0644\u0649\u0642\u0649", "Table properties": "\u062c\u06d5\u062f\u06cb\u06d5\u0644 \u062e\u0627\u0633\u0644\u0649\u0642\u0649", "Row group": "\u0642\u06c7\u0631 \u06af\u06c7\u0631\u06c7\u067e\u067e\u0649\u0633\u0649", "Right": "\u0626\u0648\u06ad", "Insert column after": "\u0631\u06d5\u062a \u0643\u06d5\u064a\u0646\u0649\u06af\u06d5 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Cols": "\u0631\u06d5\u062a", "Insert row after": "\u0626\u0627\u0631\u0642\u0649\u063a\u0627 \u0642\u06c7\u0631 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Width": "\u0643\u06d5\u06ad\u0644\u0649\u0643\u0649", "Cell properties": "\u0643\u0627\u062a\u06d5\u0643 \u062e\u0627\u0633\u0644\u0649\u0642\u0649", "Left": "\u0633\u0648\u0644", "Cut row": "\u0642\u06c7\u0631 \u0643\u06d0\u0633\u0649\u0634", "Delete column": "\u0631\u06d5\u062a \u0626\u06c6\u0686\u06c8\u0631\u06c8\u0634", "Center": "\u0645\u06d5\u0631\u0643\u06d5\u0632", "Merge cells": "\u0643\u0627\u062a\u06d5\u0643 \u0628\u0649\u0631\u0644\u06d5\u0634\u062a\u06c8\u0631\u06c8\u0634", "Insert template": "\u0626\u06c8\u0644\u06af\u06d5 \u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "Templates": "\u0626\u06c8\u0644\u06af\u0649\u0644\u06d5\u0631", "Background color": "\u0626\u0627\u0631\u0642\u0627 \u0631\u06d5\u06ad\u06af\u0649", "Text color": "\u062e\u06d5\u062a \u0631\u06d5\u06ad\u06af\u0649", "Show blocks": "\u0631\u0627\u064a\u0648\u0646 \u0643\u06c6\u0631\u0633\u0649\u062a\u0649\u0634", "Show invisible characters": "\u0643\u06c6\u0631\u06c8\u0646\u0645\u06d5\u064a\u062f\u0649\u063a\u0627\u0646 \u06be\u06d5\u0631\u0649\u067e\u0644\u06d5\u0631\u0646\u0649 \u0643\u06c6\u0631\u0633\u0649\u062a\u0649\u0634", "Words: {0}": "\u0633\u06c6\u0632: {0}", "Insert": "\u0642\u0649\u0633\u062a\u06c7\u0631\u06c7\u0634", "File": "\u06be\u06c6\u062c\u062c\u06d5\u062a", "Edit": "\u062a\u06d5\u06be\u0631\u0649\u0631\u0644\u06d5\u0634", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help", "Tools": "\u0642\u06c7\u0631\u0627\u0644", "View": "\u0643\u06c6\u0631\u06c8\u0634", "Table": "\u062c\u06d5\u062f\u06cb\u06d5\u0644", "Format": "\u0641\u0648\u0631\u0645\u0627\u062a" });langs/sv.js000060400000017623152455403670006656 0ustar00tinymce.addI18n('sv',{ "Cut": "Klipp ut", "Heading 5": "Rubrik 5", "Header 2": "Rubrik 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Din webbl\u00e4sare st\u00f6djer inte direkt \u00e5tkomst till urklipp. V\u00e4nligen anv\u00e4nd kortkommandona Ctrl+X\/C\/V i st\u00e4llet.", "Heading 4": "Rubrik 4", "Div": "Div", "Heading 2": "Rubrik 2", "Paste": "Klistra in", "Close": "St\u00e4ng", "Font Family": "Teckensnitt", "Pre": "F\u00f6rformaterad", "Align right": "H\u00f6gerst\u00e4ll", "New document": "Nytt dokument", "Blockquote": "Blockcitat", "Numbered list": "Nummerlista", "Heading 1": "Rubrik 1", "Headings": "Rubriker", "Increase indent": "\u00d6ka indrag", "Formats": "Format", "Headers": "Rubriker", "Select all": "Markera allt", "Header 3": "Rubrik 3", "Blocks": "Block", "Undo": "\u00c5ngra", "Strikethrough": "Genomstruken", "Bullet list": "Punktlista", "Header 1": "Rubrik 1", "Superscript": "Upph\u00f6jd text", "Clear formatting": "Ta bort format", "Font Sizes": "Storlek", "Subscript": "Neds\u00e4nkt text", "Header 6": "Rubrik 6", "Redo": "G\u00f6r om", "Paragraph": "Br\u00f6dtext", "Ok": "OK", "Bold": "Fetstil", "Code": "Kod", "Italic": "Kursiv stil", "Align center": "Centrera", "Header 5": "Rubrik 5", "Heading 6": "Rubrik 6", "Heading 3": "Rubrik 3", "Decrease indent": "Minska indrag", "Header 4": "Rubrik 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Klistra in \u00e4r nu i textl\u00e4ge. Inneh\u00e5ll kommer att konverteras till text tills du sl\u00e5r av detta l\u00e4ge.", "Underline": "Understruken", "Cancel": "Avbryt", "Justify": "Justera", "Inline": "P\u00e5 rad", "Copy": "Kopiera", "Align left": "V\u00e4nsterst\u00e4ll", "Visual aids": "Visuella hj\u00e4lpmedel", "Lower Greek": "Grekiska gemener", "Square": "Fyrkant", "Default": "Original", "Lower Alpha": "Gemener", "Circle": "Cirkel", "Disc": "Disk", "Upper Alpha": "Versaler", "Upper Roman": "Romerska versaler", "Lower Roman": "Romerska gemener", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "ID skall b\u00f6rja med en boktav och endast f\u00f6ljas av bokst\u00c4ver a-z, siffror, bindestreck, punkt, kolon eller understreck.", "Name": "Namn", "Anchor": "Ankare", "Id": "ID", "You have unsaved changes are you sure you want to navigate away?": "Du har f\u00f6r\u00e4ndringar som du inte har sparat. \u00c4r du s\u00e4ker p\u00e5 att du vill navigera vidare?", "Restore last draft": "\u00c5terst\u00e4ll senaste utkast", "Special character": "Specialtecken", "Source code": "K\u00e4llkod", "Language": "Spr\u00e5k", "Insert\/Edit code sample": "Infoga\/\u00e4ndra kodexempel", "B": "B", "R": "R", "G": "G", "Color": "F\u00e4rg", "Right to left": "H\u00f6ger till v\u00e4nster", "Left to right": "V\u00e4nster till h\u00f6ger", "Emoticons": "Emoticons", "Robots": "Robotar", "Document properties": "Dokumentegenskaper", "Title": "Titel", "Keywords": "Nyckelord", "Encoding": "Kodning", "Description": "Beskrivning", "Author": "F\u00f6rfattare", "Fullscreen": "Fullsk\u00e4rm", "Horizontal line": "Horisontell linje", "Horizontal space": "Horisontellt utrymme", "Insert\/edit image": "Infoga\/redigera bild", "General": "Generella", "Advanced": "Avancerat", "Source": "K\u00e4lla", "Border": "Ram", "Constrain proportions": "Begr\u00e4nsa proportioner", "Vertical space": "Vertikaltutrymme", "Image description": "Bildbeskrivning", "Style": "Stil", "Dimensions": "Dimensioner", "Insert image": "Infoga bild", "Image": "Bild", "Zoom in": "Zooma in", "Contrast": "Kontrast", "Back": "Tillbaka", "Gamma": "Gamma", "Flip horizontally": "V\u00e4nd horsontellt", "Resize": "Skala om", "Sharpen": "Sk\u00e4rpa", "Zoom out": "Zooma ut", "Image options": "Bildalternativ", "Apply": "Verst\u00e4ll", "Brightness": "Ljusstyrka", "Rotate clockwise": "Rotera medurs", "Rotate counterclockwise": "Rotera moturs", "Edit image": "\u00c4ndra bild", "Color levels": "F\u00e4rgniv\u00e5er", "Crop": "Besk\u00e4r", "Orientation": "Riktning", "Flip vertically": "V\u00e4nd vertikalt", "Invert": "Invertera", "Date\/time": "Datum\/tid", "Insert date\/time": "Infoga datum\/tid", "Remove link": "Ta bort l\u00e4nk", "Url": "Url", "Text to display": "Text att visa", "Anchors": "Bokm\u00e4rken", "Insert link": "Infoga l\u00e4nk", "Link": "L\u00e4nk", "New window": "Nytt f\u00f6nster", "None": "Ingen", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Urlen du angav verkar vara en extern l\u00e4nk. Vill du l\u00e4gga till http:\/\/ prefixet?", "Paste or type a link": "Klistra in eller ange en l\u00e4nk", "Target": "M\u00e5l", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Urlen du angav verkar vara en epost adress. Vill du l\u00e4gga till ett mailto: prefix?", "Insert\/edit link": "Infoga\/redigera l\u00e4nk", "Insert\/edit video": "Infoga\/redigera video", "Poster": "Affish", "Alternative source": "Alternativ k\u00e4lla", "Paste your embed code below:": "Klistra in din inb\u00e4ddningskod nedan:", "Insert video": "Infoga video", "Poster": "Affish", "Insert\/edit media": "Infoga\/\u00e4ndra media", "Embed": "Inb\u00e4ddning", "Nonbreaking space": "Avbrottsfritt mellanrum", "Page break": "Sydbrytning", "Paste as text": "Klistra in som text", "Preview": "F\u00f6rhandsgranska", "Print": "Skriv ut", "Save": "Spara", "Could not find the specified string.": "Kunde inte hitta den specifierade st\u00e4ngen.", "Replace": "Ers\u00e4tt", "Next": "N\u00e4sta", "Whole words": "Hela ord", "Find and replace": "S\u00f6k och ers\u00e4tt", "Replace with": "Ers\u00e4tt med", "Find": "S\u00f6k", "Replace all": "Ers\u00e4tt alla", "Match case": "Matcha gemener\/versaler", "Prev": "F\u00f6reg\u00e5ende", "Spellcheck": "R\u00e4ttstava", "Finish": "Avsluta", "Ignore all": "Ignorera alla", "Ignore": "Ignorera", "Add to Dictionary": "L\u00e4gg till i ordlista", "Insert row before": "Infoga rad f\u00f6re", "Rows": "Rader", "Height": "H\u00f6jd", "Paste row after": "Klistra in rad efter", "Alignment": "Justering", "Border color": "Ramf\u00e4rg", "Column group": "Kolumngrupp", "Row": "Rad", "Insert column before": "Infoga kollumn f\u00f6re", "Split cell": "Bryt is\u00e4r celler", "Cell padding": "Cellpaddning", "Cell spacing": "Cellmellanrum", "Row type": "Radtyp", "Insert table": "Infoga tabell", "Body": "Kropp", "Caption": "Rubrik", "Footer": "Fot", "Delete row": "Radera rad", "Paste row before": "Klista in rad f\u00f6re", "Scope": "Omf\u00e5ng", "Delete table": "Radera tabell", "H Align": "H-justering", "Top": "Toppen", "Header cell": "Huvudcell", "Column": "Kolumn", "Row group": "Radgrupp", "Cell": "Cell", "Middle": "Mitten", "Cell type": "Celltyp", "Copy row": "Kopiera rad", "Row properties": "Radegenskaper", "Table properties": "Tabellegenskaper", "Bottom": "Botten", "V Align": "V-justering", "Header": "Huvud", "Right": "H\u00f6ger", "Insert column after": "Infoga kolumn efter", "Cols": "Kolumner", "Insert row after": "Infoga rad efter", "Width": "Bredd", "Cell properties": "Cellegenskaper", "Left": "V\u00e4nster", "Cut row": "Klipp ut rad", "Delete column": "Radera kolumn", "Center": "Centrum", "Merge cells": "Sammanfoga celler", "Insert template": "Infoga mall", "Templates": "Mallar", "Background color": "Bakgrundsf\u00e4rg", "Custom...": "Anpassad...", "Custom color": "Anpassad f\u00e4rg", "No color": "Ingen f\u00e4rg", "Text color": "Textf\u00e4rg", "Table of Contents": "Inneh\u00e5llsf\u00f6rteckning", "Show blocks": "Visa block", "Show invisible characters": "Visa onsynliga tecken", "Words: {0}": "Ord: {0}", "Insert": "Infoga", "File": "Fil", "Edit": "Redigera", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Textredigerare. Tryck ALT-F9 f\u00f6r menyn. Tryck ALT-F10 f\u00f6r verktygsrader. Tryck ALT-0 f\u00f6r hj\u00e4lp.", "Tools": "Verktyg", "View": "Visa", "Table": "Tabell", "Format": "Format" });langs/pt-BR.js000060400000020575152455403670007152 0ustar00tinymce.addI18n('pt-BR',{ "Cut": "Recortar", "Heading 5": "Cabe\u00e7alho 5", "Header 2": "Cabe\u00e7alho 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Seu navegador n\u00e3o suporta acesso direto \u00e0 \u00e1rea de transfer\u00eancia. Por favor use os atalhos Ctrl+X - C - V do teclado", "Heading 4": "Cabe\u00e7alho 4", "Div": "Div", "Heading 2": "Cabe\u00e7alho 2", "Paste": "Colar", "Close": "Fechar", "Font Family": "Fonte", "Pre": "Pre", "Align right": "Alinhar \u00e0 direita", "New document": "Novo documento", "Blockquote": "Aspas", "Numbered list": "Lista ordenada", "Heading 1": "Cabe\u00e7alho 1", "Headings": "Cabe\u00e7alhos", "Increase indent": "Aumentar recuo", "Formats": "Formatos", "Headers": "Cabe\u00e7alhos", "Select all": "Selecionar tudo", "Header 3": "Cabe\u00e7alho 3", "Blocks": "Blocos", "Undo": "Desfazer", "Strikethrough": "Riscar", "Bullet list": "Lista n\u00e3o ordenada", "Header 1": "Cabe\u00e7alho 1", "Superscript": "Sobrescrito", "Clear formatting": "Limpar formata\u00e7\u00e3o", "Font Sizes": "Tamanho", "Subscript": "Subscrever", "Header 6": "Cabe\u00e7alho 6", "Redo": "Refazer", "Paragraph": "Par\u00e1grafo", "Ok": "Ok", "Bold": "Negrito", "Code": "C\u00f3digo", "Italic": "It\u00e1lico", "Align center": "Centralizar", "Header 5": "Cabe\u00e7alho 5", "Heading 6": "Cabe\u00e7alho 6", "Heading 3": "Cabe\u00e7alho 3", "Decrease indent": "Diminuir recuo", "Header 4": "Cabe\u00e7alho 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "O comando colar est\u00e1 agora em modo texto plano. O conte\u00fado ser\u00e1 colado como texto plano at\u00e9 voc\u00ea desligar esta op\u00e7\u00e3o.", "Underline": "Sublinhar", "Cancel": "Cancelar", "Justify": "Justificar", "Inline": "Em linha", "Copy": "Copiar", "Align left": "Alinhar \u00e0 esquerda", "Visual aids": "Ajuda visual", "Lower Greek": "\u03b1. \u03b2. \u03b3. ...", "Square": "Quadrado", "Default": "Padr\u00e3o", "Lower Alpha": "a. b. c. ...", "Circle": "C\u00edrculo", "Disc": "Disco", "Upper Alpha": "A. B. C. ...", "Upper Roman": "I. II. III. ...", "Lower Roman": "i. ii. iii. ...", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id deve come\u00e7ar com uma letra, seguido apenas por letras, n\u00fameros, tra\u00e7os, pontos, dois pontos ou sublinhados.", "Name": "Nome", "Anchor": "\u00c2ncora", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "Voc\u00ea tem mudan\u00e7as n\u00e3o salvas. Voc\u00ea tem certeza que deseja sair?", "Restore last draft": "Restaurar \u00faltimo rascunho", "Special character": "Caracteres especiais", "Source code": "C\u00f3digo fonte", "Language": "Idioma", "Insert\/Edit code sample": "Inserir\/Editar c\u00f3digo de exemplo", "B": "B", "R": "R", "G": "G", "Color": "Cor", "Right to left": "Da direita para a esquerda", "Left to right": "Da esquerda para a direita", "Emoticons": "Emoticons", "Robots": "Rob\u00f4s", "Document properties": "Propriedades do documento", "Title": "T\u00edtulo", "Keywords": "Palavras-chave", "Encoding": "Codifica\u00e7\u00e3o", "Description": "Descri\u00e7\u00e3o", "Author": "Autor", "Fullscreen": "Tela cheia", "Horizontal line": "Linha horizontal", "Horizontal space": "Espa\u00e7amento horizontal", "Insert\/edit image": "Inserir\/editar imagem", "General": "Geral", "Advanced": "Avan\u00e7ado", "Source": "Endere\u00e7o da imagem", "Border": "Borda", "Constrain proportions": "Manter propor\u00e7\u00f5es", "Vertical space": "Espa\u00e7amento vertical", "Image description": "Inserir descri\u00e7\u00e3o", "Style": "Estilo", "Dimensions": "Dimens\u00f5es", "Insert image": "Inserir imagem", "Image": "Imagem", "Zoom in": "Aumentar zoom", "Contrast": "Contraste", "Back": "Voltar", "Gamma": "Gama", "Flip horizontally": "Virar horizontalmente", "Resize": "Redimensionar", "Sharpen": "Aumentar nitidez", "Zoom out": "Diminuir zoom", "Image options": "Op\u00e7\u00f5es de Imagem", "Apply": "Aplicar", "Brightness": "Brilho", "Rotate clockwise": "Girar em sentido anti-hor\u00e1rio", "Rotate counterclockwise": "Girar em sentido hor\u00e1rio", "Edit image": "Editar imagem", "Color levels": "N\u00edveis de cor", "Crop": "Cortar", "Orientation": "Orienta\u00e7\u00e3o", "Flip vertically": "Virar verticalmente", "Invert": "Inverter", "Date\/time": "data\/hora", "Insert date\/time": "Inserir data\/hora", "Remove link": "Remover link", "Url": "Url", "Text to display": "Texto para mostrar", "Anchors": "\u00c2ncoras", "Insert link": "Inserir link", "Link": "Link", "New window": "Nova janela", "None": "Nenhum", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "A URL que voc\u00ea informou parece ser um link externo. Deseja incluir o prefixo http:\/\/?", "Paste or type a link": "Cole ou digite um Link", "Target": "Alvo", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Inserir\/editar link", "Insert\/edit video": "Inserir\/editar v\u00eddeo", "Media": "imagem", "Alternative source": "Fonte alternativa", "Paste your embed code below:": "Insira o c\u00f3digo de incorpora\u00e7\u00e3o abaixo:", "Insert video": "Inserir v\u00eddeo", "Poster": "Autor", "Insert\/edit media": "Inserir\/editar imagem", "Embed": "Incorporar", "Nonbreaking space": "Espa\u00e7o n\u00e3o separ\u00e1vel", "Page break": "Quebra de p\u00e1gina", "Paste as text": "Colar como texto", "Preview": "Pr\u00e9-visualizar", "Print": "Imprimir", "Save": "Salvar", "Could not find the specified string.": "N\u00e3o foi poss\u00edvel encontrar o termo especificado", "Replace": "Substituir", "Next": "Pr\u00f3ximo", "Whole words": "Palavras inteiras", "Find and replace": "Localizar e substituir", "Replace with": "Substituir por", "Find": "Localizar", "Replace all": "Substituir tudo", "Match case": "Diferenciar mai\u00fasculas e min\u00fasculas", "Prev": "Anterior", "Spellcheck": "Corretor ortogr\u00e1fico", "Finish": "Finalizar", "Ignore all": "Ignorar tudo", "Ignore": "Ignorar", "Add to Dictionary": "Adicionar ao Dicion\u00e1rio", "Insert row before": "Inserir linha antes", "Rows": "Linhas", "Height": "Altura", "Paste row after": "Colar linha depois", "Alignment": "Alinhamento", "Border color": "Cor da borda", "Column group": "Agrupar coluna", "Row": "Linha", "Insert column before": "Inserir coluna antes", "Split cell": "Dividir c\u00e9lula", "Cell padding": "Espa\u00e7amento interno da c\u00e9lula", "Cell spacing": "Espa\u00e7amento da c\u00e9lula", "Row type": "Tipo de linha", "Insert table": "Inserir tabela", "Body": "Corpo", "Caption": "Legenda", "Footer": "Rodap\u00e9", "Delete row": "Excluir linha", "Paste row before": "Colar linha antes", "Scope": "Escopo", "Delete table": "Excluir tabela", "H Align": "Alinhamento H", "Top": "Superior", "Header cell": "C\u00e9lula cabe\u00e7alho", "Column": "Coluna", "Row group": "Agrupar linha", "Cell": "C\u00e9lula", "Middle": "Meio", "Cell type": "Tipo de c\u00e9lula", "Copy row": "Copiar linha", "Row properties": "Propriedades da linha", "Table properties": "Propriedades da tabela", "Bottom": "Inferior", "V Align": "Alinhamento V", "Header": "Cabe\u00e7alho", "Right": "Direita", "Insert column after": "Inserir coluna depois", "Cols": "Colunas", "Insert row after": "Inserir linha depois", "Width": "Largura", "Cell properties": "Propriedades da c\u00e9lula", "Left": "Esquerdo", "Cut row": "Recortar linha", "Delete column": "Excluir coluna", "Center": "Centro", "Merge cells": "Agrupar c\u00e9lulas", "Insert template": "Inserir modelo", "Templates": "Modelos", "Background color": "Cor do fundo", "Custom...": "Personalizado...", "Custom color": "Cor personalizada", "No color": "Nenhuma cor", "Text color": "Cor do texto", "Table of Contents": "\u00edndice de Conte\u00fado", "Show blocks": "Mostrar blocos", "Show invisible characters": "Exibir caracteres invis\u00edveis", "Words: {0}": "Palavras: {0}", "Insert": "Inserir", "File": "Arquivo", "Edit": "Editar", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u00c1rea de texto formatado. Pressione ALT-F9 para exibir o menu, ALT-F10 para exibir a barra de ferramentas ou ALT-0 para exibir a ajuda", "Tools": "Ferramentas", "View": "Visualizar", "Table": "Tabela", "Format": "Formatar" });langs/lv.js000060400000017646152455403670006654 0ustar00tinymce.addI18n('lv',{ "Cut": "Izgriezt", "Header 2": "Otr\u0101 l\u012bme\u0146a virsraksts", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "J\u016bsu p\u0101rl\u016bkprogramma neatbalsta piek\u013cuvi starpliktuvei. L\u016bdzu izmantojiet Ctrl+X\/C\/V klaviat\u016bras sa\u012bsnes.", "Div": "Div elements", "Paste": "Iel\u012bm\u0113t", "Close": "Aizv\u0113rt", "Font Family": "Font Family", "Pre": "Pre elements", "Align right": "L\u012bdzin\u0101t pa labi", "New document": "Jauns dokuments", "Blockquote": "Cit\u0101ts", "Numbered list": "Numur\u0113ts saraksts", "Increase indent": "Palielin\u0101t atk\u0101pi", "Formats": "Form\u0101ti", "Headers": "Virsraksti", "Select all": "Iez\u012bm\u0113t", "Header 3": "Tre\u0161\u0101 l\u012bme\u0146a virsraksts", "Blocks": "Bloka elements", "Undo": "Atsaukt", "Strikethrough": "P\u0101rsv\u012btrot", "Bullet list": "Nenumuer\u0113ts saraksts", "Header 1": "Pirm\u0101 l\u012bme\u0146a virsraksts", "Superscript": "Aug\u0161raksts", "Clear formatting": "No\u0146emt format\u0113jumu", "Font Sizes": "Font Sizes", "Subscript": "Apak\u0161raksts", "Header 6": "Sest\u0101 l\u012bme\u0146a virsraksts", "Redo": "Atcelt atsauk\u0161anu", "Paragraph": "Paragr\u0101fs", "Ok": "Labi", "Bold": "Treknraksts", "Code": "Koda elements", "Italic": "Kurs\u012bvs", "Align center": "Centr\u0113t", "Header 5": "Piekt\u0101 l\u012bme\u0146a virsraksts", "Decrease indent": "Samazin\u0101t atk\u0101pi", "Header 4": "Ceturt\u0101 l\u012bme\u0146a virsraksts", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Iel\u012bm\u0113\u0161ana tagad ir vienk\u0101r\u0161teksta re\u017e\u012bm\u0101. Saturs tiks iel\u012bm\u0113ts k\u0101 vienk\u0101r\u0161teksts, l\u012bdz \u0161\u012b opcija tiks atsl\u0113gta.", "Underline": "Pasv\u012btrot", "Cancel": "Atcelt", "Justify": "L\u012bdzin\u0101t abas malas", "Inline": "Rindi\u0146as elements", "Copy": "Kop\u0113t", "Align left": "L\u012bdzin\u0101t pa kreisi", "Visual aids": "Uzskates l\u012bdzek\u013ci", "Lower Greek": "Grie\u0137u mazie burti", "Square": "Kvadr\u0101ts", "Default": "Noklus\u0113juma", "Lower Alpha": "Lat\u012b\u0146u mazie burti", "Circle": "Aplis", "Disc": "Disks", "Upper Alpha": "Lat\u012b\u0146u lielie burti", "Upper Roman": "Romie\u0161u lielie burti", "Lower Roman": "Romie\u0161u mazie burti", "Name": "V\u0101rds", "Anchor": "Enkurelements", "You have unsaved changes are you sure you want to navigate away?": "Jums ir nesaglab\u0101tas izmai\u0146as, esat dro\u0161s, ka v\u0113laties doties prom", "Restore last draft": "Atjaunot p\u0113d\u0113jo melnrakstu", "Special character": "\u012apa\u0161ais simbols", "Source code": "Pirmkods", "Right to left": "No lab\u0101s uz kreiso", "Left to right": "No kreis\u0101s uz labo", "Emoticons": "Emocijas", "Robots": "Programmas", "Document properties": "Dokumenta uzst\u0101d\u012bjumi", "Title": "Nosaukums", "Keywords": "Atsl\u0113gv\u0101rdi", "Encoding": "Kod\u0113jums", "Description": "Apraksts", "Author": "Autors", "Fullscreen": "Pilnekr\u0101na re\u017e\u012bms", "Horizontal line": "Horizont\u0101la l\u012bnija", "Horizontal space": "Horizont\u0101l\u0101 vieta", "Insert\/edit image": "Ievietot\/labot att\u0113lu", "General": "Visp\u0101r\u012bgi", "Advanced": "Papildus", "Source": "Avots", "Border": "Apmale", "Constrain proportions": "Saglab\u0101t malu attiec\u012bbu", "Vertical space": "Vertik\u0101l\u0101 vieta", "Image description": "Att\u0113la apraksts", "Style": "Stils", "Dimensions": "Izm\u0113ri", "Insert image": "Ievietot att\u0113lu", "Insert date\/time": "Ievietot datumu\/laiku", "Remove link": "No\u0146emt saiti", "Url": "Adrese", "Text to display": "Teksts", "Anchors": "Enkurelements", "Insert link": "Ievietot saiti", "New window": "Jauns logs", "None": "Nek\u0101", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "M\u0113r\u0137is", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Ievietot\/labot saiti", "Insert\/edit video": "Ievietot\/redi\u0123\u0113t video", "Poster": "Att\u0113ls", "Alternative source": "Alternat\u012bvs avots", "Paste your embed code below:": "Iekop\u0113jiet embed kodu zem\u0101k:", "Insert video": "Ievietot video", "Embed": "Embed", "Nonbreaking space": "L\u012bnij-nedalo\u0161s atstarpes simbols", "Page break": "P\u0101rnest jaun\u0101 lap\u0101", "Paste as text": "Iel\u012bm\u0113t k\u0101 tekstu", "Preview": "Priek\u0161skat\u012bjums", "Print": "Print\u0113t", "Save": "Saglab\u0101t", "Could not find the specified string.": "Mekl\u0113tais teksts netika atrasts", "Replace": "Aizvietot", "Next": "N\u0101ko\u0161ais", "Whole words": "Pilnus v\u0101rdus", "Find and replace": "Mekl\u0113t un aizvietot", "Replace with": "Aizvietot ar", "Find": "Mekl\u0113t", "Replace all": "Aizvietot visu", "Match case": "Re\u0123istrj\u016bt\u012bgs", "Prev": "Iepriek\u0161\u0113jais", "Spellcheck": "Pareizrakst\u012bbas p\u0101rbaude", "Finish": "Beigt", "Ignore all": "Ignor\u0113t visu", "Ignore": "Ignor\u0113t", "Insert row before": "Ievietot rindu pirms", "Rows": "Rindas", "Height": "Augstums", "Paste row after": "Iel\u012bm\u0113t rindu p\u0113c", "Alignment": "L\u012bdzin\u0101jums", "Column group": "Kolonnu grupa", "Row": "Rinda", "Insert column before": "Ievietot kolonu pirms", "Split cell": "Sadal\u012bt \u0161\u016bnas", "Cell padding": "\u0160\u016bnas atstatumi", "Cell spacing": "\u0160\u016bnu atstarpes", "Row type": "Rindas tips", "Insert table": "Ievietot tabulu", "Body": "\u0136ermenis", "Caption": "Virsraksts", "Footer": "K\u0101jene", "Delete row": "Dz\u0113st rindu", "Paste row before": "Iel\u012bm\u0113t rindu pirms", "Scope": "Apgabals", "Delete table": "Dz\u0113st tabulu", "Header cell": "Galvenes \u0161\u016bna", "Column": "Kolona", "Cell": "\u0160\u016bna", "Header": "Galvene", "Cell type": "\u0160\u016bnas tips", "Copy row": "Kop\u0113t rindu", "Row properties": "Rindas uzst\u0101d\u012bjumi", "Table properties": "Tabulas uzst\u0101d\u012bjumi", "Row group": "Rindu grupa", "Right": "Pa labi", "Insert column after": "Ievietot kolonu p\u0113c", "Cols": "Kolonas", "Insert row after": "Ievietot rindu p\u0113c", "Width": "Platums", "Cell properties": "\u0160\u016bnas uzst\u0101d\u012bjumi", "Left": "Pa kreisi", "Cut row": "Izgriezt rindu", "Delete column": "Dz\u0113st kolonu", "Center": "Centr\u0113t", "Merge cells": "Apvienot \u0161\u016bnas", "Insert template": "Ievietot \u0161ablonu", "Templates": "\u0160abloni", "Background color": "Fona kr\u0101sa", "Text color": "Teksta kr\u0101sa", "Show blocks": "R\u0101d\u012bt blokus", "Show invisible characters": "R\u0101d\u012bt neredzam\u0101s rakstz\u012bmes", "Words: {0}": "V\u0101rdi: {0}", "Insert": "Ievietot", "File": "Fails", "Edit": "Labot", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Vizu\u0101li redi\u0123\u0113jama teksta apgabals. Nospiediet ALT-F9 izv\u0113lnei, ALT-F10 r\u012bkjoslai vai ALT-0 pal\u012bdz\u012bbai.", "Tools": "R\u012bki", "View": "Skat\u012bt", "Table": "Tabula", "Format": "Form\u0101ts", "H Align": "Horizont\u0101lais l\u012bdzin\u0101jums", "V Align": "Vertik\u0101lais l\u012bdzin\u0101jums", "Top": "Aug\u0161\u0101", "Middle": "Vid\u016b", "Bottom": "Apak\u0161\u0101", "Headings": "Virsraksti", "Heading 1": "1. virsraksts", "Heading 2": "2. virsraksts", "Heading 3": "3. virsraksts", "Heading 4": "4. virsraksts", "Heading 5": "5. virsraksts", "Heading 6": "6. virsraksts", "Add to Dictionary": "Pievienot v\u0101rdn\u012bcai", "Border color": "Apmales kr\u0101sa", "Color": "Kr\u0101sa", "Custom...": "Piel\u0101gots...", "Custom color": "Nestandarta kr\u0101sa", "No color": "Bez kr\u0101sas" }); langs/si-LK.js000060400000036757152455403670007156 0ustar00tinymce.addI18n('si-LK',{ "Cut": "\u0d9a\u0db4\u0db1\u0dca\u0db1", "Header 2": "Header 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0d9c\u0dca\u200d\u0dbb\u0dcf\u0dc4\u0d9a \u0db4\u0dd4\u0dc0\u0dbb\u0dd4\u0dc0\u0da7 \u0d8d\u0da2\u0dd4 \u0db4\u0dca\u200d\u0dbb\u0dc0\u0dda\u0dc1\u0dba\u0d9a\u0dca \u0dbd\u0db6\u0dcf\u0daf\u0dd3\u0db8\u0da7 \u0d94\u0db6\u0d9c\u0dda \u0db6\u0dca\u200d\u0dbb\u0dc0\u0dd4\u0dc3\u0dbb\u0dba \u0dc3\u0dc4\u0dba\u0d9a\u0dca \u0db1\u0ddc\u0daf\u0d9a\u0dca\u0dc0\u0dba\u0dd3. \u0d9a\u0dbb\u0dd4\u0dab\u0dcf\u0d9a\u0dbb \u0d92\u0dc0\u0dd9\u0db1\u0dd4\u0dc0\u0da7 Ctrl+X\/C\/V \u0dba\u0db1 \u0dba\u0dad\u0dd4\u0dbb\u0dd4\u0db4\u0dd4\u0dc0\u0dbb\u0dd4 \u0d9a\u0dd9\u0da7\u0dd2\u0db8\u0d9f \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf \u0d9a\u0dbb\u0db1\u0dca\u0db1.", "Div": "Div", "Paste": "\u0d85\u0dbd\u0dc0\u0db1\u0dca\u0db1", "Close": "\u0dc0\u0dc3\u0db1\u0dca\u0db1", "Font Family": "Font Family", "Pre": "Pre", "Align right": "\u0daf\u0d9a\u0dd4\u0dab\u0dd4\u0db4\u0dc3\u0da7 \u0db4\u0dd9\u0dc5\u0d9c\u0dc3\u0dca\u0dc0\u0db1\u0dca\u0db1", "New document": "\u0db1\u0dc0 \u0dbd\u0dda\u0d9b\u0db1\u0dba\u0d9a\u0dca", "Blockquote": "Blockquote", "Numbered list": "\u0d85\u0d82\u0d9a\u0db1\u0dba \u0d9a\u0dbd \u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0", "Increase indent": "\u0dc0\u0dd0\u0da9\u0dd2\u0dc0\u0db1 \u0d91\u0db6\u0dd4\u0db8", "Formats": "\u0d86\u0d9a\u0dd8\u0dad\u0dd2", "Headers": "Headers", "Select all": "\u0dc3\u0dd2\u0dba\u0dbd\u0dca\u0dbd \u0dad\u0ddd\u0dbb\u0db1\u0dca\u0db1", "Header 3": "Header 3", "Blocks": "Blocks", "Undo": "\u0db1\u0dd2\u0dc2\u0dca\u0db4\u0dca\u200d\u0dbb\u0db7\u0dcf \u0d9a\u0dbb\u0db1\u0dc0\u0dcf", "Strikethrough": "\u0db8\u0dd0\u0daf\u0dd2 \u0d89\u0dbb\u0dd0\u0dad\u0dd2", "Bullet list": "\u0dbd\u0dd0\u0dba\u0dd2\u0dc3\u0dca\u0dad\u0dd4\u0dc0", "Header 1": "Header 1", "Superscript": "\u0d8b\u0da9\u0dd4\u0dbd\u0d9a\u0dd4\u0dab\u0dd4", "Clear formatting": "\u0db4\u0dd0\u0dc4\u0dd0\u0daf\u0dd2\u0dbd\u0dd2 \u0d86\u0d9a\u0dd8\u0dad\u0dd2\u0d9a\u0dbb\u0dab\u0dba", "Font Sizes": "Font Sizes", "Subscript": "\u0dba\u0da7\u0dd2\u0dbd\u0d9a\u0dd4\u0dab\u0dd4", "Header 6": "Header 6", "Redo": "\t\u0db1\u0dd0\u0dc0\u0dad \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Paragraph": "Paragraph", "Ok": "\u0d85\u0db1\u0dd4\u0db8\u0dad \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Bold": "\u0db4\u0dd0\u0dc4\u0dd0\u0daf\u0dd2\u0dbd\u0dd2 \u0dc3\u0dda \u0db4\u0dd9\u0db1\u0dd9\u0db1", "Code": "Code", "Italic": "\u0d87\u0dbd\u0d9a\u0dd4\u0dbb\u0dd4", "Align center": "\u0db8\u0dd0\u0daf\u0dd2 \u0d9a\u0ddc\u0da7 \u0db4\u0dd9\u0dc5\u0d9c\u0dc3\u0dca\u0dc0\u0db1\u0dca\u0db1", "Header 5": "Header 5", "Decrease indent": "\u0d85\u0da9\u0dd4\u0dc0\u0db1 \u0d91\u0db6\u0dd4\u0db8", "Header 4": "Header 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.", "Underline": "\u0dba\u0da7\u0dd2\u0db1\u0dca \u0d89\u0dbb\u0d9a\u0dca \u0d85\u0db3\u0dd2\u0db1\u0dca\u0db1", "Cancel": "\u0d85\u0dc4\u0ddd\u0dc3\u0dd2 \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Justify": "\u0dc3\u0db8\u0dc0 \u0db4\u0dd9\u0dc5\u0d9c\u0dc3\u0dca\u0dc0\u0db1\u0dca\u0db1", "Inline": "Inline", "Copy": "\u0db4\u0dd2\u0da7\u0db4\u0dad\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Align left": "\u0dc0\u0db8\u0dca\u0db4\u0dc3\u0da7 \u0db4\u0dd9\u0dc5\u0d9c\u0dc3\u0dca\u0dc0\u0db1\u0dca\u0db1", "Visual aids": "\u0daf\u0dd8\u0dc1\u0dca\u200d\u0dba\u0dcf\u0db0\u0dcf\u0dbb", "Lower Greek": "\u0d9a\u0dd4\u0da9\u0dcf \u0d9c\u0dca\u200d\u0dbb\u0dd3\u0d9a ", "Square": "\u0d9a\u0ddc\u0da7\u0dd4\u0dc0", "Default": "\u0db4\u0dd9\u0dbb\u0db1\u0dd2\u0db8\u0dd2\u0dba ", "Lower Alpha": "\u0d9a\u0dd4\u0da9\u0dcf \u0d87\u0dbd\u0dca\u0dc6\u0dcf ", "Circle": "\u0dc0\u0d9a\u0dca\u200d\u0dbb\u0dba", "Disc": "\u0dad\u0dd0\u0da7\u0dd2\u0dba ", "Upper Alpha": "\u0dc0\u0dd2\u0dc1\u0dcf\u0dbd \u0d87\u0dbd\u0dca\u0dc6\u0dcf ", "Upper Roman": "\u0dc0\u0dd2\u0dc1\u0dcf\u0dbd \u0dbb\u0ddd\u0db8\u0dcf\u0db1\u0dd4 ", "Lower Roman": "\u0d9a\u0dd4\u0da9\u0dcf \u0dbb\u0ddd\u0db8\u0dcf\u0db1\u0dd4 ", "Name": "\u0db1\u0dcf\u0db8\u0dba ", "Anchor": "\u0d87\u0db1\u0dca\u0d9a\u0dbb\u0dba", "You have unsaved changes are you sure you want to navigate away?": "\u0d94\u0db6\u0d9c\u0dda \u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1 \u0db1\u0ddc\u0dbd\u0daf \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0dd2\u0dbb\u0dd3\u0db8\u0dca \u0d87\u0dad,\u0d94\u0db6\u0da7 \u0dc0\u0dd2\u0dc1\u0dca\u0dc0\u0dcf\u0dc3\u0daf \u0d89\u0dc0\u0dad\u0da7 \u0dba\u0dcf\u0dba\u0dd4\u0dad\u0dd4\u0dba\u0dd2 \u0d9a\u0dd2\u0dba\u0dcf?", "Restore last draft": "\u0d85\u0dc0\u0dc3\u0dcf\u0db1\u0dba\u0da7 \u0db7\u0dcf\u0dc0\u0dd2\u0dad\u0dcf\u0d9a\u0dc5 \u0d9a\u0dd9\u0da7\u0dd4\u0db8\u0dca\u0db4\u0dad \u0db4\u0dd2\u0dc5\u0dd2\u0db1\u0d9c\u0db1\u0dca\u0db1 ", "Special character": "\u0dc0\u0dd2\u0dc1\u0dda\u0dc2 \u0d85\u0db1\u0dd4\u0dbd\u0d9a\u0dd4\u0dab ", "Source code": "\u0db8\u0dd6\u0dbd \u0d9a\u0dda\u0dad\u0dba ", "Right to left": "\u0daf\u0d9a\u0dd4\u0dab\u0dd4\u0db4\u0dc3 \u0dc3\u0dd2\u0da7 \u0dc0\u0db8\u0dca\u0db4\u0dc3\u0da7 ", "Left to right": "\u0dc0\u0db8\u0dca\u0db4\u0dc3 \u0dc3\u0dd2\u0da7 \u0daf\u0d9a\u0dd4\u0db1\u0dd4\u0db4\u0dc3\u0da7 ", "Emoticons": "\u0db7\u0dcf\u0dc0 \u0db1\u0dd2\u0dbb\u0dd4\u0db4\u0d9a", "Robots": "\u0dbb\u0ddc\u0db6\u0ddd", "Document properties": "\u0dbd\u0dda\u0d9b\u0db1\u0dba\u0dda \u0d9c\u0dd4\u0dab\u0dcf\u0d82\u0d9c ", "Title": "\u0db8\u0dcf\u0dad\u0dd8\u0d9a\u0dcf\u0dc0", "Keywords": "\u0db8\u0dd6\u0dbd \u0db4\u0daf\u0dba ", "Encoding": "\u0d9a\u0dda\u0dad\u0db1\u0dba", "Description": "\u0dc0\u0dd2\u0dc3\u0dca\u0dad\u0dbb\u0dba ", "Author": "\u0d9a\u0dad\u0dd8 ", "Fullscreen": "\u0db4\u0dd6\u0dbb\u0dca\u0dab \u0dad\u0dd2\u0dbb\u0dba ", "Horizontal line": "\u0dad\u0dd2\u0dbb\u0dc3\u0dca \u0d89\u0dbb ", "Horizontal space": "\u0dad\u0dd2\u0dbb\u0dc3\u0dca \u0dc4\u0dd2\u0dc3\u0dca \u0d89\u0da9", "Insert\/edit image": "\u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd4\u0dbb\u0dba \u0d87\u0dad\u0dd4\u0dbd\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1 \/ \u0dc3\u0d9a\u0dc3\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1 ", "General": "\u0db4\u0ddc\u0daf\u0dd4", "Advanced": "\u0db4\u0dca\u200d\u0dbb\u0d9c\u0dad", "Source": "\u0db8\u0dd6\u0dbd\u0dba ", "Border": "\u0dc3\u0dd3\u0db8\u0dcf\u0dc0 ", "Constrain proportions": "\u0dc3\u0d82\u0dbb\u0ddd\u0daf\u0d9a \u0db4\u0dca\u200d\u0dbb\u0db8\u0dcf\u0dab\u0db1", "Vertical space": "\u0dc3\u0dd2\u0dbb\u0dc3\u0dca \u0dc4\u0dd2\u0dc3\u0dca \u0d89\u0da9", "Image description": "\u0db4\u0dd2\u0db1\u0dca\u0dad\u0dd4\u0dbb\u0dba\u0dda \u0dc0\u0dd2\u0dc3\u0dca\u0dad\u0dbb\u0dba ", "Style": "\u0dc0\u0dd2\u0dbd\u0dcf\u0dc3\u0dba", "Dimensions": "\u0db8\u0dcf\u0db1", "Insert image": "Insert image", "Insert date\/time": "\u0daf\u0dd2\u0db1\u0dba \/ \u0dc0\u0dda\u0dbd\u0dcf\u0dc0 \u0d87\u0dad\u0dd4\u0dbd\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1", "Remove link": "Remove link", "Url": "Url", "Text to display": "\u0db4\u0dd9\u0dc5 - \u0dc3\u0d82\u0daf\u0dbb\u0dca\u0dc1\u0d9a\u0dba", "Anchors": "Anchors", "Insert link": "\u0dc3\u0db6\u0dd0\u0db3\u0dd2\u0dba \u0d87\u0dad\u0dd4\u0dbd\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1", "New window": "\u0db1\u0dc0 \u0d9a\u0dc0\u0dd4\u0dc5\u0dd4\u0dc0\u0d9a\u0dca", "None": "\u0d9a\u0dd2\u0dc3\u0dd2\u0dc0\u0d9a\u0dca \u0db1\u0dd0\u0dad", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u0d89\u0dbd\u0d9a\u0dca\u0d9a\u0dba", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "\u0dc3\u0db6\u0dd0\u0db3\u0dd2\u0dba \u0d87\u0dad\u0dd4\u0dbd\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1 \/ \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1", "Insert\/edit video": "\u0dc0\u0dd3\u0da9\u0dd2\u0dba\u0ddd\u0dc0 \u0d87\u0dad\u0dd4\u0dbd\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1 \/ \u0dc0\u0dd9\u0db1\u0dc3\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1", "Poster": "\u0db4\u0ddd\u0dc3\u0dca\u0da7\u0dbb\u0dba", "Alternative source": "\u0dc0\u0dd2\u0d9a\u0dbd\u0dca\u0db4 \u0db8\u0dd6\u0dbd\u0dba", "Paste your embed code below:": "\u0d94\u0db6\u0d9c\u0dda \u0d9a\u0dcf\u0dc0\u0dd0\u0daf\u0dca\u0daf\u0dd6 \u0d9a\u0dda\u0dad\u0dba \u0db4\u0dc4\u0dad\u0dd2\u0db1\u0dca \u0daf\u0db8\u0db1\u0dca\u0db1", "Insert video": "\u0dc0\u0dd3\u0da9\u0dd2\u0dba\u0ddd\u0dc0 \u0d87\u0dad\u0dd4\u0dbd\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1", "Embed": "\u0d9a\u0dcf\u0dc0\u0daf\u0dca\u0daf\u0db1\u0dca\u0db1", "Nonbreaking space": "\u0db1\u0ddc\u0d9a\u0dd0\u0da9\u0dd4\u0dab\u0dd4 \u0dc4\u0dd2\u0dc3\u0dca \u0d89\u0dbb", "Page break": "\u0db4\u0dd2\u0da7\u0dd4 \u0d9a\u0da9\u0db1\u0dba", "Paste as text": "Paste as text", "Preview": "\u0db4\u0dd9\u0dbb\u0daf\u0dc3\u0dd4\u0db1", "Print": "\u0db8\u0dd4\u0daf\u0dca\u200d\u0dbb\u0dab\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Save": "\u0dc3\u0dd4\u0dbb\u0d9a\u0dd2\u0db1\u0dca\u0db1", "Could not find the specified string.": "\u0db1\u0dd2\u0dbb\u0dd6\u0db4\u0dd2\u0dad \u0d85\u0db1\u0dd4\u0dbd\u0d9a\u0dd4\u0dab\u0dd4 \u0dc0\u0dd0\u0dbd \u0dc3\u0ddc\u0dba\u0dcf \u0d9c\u0dad \u0db1\u0ddc\u0dc4\u0dd0\u0d9a\u0dd2 \u0dc0\u0dd2\u0dba", "Replace": "\u0db4\u0dca\u200d\u0dbb\u0dad\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db4\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Next": "\u0db4\u0dc3\u0dd4", "Whole words": "\u0dc3\u0db8\u0dc3\u0dca\u0dad \u0db4\u0daf", "Find and replace": "\u0dc3\u0ddc\u0dba\u0dcf \u0db4\u0dc3\u0dd4\u0dc0 \u0db4\u0dca\u200d\u0dbb\u0dad\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db4\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Replace with": "\u0db8\u0dd9\u0dba \u0dc3\u0db8\u0d9f \u0db4\u0dca\u200d\u0dbb\u0dad\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db4\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Find": "\u0dc3\u0ddc\u0dba\u0db1\u0dca\u0db1", "Replace all": "\u0dc3\u0dd2\u0dba\u0dbd\u0dca\u0dbd\u0db8 \u0db4\u0dca\u200d\u0dbb\u0dad\u0dd2\u0dc3\u0dca\u0dae\u0dcf\u0db4\u0db1\u0dba \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Match case": "\u0d9a\u0dcf\u0dbb\u0dab\u0dba \u0d9c\u0dbd\u0db4\u0db1\u0dca\u0db1", "Prev": "\u0db4\u0dd9\u0dbb", "Spellcheck": "\u0d85\u0d9a\u0dca\u0dc2\u0dbb \u0dc0\u0dd2\u0db1\u0dca\u200d\u0dba\u0dcf\u0dc3\u0dba \u0db4\u0dbb\u0dd3\u0d9a\u0dca\u0dc2\u0dcf \u0d9a\u0dbb \u0db6\u0dd0\u0dbd\u0dd3\u0db8", "Finish": "\u0d85\u0dc0\u0dc3\u0db1\u0dca", "Ignore all": "\u0dc3\u0dd2\u0dba\u0dbd\u0dca\u0dbd\u0db8 \u0db1\u0ddc\u0dc3\u0dbd\u0d9a\u0dcf \u0dc4\u0dbb\u0dd2\u0db1\u0dca\u0db1", "Ignore": "\u0db1\u0ddc\u0dc3\u0dbd\u0d9a\u0dcf \u0dc4\u0dd0\u0dbb\u0dd3\u0db8", "Insert row before": "\u0db8\u0dda \u0dad\u0dd0\u0db1\u0da7 \u0db4\u0dd9\u0dbb \u0db4\u0dda\u0dc5\u0dd2\u0dba\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Rows": "\u0db4\u0dda\u0dc5\u0dd2", "Height": "\u0d8b\u0dc3 ", "Paste row after": "\u0db8\u0dda \u0dad\u0dd0\u0db1\u0da7 \u0db4\u0dc3\u0dd4 \u0db4\u0dda\u0dc5\u0dd2\u0dba \u0d85\u0db8\u0dd4\u0dab\u0db1\u0dca\u0db1 ", "Alignment": "\u0db4\u0dd9\u0dc5 \u0d9c\u0dd0\u0dc3\u0dd4\u0db8", "Column group": "\u0dad\u0dd3\u0dbb\u0dd4 \u0d9a\u0dcf\u0dab\u0dca\u0da9\u0dba", "Row": "\u0db4\u0dda\u0dc5\u0dd2\u0dba ", "Insert column before": "\u0db8\u0dda \u0dad\u0dd0\u0db1\u0da7 \u0db4\u0dd9\u0dbb \u0dad\u0dd3\u0dbb\u0dd4\u0dc0 \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Split cell": "\u0d9a\u0ddc\u0da7\u0dd4 \u0dc0\u0dd9\u0db1\u0dca\u0d9a\u0dbb\u0db1\u0dca\u0db1 ", "Cell padding": "\u0d9a\u0ddc\u0da7\u0dd4\u0dc0\u0dd9\u0dc4\u0dd2 \u0db4\u0dd2\u0dbb\u0dc0\u0dd4\u0db8", "Cell spacing": "\u0d9a\u0ddc\u0da7\u0dd4\u0dc0\u0dd9\u0dc4\u0dd2 \u0d89\u0da9 \u0dc3\u0dd3\u0db8\u0dcf\u0dc0 ", "Row type": "\u0db4\u0dda\u0dc5\u0dd2\u0dba\u0dd9\u0dc4\u0dd2 \u0dc0\u0dbb\u0dca\u0d9c\u0dba", "Insert table": "\u0dc0\u0d9c\u0dd4\u0dc0\u0da7 \u0d87\u0dad\u0dd4\u0dbd\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 ", "Body": "\u0db4\u0dca\u200d\u0dbb\u0db0\u0dcf\u0db1 \u0d9a\u0ddc\u0da7\u0dc3", "Caption": "\u0dba\u0da7\u0dd2 \u0dbd\u0dd2\u0dba\u0db8\u0db1 ", "Footer": "\u0db4\u0dcf\u0daf\u0d9a\u0dba", "Delete row": "\u0db4\u0dda\u0dc5\u0dd2\u0dba \u0db8\u0d9a\u0db1\u0dca\u0db1 ", "Paste row before": "\u0db8\u0dda \u0dad\u0dd0\u0db1\u0da7 \u0db4\u0dd9\u0dbb \u0db4\u0dda\u0dc5\u0dd2\u0dba \u0d85\u0db8\u0dd4\u0dab\u0db1\u0dca\u0db1 ", "Scope": "\u0dc0\u0dd2\u0dc2\u0dba\u0db4\u0dae\u0dba", "Delete table": "\u0dc0\u0d9c\u0dd4\u0dc0 \u0db8\u0d9a\u0db1\u0dca\u0db1 ", "Header cell": "\u0dc1\u0dd3\u0dbb\u0dca\u0dc2 \u0d9a\u0ddc\u0da7\u0dd4\u0dc0", "Column": "\u0dad\u0dd3\u0dbb\u0dd4\u0dc0", "Cell": "\u0d9a\u0ddc\u0da7\u0dd4\u0dc0 ", "Header": "\u0dc1\u0dd3\u0dbb\u0dca\u0dc2\u0d9a\u0dba", "Cell type": "\u0d9a\u0ddc\u0da7\u0dd4\u0dc0\u0dd9\u0dc4\u0dd2 \u0dc0\u0dbb\u0dca\u0d9c\u0dba", "Copy row": "\u0db4\u0dda\u0dc5\u0dd2\u0dba \u0db4\u0dd2\u0da7\u0db4\u0dad\u0dca \u0d9a\u0dbb\u0d9c\u0db1\u0dca\u0db1 ", "Row properties": "\u0db4\u0dda\u0dc5\u0dd2\u0dba\u0dd9\u0dc4\u0dd2 \u0d9c\u0dd4\u0dab\u0dcf\u0d82\u0d9c ", "Table properties": "\u0dc0\u0d9c\u0dd4\u0dc0\u0dd9\u0dc4\u0dd2 \u0d9c\u0dd4\u0dab\u0dcf\u0d82\u0d9c ", "Row group": "\u0db4\u0dda\u0dc5\u0dd2 \u0d9a\u0dcf\u0dab\u0dca\u0da9\u0dba", "Right": "\u0daf\u0d9a\u0dd4\u0dab", "Insert column after": "\u0db8\u0dda \u0dad\u0dd0\u0db1\u0da7 \u0db4\u0dc3\u0dd4 \u0dad\u0dd3\u0dbb\u0dd4\u0dc0 \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 ", "Cols": "\u0dad\u0dd3\u0dbb\u0dd4 ", "Insert row after": "\u0db8\u0dda \u0dad\u0dd0\u0db1\u0da7 \u0db4\u0dc3\u0dd4 \u0db4\u0dda\u0dc5\u0dd2\u0dba\u0d9a\u0dca \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 ", "Width": "\u0db4\u0dc5\u0dbd", "Cell properties": "\u0d9a\u0ddc\u0da7\u0dd4\u0dc0\u0dd9\u0dc4\u0dd2 \u0d9c\u0dd4\u0dab\u0dcf\u0d82\u0d9c ", "Left": "\u0dc0\u0db8", "Cut row": "\u0db4\u0dda\u0dc5\u0dd2\u0dba \u0d9a\u0db4\u0dcf\u0d9c\u0db1\u0dca\u0db1 ", "Delete column": "\u0dad\u0dd3\u0dbb\u0dd4\u0dc0 \u0db8\u0d9a\u0db1\u0dca\u0db1 ", "Center": "\u0db8\u0dd0\u0daf", "Merge cells": "\u0d9a\u0ddc\u0da7\u0dd4 \u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1 ", "Insert template": "\u0d85\u0da0\u0dca\u0da0\u0dd4\u0dc0 \u0d87\u0dad\u0dd4\u0dbd\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1", "Templates": "\u0d85\u0da0\u0dca\u0da0\u0dd4", "Background color": "\u0db4\u0dc3\u0dd4\u0db6\u0dd2\u0db8\u0dd9\u0dc4\u0dd2 \u0dc0\u0dbb\u0dca\u0dab\u0dba", "Text color": "\u0db4\u0dd9\u0dc5 \u0dc3\u0da7\u0dc4\u0db1\u0dda \u0dc0\u0dbb\u0dca\u0dab\u0dba", "Show blocks": "\u0d9a\u0ddc\u0da7\u0dc3\u0dca \u0db4\u0dd9\u0db1\u0dca\u0dc0\u0db1\u0dca\u0db1", "Show invisible characters": "\u0db1\u0ddc\u0db4\u0dd9\u0db1\u0dd9\u0db1 \u0d85\u0db1\u0dd4\u0dbd\u0d9a\u0dd4\u0dab\u0dd4 \u0db4\u0dd9\u0db1\u0dca\u0dc0\u0db1\u0dca\u0db1", "Words: {0}": "\u0dc0\u0da0\u0db1: {0}", "Insert": "\u0d91\u0d9a\u0dca \u0d9a\u0dbb\u0db1\u0dca\u0db1", "File": "\u0d9c\u0ddc\u0db1\u0dd4\u0dc0", "Edit": "\u0dc3\u0d9a\u0dc3\u0db1\u0dca\u0db1", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0db4\u0dd9\u0dc5 \u0dc3\u0da7\u0dc4\u0db1\u0dca \u0db6\u0dc4\u0dd4\u0dbd \u0db4\u0dca\u200d\u0dbb\u0daf\u0dda\u0dc1\u0dba. \u0db8\u0dd9\u0db1\u0dd4\u0dc0 \u0dc3\u0db3\u0dc4\u0dcf ALT-F9 \u0d94\u0db6\u0db1\u0dca\u0db1. \u0db8\u0dd9\u0dc0\u0dbd\u0db8\u0dca \u0dad\u0dd3\u0dbb\u0dd4\u0dc0 \u0dc3\u0db3\u0dc4\u0dcf ALT-F10 \u0d94\u0db6\u0db1\u0dca\u0db1. \u0dc3\u0dc4\u0dba \u0dbd\u0db6\u0dcf\u0d9c\u0dd0\u0db1\u0dd3\u0db8 \u0dc3\u0db3\u0dc4\u0dcf ALT-0 \u0d94\u0db6\u0db1\u0dca\u0db1.", "Tools": "\u0db8\u0dd9\u0dc0\u0dbd\u0db8\u0dca", "View": "\u0db4\u0dd9\u0db1\u0dca\u0dc0\u0db1\u0dca\u0db1", "Table": "\u0dc0\u0d9c\u0dd4\u0dc0", "Format": "\u0dc4\u0dd0\u0da9\u0dad\u0dbd\u0dba" });langs/th.js000060400000047310152455403670006635 0ustar00tinymce.addI18n('th',{ "Cut": "\u0e15\u0e31\u0e14", "Heading 5": "\u0e2b\u0e31\u0e27\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07 5", "Header 2": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0e40\u0e1a\u0e23\u0e32\u0e27\u0e4c\u0e40\u0e0b\u0e2d\u0e23\u0e4c\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e44\u0e21\u0e48\u0e2a\u0e19\u0e31\u0e1a\u0e2a\u0e19\u0e38\u0e19\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e16\u0e36\u0e07\u0e42\u0e14\u0e22\u0e15\u0e23\u0e07\u0e44\u0e1b\u0e22\u0e31\u0e07\u0e04\u0e25\u0e34\u0e1b\u0e1a\u0e2d\u0e23\u0e4c\u0e14 \u0e01\u0e23\u0e38\u0e13\u0e32\u0e43\u0e0a\u0e49\u0e41\u0e1b\u0e49\u0e19\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e25\u0e31\u0e14 Ctrl+X\/C\/V \u0e41\u0e17\u0e19", "Heading 4": "\u0e2b\u0e31\u0e27\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07 4", "Div": "Div", "Heading 2": "\u0e2b\u0e31\u0e27\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07 2", "Paste": "\u0e27\u0e32\u0e07", "Close": "\u0e1b\u0e34\u0e14", "Font Family": "\u0e15\u0e23\u0e30\u0e01\u0e39\u0e25\u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e01\u0e29\u0e23", "Pre": "\u0e01\u0e48\u0e2d\u0e19", "Align right": "\u0e08\u0e31\u0e14\u0e0a\u0e34\u0e14\u0e02\u0e27\u0e32", "New document": "\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23\u0e43\u0e2b\u0e21\u0e48", "Blockquote": "\u0e22\u0e01\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e17\u0e31\u0e49\u0e07\u0e22\u0e48\u0e2d\u0e2b\u0e19\u0e49\u0e32", "Numbered list": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e25\u0e33\u0e14\u0e31\u0e1a\u0e40\u0e25\u0e02", "Heading 1": "\u0e2b\u0e31\u0e27\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07 1", "Headings": "\u0e2b\u0e31\u0e27\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07", "Increase indent": "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e01\u0e32\u0e23\u0e40\u0e22\u0e37\u0e49\u0e2d\u0e07", "Formats": "\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a", "Headers": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27", "Select all": "\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14", "Header 3": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 3", "Blocks": "\u0e1a\u0e25\u0e47\u0e2d\u0e01", "Undo": "\u0e40\u0e25\u0e34\u0e01\u0e17\u0e33", "Strikethrough": "\u0e02\u0e35\u0e14\u0e17\u0e31\u0e1a", "Bullet list": "\u0e23\u0e32\u0e22\u0e01\u0e32\u0e23\u0e2a\u0e31\u0e0d\u0e25\u0e31\u0e01\u0e29\u0e13\u0e4c\u0e2b\u0e31\u0e27\u0e02\u0e49\u0e2d\u0e22\u0e48\u0e2d\u0e22", "Header 1": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 1", "Superscript": "\u0e15\u0e31\u0e27\u0e22\u0e01", "Clear formatting": "\u0e25\u0e49\u0e32\u0e07\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a", "Font Sizes": "\u0e02\u0e19\u0e32\u0e14\u0e41\u0e1a\u0e1a\u0e2d\u0e31\u0e01\u0e29\u0e23", "Subscript": "\u0e15\u0e31\u0e27\u0e2b\u0e49\u0e2d\u0e22", "Header 6": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 6", "Redo": "\u0e17\u0e4d\u0e32\u0e0b\u0e49\u0e33", "Paragraph": "\u0e22\u0e48\u0e2d\u0e2b\u0e19\u0e49\u0e32", "Ok": "\u0e15\u0e01\u0e25\u0e07", "Bold": "\u0e15\u0e31\u0e27\u0e2b\u0e19\u0e32", "Code": "\u0e42\u0e04\u0e49\u0e14", "Italic": "\u0e15\u0e31\u0e27\u0e40\u0e2d\u0e35\u0e22\u0e07", "Align center": "\u0e08\u0e31\u0e14\u0e01\u0e36\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07", "Header 5": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 5", "Heading 6": "\u0e2b\u0e31\u0e27\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07 6", "Heading 3": "\u0e2b\u0e31\u0e27\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07 3", "Decrease indent": "\u0e25\u0e14\u0e01\u0e32\u0e23\u0e40\u0e22\u0e37\u0e49\u0e2d\u0e07", "Header 4": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0e01\u0e32\u0e23\u0e27\u0e32\u0e07\u0e15\u0e2d\u0e19\u0e19\u0e35\u0e49\u0e2d\u0e22\u0e39\u0e48\u0e43\u0e19\u0e42\u0e2b\u0e21\u0e14\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e18\u0e23\u0e23\u0e21\u0e14\u0e32 \u0e40\u0e19\u0e37\u0e49\u0e2d\u0e2b\u0e32\u0e08\u0e30\u0e16\u0e39\u0e01\u0e27\u0e32\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e18\u0e23\u0e23\u0e21\u0e14\u0e32\u0e08\u0e19\u0e01\u0e27\u0e48\u0e32\u0e04\u0e38\u0e13\u0e08\u0e30\u0e1b\u0e34\u0e14\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e19\u0e35\u0e49", "Underline": "\u0e02\u0e35\u0e14\u0e40\u0e2a\u0e49\u0e19\u0e43\u0e15\u0e49", "Cancel": "\u0e22\u0e01\u0e40\u0e25\u0e34\u0e01", "Justify": "\u0e40\u0e15\u0e47\u0e21\u0e41\u0e19\u0e27", "Inline": "\u0e41\u0e1a\u0e1a\u0e2d\u0e34\u0e19\u0e44\u0e25\u0e19\u0e4c", "Copy": "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01", "Align left": "\u0e08\u0e31\u0e14\u0e0a\u0e34\u0e14\u0e0b\u0e49\u0e32\u0e22", "Visual aids": "\u0e17\u0e31\u0e28\u0e19\u0e39\u0e1b\u0e01\u0e23\u0e13\u0e4c", "Lower Greek": "\u0e01\u0e23\u0e35\u0e01\u0e17\u0e35\u0e48\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32", "Square": "\u0e08\u0e31\u0e15\u0e38\u0e23\u0e31\u0e2a", "Default": "\u0e04\u0e48\u0e32\u0e40\u0e23\u0e34\u0e48\u0e21\u0e15\u0e49\u0e19", "Lower Alpha": "\u0e2d\u0e31\u0e25\u0e1f\u0e32\u0e17\u0e35\u0e48\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32", "Circle": "\u0e27\u0e07\u0e01\u0e25\u0e21", "Disc": "\u0e14\u0e34\u0e2a\u0e01\u0e4c", "Upper Alpha": "\u0e2d\u0e31\u0e25\u0e1f\u0e32\u0e17\u0e35\u0e48\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32", "Upper Roman": "\u0e42\u0e23\u0e21\u0e31\u0e19\u0e17\u0e35\u0e48\u0e2a\u0e39\u0e07\u0e01\u0e27\u0e48\u0e32", "Lower Roman": "\u0e42\u0e23\u0e21\u0e31\u0e19\u0e17\u0e35\u0e48\u0e15\u0e48\u0e33\u0e01\u0e27\u0e48\u0e32", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id \u0e04\u0e27\u0e23\u0e08\u0e30\u0e02\u0e36\u0e49\u0e19\u0e15\u0e49\u0e19\u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23 \u0e15\u0e32\u0e21\u0e14\u0e49\u0e27\u0e22\u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23 \u0e15\u0e31\u0e27\u0e40\u0e25\u0e02 \u0e02\u0e35\u0e14\u0e01\u0e25\u0e32\u0e07 \u0e08\u0e38\u0e14 \u0e2d\u0e31\u0e12\u0e20\u0e32\u0e04 \u0e2b\u0e23\u0e37\u0e2d \u0e02\u0e35\u0e14\u0e25\u0e48\u0e32\u0e07", "Name": "\u0e0a\u0e37\u0e48\u0e2d", "Anchor": "\u0e08\u0e38\u0e14\u0e22\u0e36\u0e14", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "\u0e04\u0e38\u0e13\u0e21\u0e35\u0e01\u0e32\u0e23\u0e40\u0e1b\u0e25\u0e35\u0e48\u0e22\u0e19\u0e41\u0e1b\u0e25\u0e07\u0e17\u0e35\u0e48\u0e44\u0e21\u0e48\u0e44\u0e14\u0e49\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01 \u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e17\u0e35\u0e48\u0e08\u0e30\u0e2d\u0e2d\u0e01\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48?", "Restore last draft": "\u0e04\u0e37\u0e19\u0e04\u0e48\u0e32\u0e41\u0e1a\u0e1a\u0e23\u0e48\u0e32\u0e07\u0e25\u0e48\u0e32\u0e2a\u0e38\u0e14", "Special character": "\u0e2d\u0e31\u0e01\u0e02\u0e23\u0e30\u0e1e\u0e34\u0e40\u0e28\u0e29", "Source code": "\u0e42\u0e04\u0e49\u0e14\u0e15\u0e49\u0e19\u0e09\u0e1a\u0e31\u0e1a", "Language": "\u0e20\u0e32\u0e29\u0e32", "Insert\/Edit code sample": "\u0e41\u0e17\u0e23\u0e01\/\u0e41\u0e01\u0e49\u0e44\u0e02\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07\u0e42\u0e04\u0e49\u0e14", "B": "\u0e19\u0e49\u0e33\u0e40\u0e07\u0e34\u0e19", "R": "\u0e41\u0e14\u0e07", "G": "\u0e40\u0e02\u0e35\u0e22\u0e27", "Color": "\u0e2a\u0e35", "Right to left": "\u0e02\u0e27\u0e32\u0e44\u0e1b\u0e0b\u0e49\u0e32\u0e22", "Left to right": "\u0e0b\u0e49\u0e32\u0e22\u0e44\u0e1b\u0e02\u0e27\u0e32", "Emoticons": "\u0e2d\u0e34\u0e42\u0e21\u0e15\u0e34\u0e04\u0e2d\u0e19", "Robots": "\u0e2b\u0e38\u0e48\u0e19\u0e22\u0e19\u0e15\u0e4c", "Document properties": "\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e02\u0e2d\u0e07\u0e40\u0e2d\u0e01\u0e2a\u0e32\u0e23", "Title": "\u0e0a\u0e37\u0e48\u0e2d\u0e40\u0e23\u0e37\u0e48\u0e2d\u0e07", "Keywords": "\u0e04\u0e33\u0e2a\u0e33\u0e04\u0e31\u0e0d", "Encoding": "\u0e01\u0e32\u0e23\u0e40\u0e02\u0e49\u0e32\u0e23\u0e2b\u0e31\u0e2a", "Description": "\u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22", "Author": "\u0e1c\u0e39\u0e49\u0e40\u0e02\u0e35\u0e22\u0e19", "Fullscreen": "\u0e40\u0e15\u0e47\u0e21\u0e08\u0e2d", "Horizontal line": "\u0e40\u0e2a\u0e49\u0e19\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19", "Horizontal space": "\u0e0a\u0e48\u0e2d\u0e07\u0e27\u0e48\u0e32\u0e07\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19", "Insert\/edit image": "\u0e41\u0e17\u0e23\u0e01\/\u0e41\u0e01\u0e49\u0e44\u0e02\u0e23\u0e39\u0e1b", "General": "\u0e17\u0e31\u0e48\u0e27\u0e44\u0e1b", "Advanced": "\u0e02\u0e31\u0e49\u0e19\u0e2a\u0e39\u0e07", "Source": "\u0e41\u0e2b\u0e25\u0e48\u0e07\u0e17\u0e35\u0e48\u0e21\u0e32", "Border": "\u0e40\u0e2a\u0e49\u0e19\u0e02\u0e2d\u0e1a", "Constrain proportions": "\u0e08\u0e33\u0e01\u0e31\u0e14\u0e2a\u0e31\u0e14\u0e2a\u0e48\u0e27\u0e19", "Vertical space": "\u0e0a\u0e48\u0e2d\u0e07\u0e27\u0e48\u0e32\u0e07\u0e41\u0e19\u0e27\u0e15\u0e31\u0e49\u0e07", "Image description": "\u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22\u0e23\u0e39\u0e1b", "Style": "\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a", "Dimensions": "\u0e02\u0e19\u0e32\u0e14", "Insert image": "\u0e41\u0e17\u0e23\u0e01\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e", "Image": "\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e", "Zoom in": "\u0e02\u0e22\u0e32\u0e22\u0e40\u0e02\u0e49\u0e32", "Contrast": "\u0e04\u0e27\u0e32\u0e21\u0e40\u0e1b\u0e23\u0e35\u0e22\u0e1a\u0e15\u0e48\u0e32\u0e07", "Back": "\u0e01\u0e25\u0e31\u0e1a", "Gamma": "\u0e41\u0e01\u0e21\u0e21\u0e32", "Flip horizontally": "\u0e1e\u0e25\u0e34\u0e01\u0e15\u0e32\u0e21\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19", "Resize": "\u0e1b\u0e23\u0e31\u0e1a\u0e02\u0e19\u0e32\u0e14", "Sharpen": "\u0e04\u0e27\u0e32\u0e21\u0e04\u0e21", "Zoom out": "\u0e22\u0e48\u0e2d\u0e2d\u0e2d\u0e01", "Image options": "\u0e15\u0e31\u0e27\u0e40\u0e25\u0e37\u0e2d\u0e01\u0e23\u0e39\u0e1b\u0e20\u0e32\u0e1e", "Apply": "\u0e19\u0e33\u0e44\u0e1b\u0e43\u0e0a\u0e49", "Brightness": "\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e27\u0e48\u0e32\u0e07", "Rotate clockwise": "\u0e2b\u0e21\u0e38\u0e19\u0e15\u0e32\u0e21\u0e40\u0e02\u0e47\u0e21\u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32", "Rotate counterclockwise": "\u0e2b\u0e21\u0e38\u0e19\u0e17\u0e27\u0e19\u0e40\u0e02\u0e47\u0e21\u0e19\u0e32\u0e2c\u0e34\u0e01\u0e32", "Edit image": "\u0e41\u0e01\u0e49\u0e44\u0e02\u0e23\u0e39\u0e1b", "Color levels": "\u0e23\u0e30\u0e14\u0e31\u0e1a\u0e2a\u0e35", "Crop": "\u0e04\u0e23\u0e2d\u0e1b\u0e15\u0e31\u0e14", "Orientation": "\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e27\u0e32\u0e07", "Flip vertically": "\u0e1e\u0e25\u0e34\u0e01\u0e15\u0e32\u0e21\u0e41\u0e19\u0e27\u0e15\u0e31\u0e49\u0e07", "Invert": "\u0e22\u0e49\u0e2d\u0e19\u0e01\u0e25\u0e31\u0e1a", "Date\/time": "\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\/\u0e40\u0e27\u0e25\u0e32", "Insert date\/time": "\u0e41\u0e17\u0e23\u0e01\u0e27\u0e31\u0e19\u0e17\u0e35\u0e48\/\u0e40\u0e27\u0e25\u0e32", "Remove link": "\u0e40\u0e2d\u0e32\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e2d\u0e2d\u0e01", "Url": "URL", "Text to display": "\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21\u0e17\u0e35\u0e48\u0e08\u0e30\u0e41\u0e2a\u0e14\u0e07", "Anchors": "\u0e08\u0e38\u0e14\u0e22\u0e36\u0e14", "Insert link": "\u0e41\u0e17\u0e23\u0e01\u0e25\u0e34\u0e07\u0e01\u0e4c", "Link": "\u0e25\u0e34\u0e07\u0e01\u0e4c", "New window": "\u0e40\u0e1b\u0e34\u0e14\u0e2b\u0e19\u0e49\u0e32\u0e15\u0e48\u0e32\u0e07\u0e43\u0e2b\u0e21\u0e48", "None": "\u0e44\u0e21\u0e48\u0e21\u0e35", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "URL \u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e23\u0e30\u0e1a\u0e38\u0e14\u0e39\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e27\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e25\u0e34\u0e07\u0e01\u0e4c\u0e20\u0e32\u0e22\u0e19\u0e2d\u0e01 \u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2a\u0e48 http:\/\/ \u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48", "Paste or type a link": "\u0e27\u0e32\u0e07\u0e2b\u0e23\u0e37\u0e2d\u0e1b\u0e49\u0e2d\u0e19\u0e25\u0e34\u0e07\u0e01\u0e4c", "Target": "\u0e40\u0e1b\u0e49\u0e32\u0e2b\u0e21\u0e32\u0e22", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "URL \u0e17\u0e35\u0e48\u0e04\u0e38\u0e13\u0e23\u0e30\u0e1a\u0e38\u0e14\u0e39\u0e40\u0e2b\u0e21\u0e37\u0e2d\u0e19\u0e27\u0e48\u0e32\u0e40\u0e1b\u0e47\u0e19\u0e2d\u0e35\u0e40\u0e21\u0e25\u0e41\u0e2d\u0e14\u0e40\u0e14\u0e23\u0e2a \u0e04\u0e38\u0e13\u0e15\u0e49\u0e2d\u0e07\u0e01\u0e32\u0e23\u0e43\u0e2a\u0e48 mailto: \u0e19\u0e33\u0e2b\u0e19\u0e49\u0e32\u0e2b\u0e23\u0e37\u0e2d\u0e44\u0e21\u0e48", "Insert\/edit link": "\u0e41\u0e17\u0e23\u0e01\/\u0e41\u0e01\u0e49\u0e44\u0e02\u0e25\u0e34\u0e07\u0e01\u0e4c", "Insert\/edit video": "\u0e41\u0e17\u0e23\u0e01\/\u0e41\u0e01\u0e49\u0e44\u0e02\u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d", "Media": "\u0e2a\u0e37\u0e48\u0e2d", "Alternative source": "\u0e41\u0e2b\u0e25\u0e48\u0e07\u0e17\u0e35\u0e48\u0e21\u0e32\u0e2a\u0e33\u0e23\u0e2d\u0e07", "Paste your embed code below:": "\u0e27\u0e32\u0e07\u0e42\u0e04\u0e49\u0e14\u0e1d\u0e31\u0e07\u0e15\u0e31\u0e27\u0e02\u0e2d\u0e07\u0e04\u0e38\u0e13\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07:", "Insert video": "\u0e41\u0e17\u0e23\u0e01\u0e27\u0e34\u0e14\u0e35\u0e42\u0e2d", "Poster": "\u0e42\u0e1b\u0e2a\u0e40\u0e15\u0e2d\u0e23\u0e4c", "Insert\/edit media": "\u0e41\u0e17\u0e23\u0e01\/\u0e41\u0e01\u0e49\u0e44\u0e02\u0e2a\u0e37\u0e48\u0e2d", "Embed": "\u0e1d\u0e31\u0e07", "Nonbreaking space": "\u0e0a\u0e48\u0e2d\u0e07\u0e27\u0e48\u0e32\u0e07\u0e44\u0e21\u0e48\u0e41\u0e22\u0e01", "Page break": "\u0e15\u0e31\u0e27\u0e41\u0e1a\u0e48\u0e07\u0e2b\u0e19\u0e49\u0e32", "Paste as text": "\u0e27\u0e32\u0e07\u0e40\u0e1b\u0e47\u0e19\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21", "Preview": "\u0e41\u0e2a\u0e14\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e22\u0e48\u0e32\u0e07", "Print": "\u0e1e\u0e34\u0e21\u0e1e\u0e4c", "Save": "\u0e1a\u0e31\u0e19\u0e17\u0e36\u0e01", "Could not find the specified string.": "\u0e44\u0e21\u0e48\u0e1e\u0e1a\u0e2a\u0e15\u0e23\u0e34\u0e07\u0e17\u0e35\u0e48\u0e23\u0e30\u0e1a\u0e38", "Replace": "\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48", "Next": "\u0e16\u0e31\u0e14\u0e44\u0e1b", "Whole words": "\u0e17\u0e31\u0e49\u0e07\u0e04\u0e33", "Find and replace": "\u0e04\u0e49\u0e19\u0e2b\u0e32\u0e41\u0e25\u0e30\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48", "Replace with": "\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e14\u0e49\u0e27\u0e22", "Find": "\u0e04\u0e49\u0e19\u0e2b\u0e32", "Replace all": "\u0e41\u0e17\u0e19\u0e17\u0e35\u0e48\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14", "Match case": "\u0e15\u0e23\u0e07\u0e15\u0e32\u0e21\u0e15\u0e31\u0e27\u0e1e\u0e34\u0e21\u0e1e\u0e4c\u0e43\u0e2b\u0e0d\u0e48-\u0e40\u0e25\u0e47\u0e01", "Prev": "\u0e01\u0e48\u0e2d\u0e19\u0e2b\u0e19\u0e49\u0e32", "Spellcheck": "\u0e15\u0e23\u0e27\u0e08\u0e01\u0e32\u0e23\u0e2a\u0e30\u0e01\u0e14", "Finish": "\u0e40\u0e2a\u0e23\u0e47\u0e08\u0e2a\u0e34\u0e49\u0e19", "Ignore all": "\u0e25\u0e30\u0e40\u0e27\u0e49\u0e19\u0e17\u0e31\u0e49\u0e07\u0e2b\u0e21\u0e14", "Ignore": "\u0e25\u0e30\u0e40\u0e27\u0e49\u0e19", "Add to Dictionary": "\u0e40\u0e1e\u0e34\u0e48\u0e21\u0e43\u0e19\u0e1e\u0e08\u0e19\u0e32\u0e19\u0e38\u0e01\u0e23\u0e21", "Insert row before": "\u0e41\u0e17\u0e23\u0e01\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19", "Rows": "\u0e41\u0e16\u0e27", "Height": "\u0e04\u0e27\u0e32\u0e21\u0e2a\u0e39\u0e07", "Paste row after": "\u0e27\u0e32\u0e07\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07", "Alignment": "\u0e01\u0e32\u0e23\u0e08\u0e31\u0e14\u0e41\u0e19\u0e27", "Border color": "\u0e2a\u0e35\u0e02\u0e2d\u0e1a", "Column group": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c", "Row": "\u0e41\u0e16\u0e27", "Insert column before": "\u0e41\u0e17\u0e23\u0e01\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e02\u0e49\u0e32\u0e07\u0e2b\u0e19\u0e49\u0e32", "Split cell": "\u0e41\u0e22\u0e01\u0e40\u0e0b\u0e25\u0e25\u0e4c", "Cell padding": "\u0e0a\u0e48\u0e2d\u0e07\u0e27\u0e48\u0e32\u0e07\u0e20\u0e32\u0e22\u0e43\u0e19\u0e40\u0e0b\u0e25\u0e25\u0e4c", "Cell spacing": "\u0e0a\u0e48\u0e2d\u0e07\u0e27\u0e48\u0e32\u0e07\u0e23\u0e30\u0e2b\u0e27\u0e48\u0e32\u0e07\u0e40\u0e0b\u0e25\u0e25\u0e4c", "Row type": "\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e41\u0e16\u0e27", "Insert table": "\u0e41\u0e17\u0e23\u0e01\u0e15\u0e32\u0e23\u0e32\u0e07", "Body": "\u0e40\u0e19\u0e37\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21", "Caption": "\u0e1b\u0e49\u0e32\u0e22\u0e04\u0e33\u0e2d\u0e18\u0e34\u0e1a\u0e32\u0e22", "Footer": "\u0e2a\u0e48\u0e27\u0e19\u0e17\u0e49\u0e32\u0e22", "Delete row": "\u0e25\u0e1a\u0e41\u0e16\u0e27", "Paste row before": "\u0e27\u0e32\u0e07\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e1a\u0e19", "Scope": "\u0e02\u0e2d\u0e1a\u0e40\u0e02\u0e15", "Delete table": "\u0e25\u0e1a\u0e15\u0e32\u0e23\u0e32\u0e07", "H Align": "\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e07\u0e43\u0e19\u0e41\u0e19\u0e27\u0e19\u0e2d\u0e19", "Top": "\u0e1a\u0e19", "Header cell": "\u0e40\u0e0b\u0e25\u0e25\u0e4c\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27", "Column": "\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c", "Row group": "\u0e01\u0e25\u0e38\u0e48\u0e21\u0e41\u0e16\u0e27", "Cell": "\u0e40\u0e0b\u0e25\u0e25\u0e4c", "Middle": "\u0e01\u0e25\u0e32\u0e07", "Cell type": "\u0e0a\u0e19\u0e34\u0e14\u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e25\u0e25\u0e4c", "Copy row": "\u0e04\u0e31\u0e14\u0e25\u0e2d\u0e01\u0e41\u0e16\u0e27", "Row properties": "\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e02\u0e2d\u0e07\u0e41\u0e16\u0e27", "Table properties": "\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e02\u0e2d\u0e07\u0e15\u0e32\u0e23\u0e32\u0e07", "Bottom": "\u0e25\u0e48\u0e32\u0e07", "V Align": "\u0e01\u0e32\u0e23\u0e40\u0e23\u0e35\u0e22\u0e07\u0e43\u0e19\u0e41\u0e19\u0e27\u0e15\u0e31\u0e49\u0e07", "Header": "\u0e2a\u0e48\u0e27\u0e19\u0e2b\u0e31\u0e27", "Right": "\u0e02\u0e27\u0e32", "Insert column after": "\u0e41\u0e17\u0e23\u0e01\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c\u0e02\u0e49\u0e32\u0e07\u0e2b\u0e25\u0e31\u0e07", "Cols": "\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c", "Insert row after": "\u0e41\u0e17\u0e23\u0e01\u0e41\u0e16\u0e27\u0e14\u0e49\u0e32\u0e19\u0e25\u0e48\u0e32\u0e07", "Width": "\u0e04\u0e27\u0e32\u0e21\u0e01\u0e27\u0e49\u0e32\u0e07", "Cell properties": "\u0e04\u0e38\u0e13\u0e2a\u0e21\u0e1a\u0e31\u0e15\u0e34\u0e02\u0e2d\u0e07\u0e40\u0e0b\u0e25\u0e25\u0e4c", "Left": "\u0e0b\u0e49\u0e32\u0e22", "Cut row": "\u0e15\u0e31\u0e14\u0e41\u0e16\u0e27", "Delete column": "\u0e25\u0e1a\u0e04\u0e2d\u0e25\u0e31\u0e21\u0e19\u0e4c", "Center": "\u0e01\u0e36\u0e48\u0e07\u0e01\u0e25\u0e32\u0e07", "Merge cells": "\u0e1c\u0e2a\u0e32\u0e19\u0e40\u0e0b\u0e25\u0e25\u0e4c", "Insert template": "\u0e41\u0e17\u0e23\u0e01\u0e41\u0e21\u0e48\u0e41\u0e1a\u0e1a", "Templates": "\u0e41\u0e21\u0e48\u0e41\u0e1a\u0e1a", "Background color": "\u0e2a\u0e35\u0e1e\u0e37\u0e49\u0e19\u0e2b\u0e25\u0e31\u0e07", "Custom...": "\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e2d\u0e07", "Custom color": "\u0e2a\u0e35\u0e17\u0e35\u0e48\u0e01\u0e33\u0e2b\u0e19\u0e14\u0e40\u0e2d\u0e07", "No color": "\u0e44\u0e21\u0e48\u0e21\u0e35\u0e2a\u0e35", "Text color": "\u0e2a\u0e35\u0e02\u0e49\u0e2d\u0e04\u0e27\u0e32\u0e21", "Table of Contents": "\u0e2a\u0e32\u0e23\u0e1a\u0e31\u0e0d", "Show blocks": "\u0e41\u0e2a\u0e14\u0e07\u0e1a\u0e25\u0e47\u0e2d\u0e01", "Show invisible characters": "\u0e41\u0e2a\u0e14\u0e07\u0e15\u0e31\u0e27\u0e2d\u0e31\u0e01\u0e29\u0e23\u0e17\u0e35\u0e48\u0e21\u0e2d\u0e07\u0e44\u0e21\u0e48\u0e40\u0e2b\u0e47\u0e19", "Words: {0}": "\u0e04\u0e33: {0}", "Insert": "\u0e41\u0e17\u0e23\u0e01", "File": "\u0e44\u0e1f\u0e25\u0e4c", "Edit": "\u0e41\u0e01\u0e49\u0e44\u0e02", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0e1e\u0e37\u0e49\u0e19\u0e17\u0e35\u0e48 Rich Text \u0e01\u0e14 ALT-F9 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e40\u0e21\u0e19\u0e39 \u0e01\u0e14 ALT-F10 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e41\u0e16\u0e1a\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d \u0e01\u0e14 ALT-0 \u0e2a\u0e33\u0e2b\u0e23\u0e31\u0e1a\u0e04\u0e27\u0e32\u0e21\u0e0a\u0e48\u0e27\u0e22\u0e40\u0e2b\u0e25\u0e37\u0e2d", "Tools": "\u0e40\u0e04\u0e23\u0e37\u0e48\u0e2d\u0e07\u0e21\u0e37\u0e2d", "View": "\u0e21\u0e38\u0e21\u0e21\u0e2d\u0e07", "Table": "\u0e15\u0e32\u0e23\u0e32\u0e07", "Format": "\u0e23\u0e39\u0e1b\u0e41\u0e1a\u0e1a" });langs/ka.js000060400000054423152455403670006620 0ustar00tinymce.addI18n('ka',{ "Cut": "\u10d0\u10db\u10dd\u10ed\u10e0\u10d0", "Heading 5": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 5", "Header 2": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u10d7\u10e5\u10d5\u10d4\u10dc \u10d1\u10e0\u10d0\u10e3\u10d6\u10d4\u10e0\u10e1 \u10d0\u10e0 \u10d0\u10e5\u10d5\u10e1 \u10d1\u10e3\u10e4\u10e0\u10e2\u10e8\u10d8 \u10e8\u10d4\u10ee\u10ec\u10d4\u10d5\u10d8\u10e1 \u10db\u10ee\u10d0\u10e0\u10d3\u10d0\u10ed\u10d4\u10e0\u10d0. \u10d2\u10d7\u10ee\u10dd\u10d5\u10d7 \u10e1\u10d0\u10dc\u10d0\u10ea\u10d5\u10da\u10dd\u10d3 \u10d8\u10e1\u10d0\u10e0\u10d2\u10d4\u10d1\u10da\u10dd\u10d7 Ctrl+X\/C\/V \u10db\u10d0\u10da\u10e1\u10d0\u10ee\u10db\u10dd\u10d1\u10d8 \u10d9\u10dd\u10db\u10d1\u10d8\u10dc\u10d0\u10ea\u10d8\u10d4\u10d1\u10d8\u10d7.", "Heading 4": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 4", "Div": "\u10d2\u10d0\u10dc\u10d0\u10ec\u10d8\u10da\u10d4\u10d1\u10d0", "Heading 2": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 2", "Paste": "\u10e9\u10d0\u10e1\u10db\u10d0", "Close": "\u10d3\u10d0\u10ee\u10e3\u10e0\u10d5\u10d0", "Font Family": "\u10e4\u10dd\u10dc\u10e2\u10d8", "Pre": "\u10de\u10e0\u10d4\u10e4\u10dd\u10e0\u10db\u10d0\u10e2\u10d8", "Align right": "\u10d2\u10d0\u10d0\u10e1\u10ec\u10dd\u10e0\u10d4 \u10db\u10d0\u10e0\u10ef\u10d5\u10dc\u10d8\u10d5", "New document": "\u10d0\u10ee\u10d0\u10da\u10d8 \u10d3\u10dd\u10d9\u10e3\u10db\u10d4\u10dc\u10e2\u10d8", "Blockquote": "\u10d1\u10da\u10dd\u10d9\u10d8\u10e0\u10d4\u10d1\u10e3\u10da\u10d8 \u10ea\u10d8\u10e2\u10d0\u10e2\u10d0", "Numbered list": "\u10d3\u10d0\u10dc\u10dd\u10db\u10e0\u10d8\u10da\u10d8 \u10e1\u10d8\u10d0", "Heading 1": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 1", "Headings": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8", "Increase indent": "\u10d0\u10d1\u10d6\u10d0\u10ea\u10d8\u10e1 \u10d2\u10d0\u10d6\u10e0\u10d3\u10d0", "Formats": "\u10e4\u10dd\u10e0\u10db\u10d0\u10e2\u10d4\u10d1\u10d8", "Headers": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d4\u10d1\u10d8", "Select all": "\u10e7\u10d5\u10d4\u10da\u10d0\u10e1 \u10db\u10dd\u10e6\u10dc\u10d8\u10e8\u10d5\u10dc\u10d0", "Header 3": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 3", "Blocks": "\u10d1\u10da\u10dd\u10d9\u10d4\u10d1\u10d8", "Undo": "\u10d3\u10d0\u10d1\u10e0\u10e3\u10dc\u10d4\u10d1\u10d0", "Strikethrough": "\u10e8\u10e3\u10d0 \u10ee\u10d0\u10d6\u10d8", "Bullet list": "\u10d1\u10e3\u10da\u10d4\u10e2 \u10e1\u10d8\u10d0", "Header 1": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 1", "Superscript": "\u10d6\u10d4\u10d3\u10d0 \u10d8\u10dc\u10d3\u10d4\u10e5\u10e1\u10d8", "Clear formatting": "\u10e4\u10dd\u10e0\u10db\u10d0\u10e2\u10d8\u10e0\u10d4\u10d1\u10d8\u10e1 \u10d2\u10d0\u10e1\u10e3\u10e4\u10d7\u10d0\u10d5\u10d4\u10d1\u10d0", "Font Sizes": "\u10e4\u10dd\u10dc\u10e2\u10d8\u10e1 \u10d6\u10dd\u10db\u10d0", "Subscript": "\u10e5\u10d5\u10d4\u10d3\u10d0 \u10d8\u10dc\u10d3\u10d4\u10e5\u10e1\u10d8", "Header 6": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 6", "Redo": "\u10d2\u10d0\u10db\u10d4\u10dd\u10e0\u10d4\u10d1\u10d0", "Paragraph": "\u10de\u10d0\u10e0\u10d0\u10d2\u10e0\u10d0\u10e4\u10d8", "Ok": "\u10d9\u10d0\u10e0\u10d2\u10d8", "Bold": "\u10db\u10d9\u10d5\u10d4\u10d7\u10e0\u10d8", "Code": "\u10d9\u10dd\u10d3\u10d8", "Italic": "\u10d3\u10d0\u10ee\u10e0\u10d8\u10da\u10d8", "Align center": "\u10d2\u10d0\u10d0\u10e1\u10ec\u10dd\u10e0\u10d4 \u10ea\u10d4\u10dc\u10e2\u10e0\u10e8\u10d8", "Header 5": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 5", "Heading 6": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 6", "Heading 3": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 3", "Decrease indent": "\u10d0\u10d1\u10d6\u10d0\u10ea\u10d8\u10e1 \u10e8\u10d4\u10db\u10ea\u10d8\u10e0\u10d4\u10d1\u10d0", "Header 4": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u10e2\u10d4\u10e5\u10e1\u10e2\u10d8\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0 \u10e9\u10d5\u10d4\u10e3\u10da\u10d4\u10d1\u10e0\u10d8\u10d5 \u10e0\u10d4\u10df\u10d8\u10db\u10e8\u10d8\u10d0. \u10e2\u10d4\u10e5\u10e1\u10e2\u10d8 \u10e9\u10d0\u10d8\u10e1\u10db\u10d4\u10d5\u10d0 \u10e3\u10e4\u10dd\u10e0\u10db\u10d0\u10e2\u10dd\u10d7 \u10e1\u10d0\u10dc\u10d0\u10db \u10d0\u10db \u10d7\u10d5\u10d8\u10e1\u10d4\u10d1\u10d0\u10e1 \u10d0\u10e0 \u10d2\u10d0\u10d7\u10d8\u10e8\u10d0\u10d5\u10d7.", "Underline": "\u10e5\u10d5\u10d4\u10d3\u10d0 \u10ee\u10d0\u10d6\u10d8", "Cancel": "\u10d2\u10d0\u10e3\u10e5\u10db\u10d4\u10d1\u10d0", "Justify": "\u10d2\u10d0\u10db\u10d0\u10e0\u10d7\u10e3\u10da\u10d8", "Inline": "\u10ee\u10d0\u10d6\u10e8\u10d8\u10d3\u10d0", "Copy": "\u10d9\u10dd\u10de\u10d8\u10e0\u10d4\u10d1\u10d0", "Align left": "\u10d2\u10d0\u10d0\u10e1\u10ec\u10dd\u10e0\u10d4 \u10db\u10d0\u10e0\u10ea\u10ee\u10dc\u10d8\u10d5", "Visual aids": "\u10d5\u10d8\u10d6\u10e3\u10d0\u10da\u10d8\u10d6\u10d0\u10ea\u10d8\u10d0", "Lower Greek": "\u10d3\u10d0\u10d1\u10d0\u10da\u10d8 \u10d1\u10d4\u10e0\u10eb\u10dc\u10e3\u10da\u10d8", "Square": "\u10d9\u10d5\u10d0\u10d3\u10e0\u10d0\u10e2\u10d8", "Default": "\u10e1\u10e2\u10d0\u10dc\u10d3\u10d0\u10e0\u10e2\u10e3\u10da\u10d8", "Lower Alpha": "\u10d3\u10d0\u10d1\u10d0\u10da\u10d8 \u10d0\u10da\u10e4\u10d0", "Circle": "\u10ec\u10e0\u10d4", "Disc": "\u10d3\u10d8\u10e1\u10d9\u10d8", "Upper Alpha": "\u10db\u10d0\u10e6\u10d0\u10da\u10d8 \u10d0\u10da\u10e4\u10d0", "Upper Roman": "\u10db\u10d0\u10e6\u10d0\u10da\u10d8 \u10e0\u10dd\u10db\u10d0\u10e3\u10da\u10d8", "Lower Roman": "\u10d3\u10d0\u10d1\u10d0\u10da\u10d8 \u10e0\u10dd\u10db\u10d0\u10e3\u10da\u10d8", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "id \u10e3\u10dc\u10d3\u10d0 \u10d8\u10ec\u10e7\u10d4\u10d1\u10dd\u10d3\u10d4\u10e1 \u10d0\u10e1\u10dd\u10d7\u10d8, \u10e0\u10dd\u10db\u10d4\u10da\u10e1\u10d0\u10ea \u10db\u10dd\u10e7\u10d5\u10d4\u10d1\u10d0 \u10db\u10ee\u10dd\u10da\u10dd\u10d3 \u10d0\u10e1\u10dd\u10d4\u10d1\u10d8, \u10ea\u10d8\u10e4\u10e0\u10d4\u10d1\u10d8, \u10e2\u10d8\u10e0\u10d4, \u10ec\u10d4\u10e0\u10e2\u10d8\u10da\u10d4\u10d1\u10d8, \u10dd\u10e0\u10d8 \u10ec\u10d4\u10e0\u10e2\u10d8\u10da\u10d8 \u10d0\u10dc \u10e5\u10d5\u10d4\u10d3\u10d0 \u10e2\u10d8\u10e0\u10d4. ", "Name": "\u10e1\u10d0\u10ee\u10d4\u10da\u10d8", "Anchor": "\u10e6\u10e3\u10d6\u10d0", "Id": "id", "You have unsaved changes are you sure you want to navigate away?": "\u10d7\u10e5\u10d5\u10d4\u10dc \u10d2\u10d0\u10e5\u10d5\u10d7 \u10e8\u10d4\u10e3\u10dc\u10d0\u10ee\u10d0\u10d5\u10d8 \u10e8\u10d4\u10e1\u10ec\u10dd\u10e0\u10d4\u10d1\u10d4\u10d1\u10d8, \u10d3\u10d0\u10e0\u10ec\u10db\u10e3\u10dc\u10d4\u10d1\u10e3\u10da\u10d8 \u10ee\u10d0\u10d7 \u10e0\u10dd\u10db \u10e1\u10ee\u10d5\u10d0\u10d2\u10d0\u10dc \u10d2\u10d0\u10d3\u10d0\u10e1\u10d5\u10da\u10d0 \u10d2\u10e1\u10e3\u10e0\u10d7?", "Restore last draft": "\u10d1\u10dd\u10da\u10dd\u10e1 \u10e8\u10d4\u10dc\u10d0\u10ee\u10e3\u10da\u10d8\u10e1 \u10d0\u10e6\u10d3\u10d2\u10d4\u10dc\u10d0", "Special character": "\u10e1\u10de\u10d4\u10ea\u10d8\u10d0\u10da\u10e3\u10e0\u10d8 \u10e1\u10d8\u10db\u10d1\u10dd\u10da\u10dd", "Source code": "\u10ec\u10e7\u10d0\u10e0\u10dd\u10e1 \u10d9\u10dd\u10d3\u10d8", "Language": "\u10d4\u10dc\u10d0", "Insert\/Edit code sample": "\u10e9\u10d0\u10e1\u10d5\u10d8\/\u10e8\u10d4\u10d0\u10e1\u10ec\u10dd\u10e0\u10d4 \u10d9\u10dd\u10d3\u10d8\u10e1 \u10db\u10d0\u10d2\u10d0\u10da\u10d8\u10d7\u10d8", "B": "\u10da", "R": "\u10ec", "G": "\u10db", "Color": "\u10e4\u10d4\u10e0\u10d8", "Right to left": "\u10db\u10d0\u10e0\u10ef\u10d5\u10dc\u10d8\u10d3\u10d0\u10dc \u10db\u10d0\u10e0\u10ea\u10ee\u10dc\u10d8\u10d5", "Left to right": "\u10db\u10d0\u10e0\u10ea\u10ee\u10dc\u10d8\u10d3\u10d0\u10dc \u10db\u10d0\u10e0\u10ef\u10d5\u10dc\u10d8\u10d5", "Emoticons": "\u10e1\u10db\u10d0\u10d8\u10da\u10d8\u10d9\u10d4\u10d1\u10d8", "Robots": "\u10e0\u10dd\u10d1\u10dd\u10d4\u10d1\u10d8", "Document properties": "\u10d3\u10dd\u10d9\u10e3\u10db\u10d4\u10dc\u10e2\u10d8\u10e1 \u10d7\u10d5\u10d8\u10e1\u10d4\u10d1\u10d4\u10d1\u10d8", "Title": "\u10e1\u10d0\u10d7\u10d0\u10e3\u10e0\u10d8", "Keywords": "\u10e1\u10d0\u10d9\u10d5\u10d0\u10dc\u10eb\u10dd \u10e1\u10d8\u10e2\u10e7\u10d5\u10d4\u10d1\u10d8", "Encoding": "\u10d9\u10dd\u10d3\u10d8\u10e0\u10d4\u10d1\u10d0", "Description": "\u10d0\u10ee\u10ec\u10d4\u10e0\u10d0", "Author": "\u10d0\u10d5\u10e2\u10dd\u10e0\u10d8", "Fullscreen": "\u10e1\u10d0\u10d5\u10e1\u10d4 \u10d4\u10d9\u10e0\u10d0\u10dc\u10d8", "Horizontal line": "\u10f0\u10dd\u10e0\u10d8\u10d6\u10dd\u10dc\u10e2\u10d0\u10da\u10e3\u10e0\u10d8 \u10ee\u10d0\u10d6\u10d8", "Horizontal space": "\u10f0\u10dd\u10e0\u10d8\u10d6\u10dd\u10dc\u10e2\u10d0\u10da\u10e3\u10e0\u10d8 \u10e1\u10d8\u10d5\u10e0\u10ea\u10d4", "Insert\/edit image": "\u10e9\u10d0\u10e1\u10d5\u10d8\/\u10e8\u10d4\u10d0\u10e1\u10ec\u10dd\u10e0\u10d4 \u10e1\u10e3\u10e0\u10d0\u10d7\u10d8", "General": "\u10db\u10d7\u10d0\u10d5\u10d0\u10e0\u10d8", "Advanced": "\u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d8\u10d7\u10d8", "Source": "\u10d1\u10db\u10e3\u10da\u10d8", "Border": "\u10e1\u10d0\u10d6\u10e6\u10d5\u10d0\u10e0\u10d8", "Constrain proportions": "\u10de\u10e0\u10dd\u10de\u10dd\u10e0\u10ea\u10d8\u10d8\u10e1 \u10d3\u10d0\u10ea\u10d5\u10d0", "Vertical space": "\u10d5\u10d4\u10e0\u10e2\u10d8\u10d9\u10d0\u10da\u10e3\u10e0\u10d8 \u10e1\u10d8\u10d5\u10e0\u10ea\u10d4", "Image description": "\u10e1\u10e3\u10e0\u10d0\u10d7\u10d8\u10e1 \u10d3\u10d0\u10ee\u10d0\u10e1\u10d8\u10d0\u10d7\u10d4\u10d1\u10d0", "Style": "\u10e1\u10e2\u10d8\u10da\u10d8", "Dimensions": "\u10d2\u10d0\u10dc\u10d6\u10dd\u10db\u10d8\u10da\u10d4\u10d1\u10d0", "Insert image": "\u10e1\u10e3\u10e0\u10d0\u10d7\u10d8\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0", "Image": "\u10d2\u10d0\u10db\u10dd\u10e1\u10d0\u10ee\u10e3\u10da\u10d4\u10d1\u10d0", "Zoom in": "\u10d2\u10d0\u10d3\u10d8\u10d3\u10d8\u10d4\u10d1\u10d0", "Contrast": "\u10d9\u10dd\u10dc\u10e2\u10e0\u10d0\u10e1\u10e2\u10d8", "Back": "\u10e3\u10d9\u10d0\u10dc", "Gamma": "\u10d2\u10d0\u10db\u10d0", "Flip horizontally": "\u10f0\u10dd\u10e0\u10d8\u10d6\u10dd\u10dc\u10e2\u10d0\u10da\u10e3\u10e0\u10d0\u10d3 \u10e8\u10d4\u10e2\u10e0\u10d8\u10d0\u10da\u10d4\u10d1\u10d0", "Resize": "\u10d6\u10dd\u10db\u10d8\u10e1 \u10e8\u10d4\u10ea\u10d5\u10da\u10d0", "Sharpen": "\u10d2\u10d0\u10da\u10d4\u10e1\u10d5\u10d0", "Zoom out": "\u10d3\u10d0\u10de\u10d0\u10e2\u10d0\u10e0\u10d0\u10d5\u10d4\u10d1\u10d0", "Image options": "\u10e1\u10e3\u10e0\u10d0\u10d7\u10d8\u10e1 \u10de\u10d0\u10e0\u10d0\u10db\u10d4\u10e2\u10e0\u10d4\u10d1\u10d8", "Apply": "\u10db\u10d8\u10e6\u10d4\u10d1\u10d0", "Brightness": "\u10e1\u10d8\u10d9\u10d0\u10e8\u10d9\u10d0\u10e8\u10d4", "Rotate clockwise": "\u10e1\u10d0\u10d0\u10d7\u10d8\u10e1 \u10d8\u10e1\u10e0\u10d8\u10e1 \u10db\u10d8\u10db\u10d0\u10e0\u10d7\u10e3\u10da\u10d4\u10d1\u10d8\u10d7 \u10db\u10dd\u10d1\u10e0\u10e3\u10dc\u10d4\u10d1\u10d0", "Rotate counterclockwise": "\u10e1\u10d0\u10d0\u10d7\u10d8\u10e1 \u10d8\u10e1\u10e0\u10d8\u10e1 \u10db\u10d8\u10db\u10d0\u10e0\u10d7\u10e3\u10da\u10d4\u10d1\u10d8\u10e1 \u10e1\u10d0\u10ec\u10d8\u10dc\u10d0\u10d0\u10e6\u10db\u10d3\u10d4\u10d2\u10dd\u10d2 \u10db\u10dd\u10d1\u10e0\u10e3\u10dc\u10d4\u10d1\u10d0", "Edit image": "\u10e1\u10e3\u10e0\u10d0\u10d7\u10d8\u10e1 \u10e0\u10d4\u10d3\u10d0\u10e5\u10e2\u10d8\u10e0\u10d4\u10d1\u10d0", "Color levels": "\u10e4\u10d4\u10e0\u10d8\u10e1 \u10d3\u10dd\u10dc\u10d4", "Crop": "\u10db\u10dd\u10ed\u10e0\u10d0", "Orientation": "\u10dd\u10e0\u10d8\u10d4\u10dc\u10e2\u10d0\u10ea\u10d8\u10d0", "Flip vertically": "\u10d5\u10d4\u10e0\u10e2\u10d8\u10d9\u10d0\u10da\u10e3\u10e0\u10d0\u10d3 \u10d0\u10e2\u10e0\u10d8\u10d0\u10da\u10d4\u10d1\u10d0", "Invert": "\u10e8\u10d4\u10d1\u10e0\u10e3\u10dc\u10d4\u10d1\u10d0", "Date\/time": "\u10d7\u10d0\u10e0\u10d8\u10e6\u10d8\/\u10d3\u10e0\u10dd", "Insert date\/time": "\u10d7\u10d0\u10e0\u10d8\u10e6\u10d8\/\u10d3\u10e0\u10dd\u10d8\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0", "Remove link": "\u10d1\u10db\u10e3\u10da\u10d8\u10e1 \u10ec\u10d0\u10e8\u10da\u10d0", "Url": "Url", "Text to display": "\u10e2\u10d4\u10e5\u10e1\u10e2\u10d8", "Anchors": "\u10e6\u10e3\u10d6\u10d0", "Insert link": "\u10d1\u10db\u10e3\u10da\u10d8\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0", "Link": "\u10d1\u10db\u10e3\u10da\u10d8", "New window": "\u10d0\u10ee\u10d0\u10da \u10e4\u10d0\u10dc\u10ef\u10d0\u10e0\u10d0\u10e8\u10d8", "None": "\u10d0\u10e0\u10ea\u10d4\u10e0\u10d7\u10d8", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u10d7\u10e5\u10d5\u10d4\u10dc\u10e1 \u10db\u10d8\u10d4\u10e0 \u10db\u10d8\u10d7\u10d8\u10d7\u10d4\u10d1\u10e3\u10da\u10d8 \u10db\u10d8\u10e1\u10d0\u10db\u10d0\u10e0\u10d7\u10d8 \u10ec\u10d0\u10e0\u10db\u10dd\u10d0\u10d3\u10d2\u10d4\u10dc\u10e1 \u10d2\u10d0\u10e0\u10d4 \u10d1\u10db\u10e3\u10da\u10e1. \u10d2\u10e1\u10e3\u10e0\u10d7, \u10e0\u10dd\u10db \u10db\u10d8\u10d5\u10d0\u10dc\u10d8\u10ed\u10dd http:\/\/ \u10e4\u10e0\u10d4\u10e4\u10d8\u10e5\u10e1\u10d8?", "Paste or type a link": "\u10e9\u10d0\u10e1\u10d5\u10d8\u10d7 \u10d0\u10dc \u10e8\u10d4\u10d8\u10e7\u10d5\u10d0\u10dc\u10d4\u10d7 \u10d1\u10db\u10e3\u10da\u10d8", "Target": "\u10d2\u10d0\u10ee\u10e1\u10dc\u10d0", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u10d7\u10e5\u10d5\u10d4\u10dc \u10db\u10d8\u10e3\u10d7\u10d8\u10d7\u10d4\u10d7 \u10d4\u10da-\u10e4\u10dd\u10e1\u10e2\u10d8\u10e1 \u10db\u10d8\u10e1\u10d0\u10db\u10d0\u10e0\u10d7\u10d8 \u10dc\u10d0\u10ea\u10d5\u10da\u10d0\u10d3 \u10d5\u10d4\u10d1-\u10d2\u10d5\u10d4\u10e0\u10d3\u10d8\u10e1\u10d0. \u10d2\u10e1\u10e3\u10e0\u10d7, \u10e0\u10dd\u10db \u10db\u10d8\u10d5\u10d0\u10dc\u10d8\u10ed\u10dd mailto: \u10e4\u10e0\u10d4\u10e4\u10d8\u10e5\u10e1\u10d8?", "Insert\/edit link": "\u10d1\u10db\u10e3\u10da\u10d8\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0\/\u10e0\u10d4\u10d3\u10d0\u10e5\u10e2\u10d8\u10e0\u10d4\u10d0", "Insert\/edit video": "\u10d5\u10d8\u10d3\u10d4\u10dd\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0\/\u10e0\u10d4\u10d3\u10d0\u10e5\u10e2\u10d8\u10e0\u10d4\u10d1\u10d0", "Media": "\u10db\u10d4\u10d3\u10d8\u10d0", "Alternative source": "\u10d0\u10da\u10e2\u10d4\u10e0\u10dc\u10d0\u10e2\u10d8\u10e3\u10da\u10d8 \u10ec\u10e7\u10d0\u10e0\u10dd", "Paste your embed code below:": "\u10d0\u10e5 \u10e9\u10d0\u10e1\u10d5\u10d8\u10d7 \u10d7\u10e5\u10d5\u10d4\u10dc\u10d8 \u10d9\u10dd\u10d3\u10d8:", "Insert video": "\u10d5\u10d8\u10d3\u10d4\u10dd\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0", "Poster": "\u10de\u10da\u10d0\u10d9\u10d0\u10e2\u10d8", "Insert\/edit media": "\u10db\u10d4\u10d3\u10d8\u10d0\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0\/\u10e0\u10d4\u10d3\u10d0\u10e5\u10e2\u10d8\u10e0\u10d4\u10d1\u10d0", "Embed": "\u10e9\u10d0\u10e8\u10d4\u10dc\u10d4\u10d1\u10d0", "Nonbreaking space": "\u10e3\u10ec\u10e7\u10d5\u10d4\u10e2\u10d8 \u10e1\u10d8\u10d5\u10e0\u10ea\u10d4", "Page break": "\u10d2\u10d5\u10d4\u10e0\u10d3\u10d8\u10e1 \u10d2\u10d0\u10ec\u10e7\u10d5\u10d4\u10e2\u10d0", "Paste as text": "\u10e9\u10d0\u10e1\u10d5\u10d8\u10d7 \u10e0\u10dd\u10d2\u10dd\u10e0\u10ea \u10e2\u10d4\u10e5\u10e1\u10e2\u10d8", "Preview": "\u10ec\u10d8\u10dc\u10d0\u10e1\u10ec\u10d0\u10e0 \u10dc\u10d0\u10ee\u10d5\u10d0", "Print": "\u10d0\u10db\u10dd\u10d1\u10d4\u10ed\u10d5\u10d3\u10d0", "Save": "\u10e8\u10d4\u10dc\u10d0\u10ee\u10d5\u10d0", "Could not find the specified string.": "\u10db\u10dd\u10ea\u10d4\u10db\u10e3\u10da\u10d8 \u10e9\u10d0\u10dc\u10d0\u10ec\u10d4\u10e0\u10d8 \u10d5\u10d4\u10e0 \u10db\u10dd\u10d8\u10eb\u10d4\u10d1\u10dc\u10d0.", "Replace": "\u10e8\u10d4\u10e1\u10ec\u10dd\u10e0\u10d4\u10d1\u10d0", "Next": "\u10e8\u10d4\u10db\u10d3\u10d4\u10d2\u10d8", "Whole words": "\u10e1\u10e0\u10e3\u10da\u10d8 \u10e1\u10d8\u10e2\u10e7\u10d5\u10d4\u10d1\u10d8", "Find and replace": "\u10db\u10dd\u10eb\u10d4\u10d1\u10dc\u10d4 \u10d3\u10d0 \u10e8\u10d4\u10d0\u10e1\u10ec\u10dd\u10e0\u10d4", "Replace with": "\u10e8\u10d4\u10e1\u10d0\u10e1\u10ec\u10dd\u10e0\u10d4\u10d1\u10d4\u10da\u10d8 \u10e1\u10d8\u10e2\u10e7\u10d5\u10d0", "Find": "\u10eb\u10d4\u10d1\u10dc\u10d0", "Replace all": "\u10e7\u10d5\u10d4\u10da\u10d0\u10e1 \u10e8\u10d4\u10e1\u10ec\u10dd\u10e0\u10d4\u10d1\u10d0", "Match case": "\u10d3\u10d0\u10d0\u10db\u10d7\u10ee\u10d5\u10d8\u10d4 \u10d0\u10e1\u10dd\u10d4\u10d1\u10d8\u10e1 \u10d6\u10dd\u10db\u10d0", "Prev": "\u10ec\u10d8\u10dc\u10d0", "Spellcheck": "\u10db\u10d0\u10e0\u10d7\u10da\u10ec\u10d4\u10e0\u10d8\u10e1 \u10e8\u10d4\u10db\u10dd\u10ec\u10db\u10d4\u10d1\u10d0", "Finish": "\u10d3\u10d0\u10e1\u10d0\u10e1\u10e0\u10e3\u10da\u10d8", "Ignore all": "\u10e7\u10d5\u10d4\u10da\u10d0\u10e1 \u10d8\u10d2\u10dc\u10dd\u10e0\u10d8\u10e0\u10d4\u10d1\u10d0", "Ignore": "\u10d8\u10d2\u10dc\u10dd\u10e0\u10d8\u10e0\u10d4\u10d1\u10d0", "Add to Dictionary": "\u10da\u10d4\u10e5\u10e1\u10d8\u10d9\u10dd\u10dc\u10e8\u10d8 \u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0", "Insert row before": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10d7\u10d0\u10d5\u10e8\u10d8 \u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0", "Rows": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d4\u10d1\u10d8", "Height": "\u10e1\u10d8\u10db\u10d0\u10e6\u10da\u10d4", "Paste row after": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10d1\u10dd\u10da\u10dd\u10e8\u10d8 \u10e9\u10d0\u10e1\u10db\u10d0", "Alignment": "\u10e1\u10ec\u10dd\u10e0\u10d4\u10d1\u10d0", "Border color": "\u10e1\u10d0\u10d6\u10d0\u10e0\u10d8\u10e1 \u10e4\u10d4\u10e0\u10d8", "Column group": "\u10e1\u10d5\u10d4\u10e2\u10d8\u10e1 \u10ef\u10d2\u10e3\u10e4\u10d8", "Row": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8", "Insert column before": "\u10e1\u10d5\u10d4\u10e2\u10d8\u10e1 \u10d7\u10d0\u10d5\u10e8\u10d8 \u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0", "Split cell": "\u10e3\u10ef\u10e0\u10d8\u10e1 \u10d2\u10d0\u10e7\u10dd\u10e4\u10d0", "Cell padding": "\u10e3\u10ef\u10e0\u10d8\u10e1 \u10e4\u10d0\u10e0\u10d7\u10dd\u10d1\u10d8", "Cell spacing": "\u10e3\u10ef\u10e0\u10d8\u10e1 \u10d3\u10d0\u10e8\u10dd\u10e0\u10d4\u10d1\u10d0", "Row type": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10e2\u10d8\u10de\u10d8", "Insert table": "\u10ea\u10ee\u10e0\u10d8\u10da\u10d8\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0", "Body": "\u10e2\u10d0\u10dc\u10d8", "Caption": "\u10ec\u10d0\u10e0\u10ec\u10d4\u10e0\u10d0", "Footer": "\u10eb\u10d8\u10e0\u10d8", "Delete row": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10ec\u10d0\u10e8\u10da\u10d0", "Paste row before": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10d7\u10d0\u10d5\u10e8\u10d8 \u10e9\u10d0\u10e1\u10db\u10d0", "Scope": "\u10e9\u10d0\u10e0\u10e9\u10dd", "Delete table": "\u10ea\u10ee\u10e0\u10d8\u10da\u10d8\u10e1 \u10ec\u10d0\u10e8\u10da\u10d0", "H Align": "H \u10e9\u10d0\u10db\u10ec\u10d9\u10e0\u10d8\u10d5\u10d4\u10d1\u10d0", "Top": "\u10db\u10d0\u10e6\u10da\u10d0", "Header cell": "\u10d7\u10d0\u10d5\u10d8\u10e1 \u10e3\u10ef\u10e0\u10d0", "Column": "\u10e1\u10d5\u10d4\u10e2\u10d8", "Row group": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10ef\u10d2\u10e3\u10e4\u10d8", "Cell": "\u10e3\u10ef\u10e0\u10d0", "Middle": "\u10e8\u10e3\u10d0", "Cell type": "\u10e3\u10ef\u10e0\u10d8\u10e1 \u10e2\u10d8\u10de\u10d8", "Copy row": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10d9\u10dd\u10de\u10d8\u10e0\u10d4\u10d1\u10d0", "Row properties": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10d7\u10d5\u10d8\u10e1\u10d4\u10d1\u10d4\u10d1\u10d8", "Table properties": "\u10ea\u10ee\u10e0\u10d8\u10da\u10d8\u10e1 \u10d7\u10d5\u10d8\u10e1\u10d4\u10d1\u10d4\u10d1\u10d8", "Bottom": "\u10e5\u10d5\u10d4\u10d3\u10d0", "V Align": "V \u10e9\u10d0\u10db\u10ec\u10d9\u10e0\u10d8\u10d5\u10d4\u10d1\u10d0", "Header": "\u10d7\u10d0\u10d5\u10d8", "Right": "\u10db\u10d0\u10e0\u10ef\u10d5\u10dc\u10d8\u10d5", "Insert column after": "\u10e1\u10d5\u10d4\u10e2\u10d8\u10e1 \u10d1\u10dd\u10da\u10dd\u10e8\u10d8 \u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0", "Cols": "\u10e1\u10d5\u10d4\u10e2\u10d4\u10d1\u10d8", "Insert row after": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10d1\u10dd\u10da\u10dd\u10e8\u10d8 \u10d3\u10d0\u10db\u10d0\u10e2\u10d4\u10d1\u10d0", "Width": "\u10e1\u10d8\u10d2\u10d0\u10dc\u10d4", "Cell properties": "\u10e3\u10ef\u10e0\u10d8\u10e1 \u10d7\u10d5\u10d8\u10e1\u10d4\u10d1\u10d4\u10d1\u10d8", "Left": "\u10db\u10d0\u10e0\u10ea\u10ee\u10dc\u10d8\u10d5", "Cut row": "\u10e1\u10e2\u10e0\u10d8\u10e5\u10dd\u10dc\u10d8\u10e1 \u10d0\u10db\u10dd\u10ed\u10e0\u10d0", "Delete column": "\u10e1\u10d5\u10d4\u10e2\u10d8\u10e1 \u10ec\u10d0\u10e8\u10da\u10d0", "Center": "\u10ea\u10d4\u10dc\u10e2\u10e0\u10e8\u10d8", "Merge cells": "\u10e3\u10ef\u10e0\u10d4\u10d1\u10d8\u10e1 \u10d2\u10d0\u10d4\u10e0\u10d7\u10d8\u10d0\u10dc\u10d4\u10d1\u10d0", "Insert template": "\u10e8\u10d0\u10d1\u10da\u10dd\u10dc\u10d8\u10e1 \u10e9\u10d0\u10e1\u10db\u10d0", "Templates": "\u10e8\u10d0\u10d1\u10da\u10dd\u10dc\u10d4\u10d1\u10d8", "Background color": "\u10e3\u10d9\u10d0\u10dc\u10d0 \u10e4\u10d4\u10e0\u10d8", "Custom...": "\u10db\u10dd\u10e0\u10d2\u10d4\u10d1\u10e3\u10da\u10d8", "Custom color": "\u10db\u10dd\u10e0\u10d2\u10d4\u10d1\u10e3\u10da\u10d8 \u10e4\u10d4\u10e0\u10d8", "No color": "\u10e4\u10d4\u10e0\u10d8\u10e1 \u10d2\u10d0\u10e0\u10d4\u10e8\u10d4", "Text color": "\u10e2\u10d4\u10e5\u10e1\u10e2\u10d8\u10e1 \u10e4\u10d4\u10e0\u10d8", "Table of Contents": "\u10e1\u10d0\u10e0\u10e9\u10d4\u10d5\u10d8", "Show blocks": "\u10d1\u10da\u10dd\u10d9\u10d4\u10d1\u10d8\u10e1 \u10e9\u10d5\u10d4\u10dc\u10d4\u10d1\u10d0", "Show invisible characters": "\u10e3\u10ee\u10d8\u10da\u10d0\u10d5\u10d8 \u10e1\u10d8\u10db\u10d1\u10dd\u10da\u10dd\u10d4\u10d1\u10d8\u10e1 \u10e9\u10d5\u10d4\u10dc\u10d4\u10d1\u10d0", "Words: {0}": "\u10e1\u10d8\u10e2\u10e7\u10d5\u10d4\u10d1\u10d8: {0}", "Insert": "\u10e9\u10d0\u10e1\u10db\u10d0", "File": "\u10e4\u10d0\u10d8\u10da\u10d8", "Edit": "\u10e8\u10d4\u10e1\u10ec\u10dd\u10e0\u10d4\u10d1\u10d0", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u10e2\u10d4\u10e5\u10e1\u10e2\u10d8\u10e1 \u10e4\u10d0\u10e0\u10d7\u10d8. \u10d3\u10d0\u10d0\u10ed\u10d8\u10e0\u10d4\u10d7 ALT-F9\u10e1 \u10db\u10d4\u10dc\u10d8\u10e3\u10e1 \u10d2\u10d0\u10db\u10dd\u10e1\u10d0\u10eb\u10d0\u10ee\u10d4\u10d1\u10da\u10d0\u10d3. \u10d3\u10d0\u10d0\u10ed\u10d8\u10e0\u10d4\u10d7 ALT-F10\u10e1 \u10de\u10d0\u10dc\u10d4\u10da\u10d8\u10e1\u10d7\u10d5\u10d8\u10e1. \u10d3\u10d0\u10d0\u10ed\u10d8\u10e0\u10d4\u10d7 ALT-0\u10e1 \u10d3\u10d0\u10ee\u10db\u10d0\u10e0\u10d4\u10d1\u10d8\u10e1\u10d7\u10d5\u10d8\u10e1", "Tools": "\u10d8\u10d0\u10e0\u10d0\u10e6\u10d4\u10d1\u10d8", "View": "\u10dc\u10d0\u10ee\u10d5\u10d0", "Table": "\u10ea\u10ee\u10e0\u10d8\u10da\u10d8", "Format": "\u10e4\u10dd\u10e0\u10db\u10d0\u10e2\u10d8" });langs/fi.js000060400000016415152455403670006622 0ustar00tinymce.addI18n('fi',{ "Cut": "Leikkaa", "Heading 5": "Otsikko 5", "Header 2": "Otsikko 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Selaimesi ei tue leikekirjan suoraa k\u00e4ytt\u00e4mist\u00e4. Ole hyv\u00e4 ja k\u00e4yt\u00e4 n\u00e4pp\u00e4imist\u00f6n Ctrl+X ja Ctrl+V n\u00e4pp\u00e4inyhdistelmi\u00e4.", "Heading 4": "Otsikko 4", "Div": "Div", "Heading 2": "Otsikko 2", "Paste": "Liit\u00e4", "Close": "Sulje", "Font Family": "Fontti", "Pre": "Esimuotoiltu", "Align right": "Tasaa oikealle", "New document": "Uusi dokumentti", "Blockquote": "Lainauslohko", "Numbered list": "J\u00e4rjestetty lista", "Heading 1": "Otsikko 1", "Headings": "Otsikot", "Increase indent": "Loitonna", "Formats": "Muotoilut", "Headers": "Otsikot", "Select all": "Valitse kaikki", "Header 3": "Otsikko 3", "Blocks": "Lohkot", "Undo": "Peru", "Strikethrough": "Yliviivaus", "Bullet list": "J\u00e4rjest\u00e4m\u00e4t\u00f6n lista", "Header 1": "Otsikko 1", "Superscript": "Yl\u00e4indeksi", "Clear formatting": "Poista muotoilu", "Font Sizes": "Fonttikoko", "Subscript": "Alaindeksi", "Header 6": "Otsikko 6", "Redo": "Tee uudelleen", "Paragraph": "Kappale", "Ok": "Ok", "Bold": "Lihavointi", "Code": "Koodi", "Italic": "Kursivointi", "Align center": "Keskit\u00e4", "Header 5": "Otsikko 5", "Heading 6": "Otsikko 6", "Heading 3": "Otsikko 3", "Decrease indent": "Sisenn\u00e4", "Header 4": "Otsikko 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Liitt\u00e4minen on nyt pelk\u00e4n tekstin -tilassa. Sis\u00e4ll\u00f6t liitet\u00e4\u00e4n nyt pelkk\u00e4n\u00e4 tekstin\u00e4, kunnes otat vaihtoehdon pois k\u00e4yt\u00f6st\u00e4.", "Underline": "Alleviivaus", "Cancel": "Peruuta", "Justify": "Tasaa", "Inline": "Samalla rivill\u00e4", "Copy": "Kopioi", "Align left": "Tasaa vasemmalle", "Visual aids": "Visuaaliset neuvot", "Lower Greek": "pienet kirjaimet: \u03b1, \u03b2, \u03b3", "Square": "Neli\u00f6", "Default": "Oletus", "Lower Alpha": "pienet kirjaimet: a, b, c", "Circle": "Pallo", "Disc": "Ympyr\u00e4", "Upper Alpha": "isot kirjaimet: A, B, C", "Upper Roman": "isot kirjaimet: I, II, III", "Lower Roman": "pienet kirjaimet: i, ii, iii", "Name": "Nimi", "Anchor": "Ankkuri", "You have unsaved changes are you sure you want to navigate away?": "Sinulla on tallentamattomia muutoksia, haluatko varmasti siirty\u00e4 toiselle sivulle?", "Restore last draft": "Palauta aiempi luonnos", "Special character": "Erikoismerkki", "Source code": "L\u00e4hdekoodi", "Color": "V\u00e4ri", "Right to left": "Oikealta vasemmalle", "Left to right": "Vasemmalta oikealle", "Emoticons": "Hymi\u00f6t", "Robots": "Robotit", "Document properties": "Dokumentin ominaisuudet", "Title": "Otsikko", "Keywords": "Avainsanat", "Encoding": "Merkist\u00f6", "Description": "Kuvaus", "Author": "Tekij\u00e4", "Fullscreen": "Koko ruutu", "Horizontal line": "Vaakasuora viiva", "Horizontal space": "Horisontaalinen tila", "Insert\/edit image": "Lis\u00e4\u00e4\/muokkaa kuva", "General": "Yleiset", "Advanced": "Lis\u00e4asetukset", "Source": "L\u00e4hde", "Border": "Reunus", "Constrain proportions": "S\u00e4ilyt\u00e4 mittasuhteet", "Vertical space": "Vertikaalinen tila", "Image description": "Kuvaus", "Style": "Tyyli", "Dimensions": "Mittasuhteet", "Insert image": "Lis\u00e4\u00e4 kuva", "Insert date\/time": "Lis\u00e4\u00e4 p\u00e4iv\u00e4m\u00e4\u00e4r\u00e4 tai aika", "Remove link": "Poista linkki", "Url": "Osoite", "Text to display": "N\u00e4ytett\u00e4v\u00e4 teksti", "Anchors": "Ankkurit", "Insert link": "Lis\u00e4\u00e4 linkki", "New window": "Uusi ikkuna", "None": "Ei mit\u00e4\u00e4n", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Antamasi osoite n\u00e4ytt\u00e4\u00e4 olevan ulkoinen linkki. Haluatko lis\u00e4t\u00e4 osoitteeseen vaaditun http:\/\/ -etuliitteen?", "Target": "Kohde", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Antamasi osoite n\u00e4ytt\u00e4\u00e4 olevan s\u00e4hk\u00f6postiosoite. Haluatko lis\u00e4t\u00e4 osoitteeseen vaaditun mailto: -etuliitteen?", "Insert\/edit link": "Lis\u00e4\u00e4 tai muokkaa linkki", "Insert\/edit video": "Lis\u00e4\u00e4\/muokkaa video", "Poster": "L\u00e4hett\u00e4j\u00e4", "Alternative source": "Vaihtoehtoinen l\u00e4hde", "Paste your embed code below:": "Liit\u00e4 upotuskoodisi alapuolelle:", "Insert video": "Lis\u00e4\u00e4 video", "Embed": "Upota", "Nonbreaking space": "Sitova v\u00e4lily\u00f6nti", "Page break": "Sivunvaihto", "Paste as text": "Liit\u00e4 tekstin\u00e4", "Preview": "Esikatselu", "Print": "Tulosta", "Save": "Tallenna", "Could not find the specified string.": "Haettua merkkijonoa ei l\u00f6ytynyt.", "Replace": "Korvaa", "Next": "Seur.", "Whole words": "Koko sanat", "Find and replace": "Etsi ja korvaa", "Replace with": "Korvaa", "Find": "Etsi", "Replace all": "Korvaa kaikki", "Match case": "Erota isot ja pienet kirjaimet", "Prev": "Edel.", "Spellcheck": "Oikolue", "Finish": "Lopeta", "Ignore all": "\u00c4l\u00e4 huomioi mit\u00e4\u00e4n", "Ignore": "\u00c4l\u00e4 huomioi", "Add to Dictionary": "Lis\u00e4\u00e4 sanakirjaan", "Insert row before": "Lis\u00e4\u00e4 rivi ennen", "Rows": "Rivit", "Height": "Korkeus", "Paste row after": "Liit\u00e4 rivi j\u00e4lkeen", "Alignment": "Tasaus", "Border color": "Reunuksen v\u00e4ri", "Column group": "Sarakeryhm\u00e4", "Row": "Rivi", "Insert column before": "Lis\u00e4\u00e4 rivi ennen", "Split cell": "Jaa solu", "Cell padding": "Solun tyhj\u00e4 tila", "Cell spacing": "Solun v\u00e4li", "Row type": "Rivityyppi", "Insert table": "Lis\u00e4\u00e4 taulukko", "Body": "Runko", "Caption": "Seloste", "Footer": "Alaosa", "Delete row": "Poista rivi", "Paste row before": "Liit\u00e4 rivi ennen", "Scope": "Laajuus", "Delete table": "Poista taulukko", "H Align": "H tasaus", "Top": "Yl\u00e4reuna", "Header cell": "Otsikkosolu", "Column": "Sarake", "Row group": "Riviryhm\u00e4", "Cell": "Solu", "Middle": "Keskikohta", "Cell type": "Solun tyyppi", "Copy row": "Kopioi rivi", "Row properties": "Rivin ominaisuudet", "Table properties": "Taulukon ominaisuudet", "Bottom": "Alareuna", "V Align": "V tasaus", "Header": "Otsikko", "Right": "Oikea", "Insert column after": "Lis\u00e4\u00e4 rivi j\u00e4lkeen", "Cols": "Sarakkeet", "Insert row after": "Lis\u00e4\u00e4 rivi j\u00e4lkeen", "Width": "Leveys", "Cell properties": "Solun ominaisuudet", "Left": "Vasen", "Cut row": "Leikkaa rivi", "Delete column": "Poista sarake", "Center": "Keskell\u00e4", "Merge cells": "Yhdist\u00e4 solut", "Insert template": "Lis\u00e4\u00e4 pohja", "Templates": "Pohjat", "Background color": "Taustan v\u00e4ri", "Custom...": "Mukauta...", "Custom color": "Mukautettu v\u00e4ri", "No color": "Ei v\u00e4ri\u00e4", "Text color": "Tekstin v\u00e4ri", "Show blocks": "N\u00e4yt\u00e4 lohkot", "Show invisible characters": "N\u00e4yt\u00e4 n\u00e4kym\u00e4tt\u00f6m\u00e4t merkit", "Words: {0}": "Sanat: {0}", "Insert": "Lis\u00e4\u00e4", "File": "Tiedosto", "Edit": "Muokkaa", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rikastetun tekstin alue. Paina ALT-F9 valikkoon. Paina ALT-F10 ty\u00f6kaluriviin. Paina ALT-0 ohjeeseen.", "Tools": "Ty\u00f6kalut", "View": "N\u00e4yt\u00e4", "Table": "Taulukko", "Format": "Muotoilu" });langs/ro.js000060400000015645152455403670006650 0ustar00tinymce.addI18n('ro',{ "Cut": "Decupeaz\u0103", "Header 2": "Antet 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Browserul dumneavoastr\u0103 nu support\u0103 acces direct la clipboard. Folosi\u0163i combina\u0163ile de tastatur\u0103 Ctrl+X\/C\/V.", "Div": "Div", "Paste": "Lipe\u015fte", "Close": "\u00cenchide", "Font Family": "Font", "Pre": "Pre", "Align right": "Aliniere la dreapta", "New document": "Document nou", "Blockquote": "Men\u0163iune bloc", "Numbered list": "List\u0103 ordonat\u0103", "Increase indent": "Indenteaz\u0103", "Formats": "Formate", "Headers": "Antete", "Select all": "Selecteaz\u0103 tot", "Header 3": "Antet 3", "Blocks": "Blocuri", "Undo": "Reexecut\u0103", "Strikethrough": "T\u0103iat", "Bullet list": "List\u0103 neordonat\u0103", "Header 1": "Antet 1", "Superscript": "Superscript", "Clear formatting": "\u015eterge format\u0103rile", "Font Sizes": "Dimensiune font", "Subscript": "Subscript", "Header 6": "Antet 6", "Redo": "Dezexecut\u0103", "Paragraph": "Paragraf", "Ok": "Ok", "Bold": "\u00cengro\u015fat", "Code": "Cod", "Italic": "Italic", "Align center": "Centrare", "Header 5": "Antet 5", "Decrease indent": "De-indenteaz\u0103", "Header 4": "Antet 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Functia \"lipe\u015fte\" este acum \u00een modul text simplu. Continutul va fi acum inserat ca text simplu p\u00e2n\u0103 c\u00e2nd aceast\u0103 op\u021biune va fi dezactivat.", "Underline": "Subliniat", "Cancel": "Anuleaz\u0103", "Justify": "Aliniere pe toat\u0103 l\u0103\u021bimea", "Inline": "Inline", "Copy": "Copiaz\u0103", "Align left": "Aliniere la st\u00e2nga", "Visual aids": "Ajutor vizual", "Lower Greek": "Minuscule Grecesti", "Square": "P\u0103trat", "Default": "Implicit", "Lower Alpha": "Minuscule Alfanumerice", "Circle": "Cerc", "Disc": "Disc", "Upper Alpha": "Majuscule Alfanumerice", "Upper Roman": "Majuscule Romane", "Lower Roman": "Minuscule Romane", "Name": "Nume", "Anchor": "Ancor\u0103", "You have unsaved changes are you sure you want to navigate away?": "Ave\u021bi modific\u0103ri nesalvate! Sunte\u0163i sigur c\u0103 dori\u0163i s\u0103 ie\u015fiti?", "Restore last draft": "Restaurare la ultima salvare", "Special character": "Caractere speciale", "Source code": "Codul surs\u0103", "Right to left": "Dreapta la st\u00e2nga", "Left to right": "St\u00e2nga la dreapta", "Emoticons": "Emoticoane", "Robots": "Robo\u021bi", "Document properties": "Propriet\u0103\u021bi document", "Title": "Titlu", "Keywords": "Cuvinte cheie", "Encoding": "Codare", "Description": "Descriere", "Author": "Autor", "Fullscreen": "Pe tot ecranul", "Horizontal line": "Linie orizontal\u0103", "Horizontal space": "Spa\u021biul orizontal", "Insert\/edit image": "Inserare\/editarea imaginilor", "General": "General", "Advanced": "Avansat", "Source": "Surs\u0103", "Border": "Bordur\u0103", "Constrain proportions": "Constr\u00e2nge propor\u021biile", "Vertical space": "Spa\u021biul vertical", "Image description": "Descrierea imaginii", "Style": "Stil", "Dimensions": "Dimensiuni", "Insert image": "Inserare imagine", "Insert date\/time": "Insereaz\u0103 data\/ora", "Remove link": "\u0218terge link-ul", "Url": "Url", "Text to display": "Text de afi\u0219at", "Anchors": "Ancor\u0103", "Insert link": "Inserare link", "New window": "Fereastr\u0103 nou\u0103", "None": "Nici unul", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u021aint\u0103", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Inserare\/editare link", "Insert\/edit video": "Inserare\/editare video", "Poster": "Poster", "Alternative source": "Surs\u0103 alternativ\u0103", "Paste your embed code below:": "Insera\u021bi codul:", "Insert video": "Inserare video", "Embed": "Embed", "Nonbreaking space": "Spa\u021biu neseparator", "Page break": "\u00centrerupere de pagin\u0103", "Paste as text": "Lipe\u015fte ca text", "Preview": "Previzualizare", "Print": "Tip\u0103re\u0219te", "Save": "Salveaz\u0103", "Could not find the specified string.": "Nu am putut g\u0103si \u0219irul specificat.", "Replace": "\u00cenlocuie\u015fte", "Next": "Precedent", "Whole words": "Doar cuv\u00eentul \u00eentreg", "Find and replace": "Caut\u0103 \u015fi \u00eenlocuie\u015fte", "Replace with": "\u00cenlocuie\u015fte cu", "Find": "Caut\u0103", "Replace all": "\u00cenlocuie\u015fte toate", "Match case": "Distinge majuscule\/minuscule", "Prev": "Anterior", "Spellcheck": "Verificarea ortografic\u0103", "Finish": "Finalizeaz\u0103", "Ignore all": "Ignor\u0103 toate", "Ignore": "Ignor\u0103", "Insert row before": "Insereaz\u0103 \u00eenainte de linie", "Rows": "Linii", "Height": "\u00cen\u0103l\u0163ime", "Paste row after": "Lipe\u015fte linie dup\u0103", "Alignment": "Aliniament", "Column group": "Grup de coloane", "Row": "Linie", "Insert column before": "Insereaza \u00eenainte de coloan\u0103", "Split cell": "\u00cemp\u0103r\u021birea celulelor", "Cell padding": "Spa\u021biere", "Cell spacing": "Spa\u021biere celule", "Row type": "Tip de linie", "Insert table": "Insereaz\u0103 tabel\u0103", "Body": "Corp", "Caption": "Titlu", "Footer": "Subsol", "Delete row": "\u0218terge linia", "Paste row before": "Lipe\u015fte \u00eenainte de linie", "Scope": "Domeniu", "Delete table": "\u0218terge tabel\u0103", "Header cell": "Antet celul\u0103", "Column": "Coloan\u0103", "Cell": "Celul\u0103", "Header": "Antet", "Cell type": "Tip celul\u0103", "Copy row": "Copiaz\u0103 linie", "Row properties": "Propriet\u0103\u021bi linie", "Table properties": "Propriet\u0103\u021bi tabel\u0103", "Row group": "Grup de linii", "Right": "Dreapta", "Insert column after": "Insereaza dup\u0103 coloan\u0103", "Cols": "Coloane", "Insert row after": "Insereaz\u0103 dup\u0103 linie", "Width": "L\u0103\u0163ime", "Cell properties": "Propriet\u0103\u021bi celul\u0103", "Left": "St\u00e2nga", "Cut row": "Taie linie", "Delete column": "\u0218terge coloana", "Center": "Centru", "Merge cells": "\u00cembinarea celulelor", "Insert template": "Insereaz\u0103 \u0219ablon", "Templates": "\u015eabloane", "Background color": "Culoare fundal", "Text color": "Culoare text", "Show blocks": "Afi\u0219are blocuri", "Show invisible characters": "Afi\u0219are caractere invizibile", "Words: {0}": "Cuvinte: {0}", "Insert": "Insereaz\u0103", "File": "Fil\u0103", "Edit": "Editeaz\u0103", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Zon\u0103 cu Rich Text. Apas\u0103 ALT-F9 pentru meniu. Apas\u0103 ALT-F10 pentru bara de unelte. Apas\u0103 ALT-0 pentru ajutor", "Tools": "Unelte", "View": "Vezi", "Table": "Tabel\u0103", "Format": "Formateaz\u0103" });langs/nl.js000060400000017236152455403670006637 0ustar00tinymce.addI18n('nl',{ "Add to Dictionary": "Toevoegen aan woordenlijst", "Advanced": "Geavanceerd", "Align center": "Centreren", "Align left": "Links uitlijnen", "Align right": "Rechts uitlijnen", "Alignment": "Uitlijning", "Alternative source": "Alternatieve bron", "Anchor": "Anker", "Anchors": "Anker", "Apply": "Toepassen", "Author": "Auteur", "B": "Blauw", "Back": "Terug", "Background color": "Achtergrondkleur", "Blockquote": "Citaat", "Blocks": "Blokken", "Body": "Inhoud", "Bold": "Vet", "Border color": "Randkleur", "Border": "Rand", "Bottom": "Onder", "Brightness": "Helderheid", "Bullet list": "Opsommingsteken", "Cancel": "Annuleren", "Caption": "Onderschrift", "Cell padding": "Celpadding", "Cell properties": "Celeigenschappen", "Cell spacing": "Celruimte", "Cell type": "Celtype", "Cell": "Cel", "Center": "Centreren", "Circle": "Cirkel", "Clear formatting": "Opmaak wissen", "Close": "Sluiten", "Code": "Codering", "Color levels": "Kleurniveau's", "Color": "Kleur", "Cols": "Kolommen", "Column group": "Kolomgroep", "Column": "Kolom", "Constrain proportions": "Verhoudingen behouden", "Contrast": "Contrast", "Copy row": "Kopieer rij", "Copy": "Kopi\u00ebren", "Could not find the specified string.": "Geen resultaten gevonden", "Crop": "Uitsnijden", "Custom color": "Aangepaste kleur", "Custom...": "Aangepaste...", "Cut row": "Rij knippen", "Cut": "Knippen", "Date\/time": "Datum\/tijd", "Decrease indent": "Inspringen verkleinen", "Default": "Standaard", "Delete column": "Verwijder kolom", "Delete row": "Verwijder rij", "Delete table": "Verwijder tabel", "Description": "Omschrijving", "Dimensions": "Afmetingen", "Disc": "Bolletje", "Div": "Div", "Document properties": "Documenteigenschappen", "Edit image": "Bewerk afbeelding", "Edit": "Bewerken", "Embed": "Insluiten", "Emoticons": "Emoticons", "Encoding": "Codering", "File": "Bestand", "Find and replace": "Zoek en vervang", "Find": "Zoeken", "Finish": "Einde", "Flip horizontally": "Horizontaal spiegelen", "Flip vertically": "Verticaal spiegelen", "Font Family": "Lettertype", "Font Sizes": "Tekengrootte", "Footer": "Voettekst", "Format": "Opmaak", "Formats": "Opmaak", "Fullscreen": "Volledig scherm", "G": "Groen", "Gamma": "Gamma", "General": "Algemeen", "H Align": "Horizontaal uitlijnen", "Header 1": "Kop 1", "Header 2": "Kop 2", "Header 3": "Kop 3", "Header 4": "Kop 4", "Header 5": "Kop 5", "Header 6": "Kop 6", "Header cell": "Kopcel", "Header": "Koptekst", "Headers": "Kopteksten", "Heading 1": "Kop 1", "Heading 2": "Kop 2", "Heading 3": "Kop 3", "Heading 4": "Kop 4", "Heading 5": "Kop 5", "Heading 6": "Kop 6", "Headings": "Koppen", "Height": "Hoogte", "Horizontal line": "Horizontale lijn", "Horizontal space": "Horizontale ruimte", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "ID moet beginnen met een letter, alleen gevolgd door letters, nummers, streepjes, punten, dubbele punten of underscores.", "Id": "ID", "Ignore all": "Alles negeren", "Ignore": "Negeren", "Image description": "Afbeeldingsomschrijving", "Image options": "Afbeeldingsopties", "Image": "Afbeelding", "Increase indent": "Inspringen vergroten", "Inline": "Inlijn", "Insert column after": "Voeg kolom in na", "Insert column before": "Voeg kolom in voor", "Insert date\/time": "Voeg datum\/tijd in", "Insert image": "Afbeelding invoegen", "Insert link": "Hyperlink invoegen", "Insert row after": "Voeg rij toe na", "Insert row before": "Voeg rij toe voor", "Insert table": "Tabel invoegen", "Insert template": "Template invoegen", "Insert video": "Video invoegen", "Insert": "Invoegen", "Insert\/Edit code sample": "Codevoorbeeld invoegen\/bewerken", "Insert\/edit image": "Afbeelding invoegen\/bewerken", "Insert\/edit link": "Hyperlink invoegen\/bewerken", "Insert\/edit media": "Media invoegen\/bewerken", "Insert\/edit video": "Video invoegen\/bewerken", "Invert": "Omkeren", "Italic": "Cursief", "Justify": "Uitvullen", "Keywords": "Trefwoorden", "Language": "Taal", "Left to right": "Links naar rechts", "Left": "Links", "Link": "Link", "Lower Alpha": "Kleine letters", "Lower Greek": "Griekse letters (klein)", "Lower Roman": "Romeinse cijfers (klein)", "Match case": "Identieke hoofd\/kleine letters", "Media": "Media", "Merge cells": "Cellen samenvoegen", "Middle": "Centreren", "Name": "Naam", "New document": "Nieuw document", "New window": "Nieuw venster", "Next": "Volgende", "No color": "Geen kleur", "Nonbreaking space": "Vaste spatie invoegen", "None": "Geen", "Numbered list": "Nummering", "Ok": "Ok", "Orientation": "Ori\u00ebntatie", "Page break": "Nieuwe pagina", "Paragraph": "Paragraaf", "Paste as text": "Plakken als tekst", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Plakken gebeurt nu als platte tekst. Tekst wordt nu ingevoegd zonder opmaak tot deze optie uitgeschakeld wordt.", "Paste or type a link": "Plak of typ een link", "Paste row after": "Plak rij na", "Paste row before": "Plak rij voor", "Paste your embed code below:": "Plak uw in te sluiten code hieronder:", "Paste": "Plakken", "Poster": "Poster", "Pre": "Pre", "Prev": "Vorige", "Preview": "Voorbeeld", "Print": "Afdrukken", "R": "Rood", "Redo": "Opnieuw", "Remove link": "Link verwijderen", "Replace all": "Alles vervangen", "Replace with": "Vervangen door", "Replace": "Vervangen", "Resize": "Formaat aanpassen", "Restore last draft": "Herstellen naar vorig concept", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Opgemaakte tekstgebied. Druk op ALT-F9 voor het menu. Druk op ALT-F10 voor de werkbalk. Druk op ALT-0 voor de help.", "Right to left": "Rechts naar links", "Right": "Rechts", "Robots": "Robots", "Rotate clockwise": "Rechtsom draaien", "Rotate counterclockwise": "Linksom draaien", "Row group": "Rijgroep", "Row properties": "Rij-eigenschappen", "Row type": "Rijtype", "Row": "Rij", "Rows": "Rijen", "Save": "Opslaan", "Scope": "Bereik", "Select all": "Alles selecteren", "Sharpen": "Scherper", "Show blocks": "Blokken tonen", "Show invisible characters": "Verborgen tekens tonen", "Source code": "Broncode", "Source": "Bron", "Special character": "Speciale tekens", "Spellcheck": "Spellingscontrole", "Split cell": "Cel splitsen", "Square": "Vierkant", "Strikethrough": "Doorhalen", "Style": "Stijl", "Subscript": "Subscript", "Superscript": "Superscript", "Table of Contents": "Inhoudsopgave", "Table properties": "Tabeleigenschappen", "Table": "Tabel", "Target": "Doel", "Templates": "Templates", "Text color": "Tekstkleur", "Text to display": "Tekst om weer te geven", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "De ingegeven URL lijkt op een e-mailadres. Wilt u er \"mailto:\" aan toevoegen?", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "De ingegeven URL lijkt op een externe link. Wilt u er \"http:\/\/\" aan toevoegen?", "Title": "Titel", "Tools": "Gereedschap", "Top": "Bovenaan", "Underline": "Onderstreept", "Undo": "Ongedaan maken", "Upper Alpha": "Hoofdletters alfabetisch", "Upper Roman": "Hoofdletters Romeinse cijfers", "Url": "URL", "V Align": "Verticaal uitlijnen", "Vertical space": "Verticale ruimte", "View": "Weergave", "Visual aids": "Hulpmiddelen", "Whole words": "Hele woorden", "Width": "Breedte", "Words: {0}": "Woorden: {0}", "You have unsaved changes are you sure you want to navigate away?": "U heeft niet alles opgeslagen weet u zeker dat u de pagina wil verlaten?", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Uw browser ondersteunt geen toegang tot het klemboord. Gelieve de ctrl+X\/C\/V sneltoetsen gebruiken.", "Zoom in": "Inzoomen", "Zoom out": "Uitzoomen" });langs/gl.js000060400000015102152455403670006616 0ustar00tinymce.addI18n('gl',{ "Cut": "Cortar", "Header 2": "Cabeceira 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "O seu navegador non admite o acceso directo ao portapapeis. Empregue os atallos de teclado Ctrl+X\/C\/V no seu canto.", "Div": "Div", "Paste": "Pegar", "Close": "Pechar", "Font Family": "Tipo de letra", "Pre": "Pre", "Align right": "Ali\u00f1ar \u00e1 dereita", "New document": "Novo documento", "Blockquote": "Bloque entre comi\u00f1as", "Numbered list": "Lista numerada", "Increase indent": "Aumentar a sangr\u00eda", "Formats": "Formatos", "Headers": "Cabeceiras", "Select all": "Seleccionar todo", "Header 3": "Cabeceira 3", "Blocks": "Bloques", "Undo": "Desfacer", "Strikethrough": "Riscado", "Bullet list": "Lista de vi\u00f1etas", "Header 1": "Cabeceira 1", "Superscript": "Super\u00edndice", "Clear formatting": "Limpar o formato", "Font Sizes": "Tama\u00f1o da letra", "Subscript": "Sub\u00edndice", "Header 6": "Cabeceira 6", "Redo": "Refacer", "Paragraph": "Par\u00e1grafo", "Ok": "Aceptar", "Bold": "Negra", "Code": "C\u00f3digo", "Italic": "Cursiva", "Align center": "Ali\u00f1ar ao centro", "Header 5": "Cabeceira 5", "Decrease indent": "Reducir a sangr\u00eda", "Header 4": "Cabeceira 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Neste momento o pegado est\u00e1 definido en modo de texto simple. Os contidos p\u00e9garanse como texto sen formato ata que se active esta opci\u00f3n.", "Underline": "Subli\u00f1ado", "Cancel": "Cancelar", "Justify": "Xustificar", "Inline": "En li\u00f1a", "Copy": "Copiar", "Align left": "Ali\u00f1ar \u00e1 esquerda", "Visual aids": "Axudas visuais", "Lower Greek": "Grega min\u00fascula", "Square": "Cadrado", "Default": "Predeterminada", "Lower Alpha": "Alfa min\u00fascula", "Circle": "Circulo", "Disc": "Disco", "Upper Alpha": "Alfa mai\u00fascula", "Upper Roman": "Romana mai\u00fascula", "Lower Roman": "Romana min\u00fascula", "Name": "Nome", "Anchor": "Ancoraxe", "You have unsaved changes are you sure you want to navigate away?": "Ten cambios sen gardar. Confirma que quere sa\u00edr?", "Restore last draft": "Restaurar o \u00faltimo borrador", "Special character": "Car\u00e1cter especial", "Source code": "C\u00f3digo fonte", "Right to left": "De dereita a esquerda", "Left to right": "De esquerda a dereita", "Emoticons": "Emoticonas", "Robots": "Robots", "Document properties": "Propiedades do documento", "Title": "T\u00edtulo", "Keywords": "Palabras clave", "Encoding": "Codificaci\u00f3n", "Description": "Descrici\u00f3n", "Author": "Autor", "Fullscreen": "Pantalla completa", "Horizontal line": "Li\u00f1a horizontal", "Horizontal space": "Espazo horizontal", "Insert\/edit image": "Inserir\/editar imaxe", "General": "Xeral", "Advanced": "Avanzado", "Source": "Orixe", "Border": "Bordo", "Constrain proportions": "Restrinxir as proporci\u00f3ns", "Vertical space": "Espazo vertical", "Image description": "Descrici\u00f3n da imaxe", "Style": "Estilo", "Dimensions": "Dimensi\u00f3ns", "Insert image": "Inserir imaxe", "Insert date\/time": "Inserir data\/hora", "Remove link": "Retirar a ligaz\u00f3n", "Url": "URL", "Text to display": "Texto que amosar", "Anchors": "Ancoraxes", "Insert link": "Inserir ligaz\u00f3n", "New window": "Nova xanela", "None": "Ning\u00fan", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "Destino", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Inserir\/editar ligaz\u00f3n", "Insert\/edit video": "Inserir\/editar v\u00eddeo", "Poster": "Cartel", "Alternative source": "Orixe alternativa", "Paste your embed code below:": "Pegue embaixo o c\u00f3digo integrado:", "Insert video": "Inserir v\u00eddeo", "Embed": "Integrado", "Nonbreaking space": "Espazo irromp\u00edbel", "Page break": "Quebra de p\u00e1xina", "Paste as text": "Pegar como texto", "Preview": "Vista previa", "Print": "Imprimir", "Save": "Gardar", "Could not find the specified string.": "Non foi pos\u00edbel atopar a cadea de texto especificada.", "Replace": "Substitu\u00edr", "Next": "Seguinte", "Whole words": "Palabras completas", "Find and replace": "Buscar e substitu\u00edr", "Replace with": "Substitu\u00edr con", "Find": "Buscar", "Replace all": "Substitu\u00edr todo", "Match case": "Distinguir mai\u00fasculas", "Prev": "Anterior", "Spellcheck": "Corrector ortogr\u00e1fico", "Finish": "Rematar", "Ignore all": "Ignorar todo", "Ignore": "Ignorar", "Insert row before": "Inserir unha fila enriba", "Rows": "Filas", "Height": "Alto", "Paste row after": "Pegar fila enriba", "Alignment": "Ali\u00f1amento", "Column group": "Grupo de columnas", "Row": "Fila", "Insert column before": "Inserir columna \u00e1 esquerda", "Split cell": "Dividir celas", "Cell padding": "Marxe interior da cela", "Cell spacing": "Marxe entre celas", "Row type": "Tipo de fila", "Insert table": "Inserir t\u00e1boa", "Body": "Corpo", "Caption": "Subt\u00edtulo", "Footer": "Rodap\u00e9", "Delete row": "Eliminar fila", "Paste row before": "Pegar fila embaixo", "Scope": "\u00c1mbito", "Delete table": "Eliminar t\u00e1boa", "Header cell": "Cela de cabeceira", "Column": "Columna", "Cell": "Cela", "Header": "Cabeceira", "Cell type": "Tipo de cela", "Copy row": "Copiar fila", "Row properties": "Propiedades das filas", "Table properties": "Propiedades da t\u00e1boa", "Row group": "Grupo de filas", "Right": "Dereita", "Insert column after": "Inserir columna \u00e1 dereita", "Cols": "Cols.", "Insert row after": "Inserir unha fila embaixo", "Width": "Largo", "Cell properties": "Propiedades da cela", "Left": "Esquerda", "Cut row": "Cortar fila", "Delete column": "Eliminar columna", "Center": "Centro", "Merge cells": "Combinar celas", "Insert template": "Inserir modelo", "Templates": "Modelos", "Background color": "Cor do fondo", "Text color": "Cor do texto", "Show blocks": "Amosar os bloques", "Show invisible characters": "Amosar caracteres invis\u00edbeis", "Words: {0}": "Palabras: {0}", "Insert": "Inserir", "File": "Ficheiro", "Edit": "Editar", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u00c1rea de texto mellorado. Prema ALT-F9 para o men\u00fa. Prema ALT-F10 para a barra de ferramentas. Prema ALT-0 para a axuda", "Tools": "Ferramentas", "View": "Ver", "Table": "T\u00e1boa", "Format": "Formato" });langs/eu.js000060400000016676152455403670006646 0ustar00tinymce.addI18n('eu',{ "Cut": "Ebaki", "Heading 5": "5 Izenburua", "Header 2": "2 Goiburua", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Zure nabigatzaileak ez du arbela zuzenean erabiltzeko euskarririk. Mesedez erabili CTRL+X\/C\/V teklatuko lasterbideak.", "Heading 4": "4 Izenburua", "Div": "Div", "Heading 2": "2 Izenburua", "Paste": "Itsatsi", "Close": "Itxi", "Font Family": "Letra-tipo familia", "Pre": "Pre", "Align right": "Lerrokatu eskuinean", "New document": "Dokumentu berria", "Blockquote": "Blockquote", "Numbered list": "Zerrenda zenbakiduna", "Heading 1": "1 Izenburua", "Headings": "Izenburuak", "Increase indent": "Handitu koska", "Formats": "Formatuak", "Headers": "Goiburuak", "Select all": "Hautatu dena", "Header 3": "3 Goiburua", "Blocks": "Blokeak", "Undo": "Desegin", "Strikethrough": "Marratua", "Bullet list": "Bulet zerrenda", "Header 1": "1 Goiburua", "Superscript": "Goi-indizea", "Clear formatting": "Garbitu formatua", "Font Sizes": "Letra-tamainak", "Subscript": "Azpiindize", "Header 6": "6 Goiburua", "Redo": "Berregin", "Paragraph": "Paragrafoa", "Ok": "Ados", "Bold": "Lodia", "Code": "Kodea", "Italic": "Etzana", "Align center": "Lerrokatu erdian", "Header 5": "5 Goiburua", "Heading 6": "6 Izenburua", "Heading 3": "3 Izenburua", "Decrease indent": "Txikitu koska", "Header 4": "4 Goiburua", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Itsatsi testu arrunt moduan dago orain. Edukiak testu arruntak bezala itsatsiko dira aukera hau desaktibatu arte.", "Underline": "Azpimarratua", "Cancel": "Utzi", "Justify": "Justifikatuta", "Inline": "Lerroan", "Copy": "Kopiatu", "Align left": "Lerrokatu ezkerrean", "Visual aids": "Laguntza bisualak", "Lower Greek": "Greko minuskula", "Square": "Karratua", "Default": "Lehenetsia", "Lower Alpha": "Letra minuskula", "Circle": "Zirkulua", "Disc": "Diskoa", "Upper Alpha": "Letra maiuskula", "Upper Roman": "Erromatar maiuskula", "Lower Roman": "Erromatar minuskula", "Name": "Izena", "Anchor": "Esteka", "You have unsaved changes are you sure you want to navigate away?": "Gorde gabeko aldaketak dituzu, ziur zaude hemendik irten nahi duzula?", "Restore last draft": "Leheneratu azken zirriborroa", "Special character": "Karaktere berezia", "Source code": "Iturburu-kodea", "B": "B", "R": "R", "G": "G", "Color": "Kolorea", "Right to left": "Eskuinetik ezkerrera", "Left to right": "Ezkerretik eskuinera", "Emoticons": "Aurpegierak", "Robots": "Robotak", "Document properties": "Dokumentuaren propietateak", "Title": "Titulua", "Keywords": "Gako-hitzak", "Encoding": "Kodeketa", "Description": "Deskribapena", "Author": "Egilea", "Fullscreen": "Pantaila osoa", "Horizontal line": "Marra horizontala", "Horizontal space": "Tarte horizontala", "Insert\/edit image": "Txertatu\/editatu irudia", "General": "Orokorra", "Advanced": "Aurreratua", "Source": "Iturburua", "Border": "Ertza", "Constrain proportions": "Mugatu proportzioak", "Vertical space": "Tarte bertikala", "Image description": "Irudiaren deskribapena", "Style": "Estiloa", "Dimensions": "Neurriak", "Insert image": "Txertatu irudia", "Zoom in": "Handiagotu", "Contrast": "Kontrastea", "Back": "Atzera", "Gamma": "Gamma", "Flip horizontally": "Irauli horizontalki", "Resize": "Aldatu tamaina", "Sharpen": "Araztu", "Zoom out": "Txikiagotu", "Image options": "Irudiaren aukerak", "Apply": "Aplikatu", "Brightness": "Distira", "Rotate clockwise": "Biratu erlojuaren noranzkoan", "Rotate counterclockwise": "Biratu erlojuaren aurkako noranzkoan", "Edit image": "Editatu irudia", "Color levels": "Kolore-mailak", "Crop": "Moztu", "Orientation": "Orientazioa", "Flip vertically": "Irauli bertikalki", "Invert": "Alderantzikatu", "Insert date\/time": "Txertatu data\/ordua", "Remove link": "Kendu esteka", "Url": "Url", "Text to display": "Bistaratzeko testua", "Anchors": "Estekak", "Insert link": "Txertatu esteka", "New window": "Leiho berria", "None": "Bat ere ez", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Sartu duzun URL-ak kanpoko esteka dirudi. Nahi duzu dagokion http:\/\/ aurrizkia gehitzea?", "Target": "Helburua", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Sartu duzun URL-ak posta helbide elektronikoa dirudi. Nahi duzu dagokion mailto: aurrizkia gehitzea?", "Insert\/edit link": "Txertatu\/editatu esteka", "Insert\/edit video": "Txertatu\/editatu bideoa", "Poster": "Posterra", "Alternative source": "Ordezko iturburua", "Paste your embed code below:": "Itsatsi hemen zure kapsulatze-kodea:", "Insert video": "Txertatu bideoa", "Embed": "Kapsulatu", "Nonbreaking space": "Zuriune zatiezina", "Page break": "Orrialde-jauzia", "Paste as text": "Itsatsi testu gisa", "Preview": "Aurrebista", "Print": "Inprimatu", "Save": "Gorde", "Could not find the specified string.": "Ezin izan da zehaztutako katea aurkitu.", "Replace": "Ordeztu", "Next": "Hurrengoa", "Whole words": "hitz osoak", "Find and replace": "Bilatu eta ordeztu", "Replace with": "Ordeztu honekin", "Find": "Bilatu", "Replace all": "Ordeztu dena", "Match case": "Maiuskula\/minuskula", "Prev": "Aurrekoa", "Spellcheck": "Ortografia-egiaztapena", "Finish": "Amaitu", "Ignore all": "Ez ikusi egin dena", "Ignore": "Ez ikusi egin", "Add to Dictionary": "Gehitu hiztegian", "Insert row before": "Txertatu errenkada aurretik", "Rows": "Errenkadak", "Height": "Altuera", "Paste row after": "Itsatsi errenkada ondoren", "Alignment": "Lerrokatzea", "Border color": "Ertzaren kolorea", "Column group": "Zutabe taldea", "Row": "Errenkada", "Insert column before": "Txertatu zutabea aurretik", "Split cell": "Zatitu gelaxka", "Cell padding": "Gelaxka-betegarria", "Cell spacing": "Gelaxka-bitartea", "Row type": "Lerro mota", "Insert table": "Txertatu taula", "Body": "Gorputza", "Caption": "Epigrafea", "Footer": "Oina", "Delete row": "Ezabatu errenkada", "Paste row before": "Itsatsi errenkada aurretik", "Scope": "Esparrua", "Delete table": "Ezabatu taula", "H Align": "Lerrokatze horizontala", "Top": "Goian", "Header cell": "Goiburu-gelaxka", "Column": "Zutabea", "Row group": "Lerro taldea", "Cell": "Gelaxka", "Middle": "Erdian", "Cell type": "Gelaxka mota", "Copy row": "Kopiatu errenkada", "Row properties": "Errenkadaren propietateak", "Table properties": "Taularen propietateak", "Bottom": "Behean", "V Align": "Lerrokatze bertikala", "Header": "Goiburua", "Right": "Eskuina", "Insert column after": "Txertatu zutabea ondoren", "Cols": "Zutabeak", "Insert row after": "Txertatu errenkada ondoren", "Width": "Zabalera", "Cell properties": "Gelaxkaren propietateak", "Left": "Ezkerra", "Cut row": "Ebaki errenkada", "Delete column": "Ezabatu zutabea", "Center": "Erdia", "Merge cells": "Konbinatu gelaxkak", "Insert template": "Txertatu txantiloia", "Templates": "Txantiloiak", "Background color": "Atzeko planoaren kolorea", "Custom...": "Pertsonalizatua...", "Custom color": "Kolore pertsonalizatua", "No color": "Kolorerik gabe", "Text color": "Testuaren kolorea", "Show blocks": "Erakutsi blokeak", "Show invisible characters": "Erakutsi karaktere ikusezinak", "Words: {0}": "Hitzak: {0}", "Insert": "Txertatu", "File": "Fitxategia", "Edit": "Editatu", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Testu aberastuaren area. Sakatu ALT-F9 menurako. Sakatu ALT-F10 tresna-barrarako. Sakatu ALT-0 laguntzarako", "Tools": "Tresnak", "View": "Ikusi", "Table": "Taula", "Format": "Formatua" }); langs/et.js000060400000014720152455403670006631 0ustar00tinymce.addI18n('et',{ "Cut": "L\u00f5ika", "Header 2": "Pealkiri 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Sinu veebilehitseja ei toeta otsest ligip\u00e4\u00e4su l\u00f5ikelauale. Palun kasuta selle asemel klaviatuuri kiirk\u00e4sklusi Ctrl+X\/C\/V.", "Div": "Sektsioon", "Paste": "Kleebi", "Close": "Sulge", "Font Family": "Kirjastiilid", "Pre": "Eelvormindatud", "Align right": "Joonda paremale", "New document": "Uus dokument", "Blockquote": "Plokktsitaat", "Numbered list": "J\u00e4rjestatud loend", "Increase indent": "Suurenda taanet", "Formats": "Vormingud", "Headers": "P\u00e4ised", "Select all": "Vali k\u00f5ik", "Header 3": "Pealkiri 3", "Blocks": "Plokid", "Undo": "V\u00f5ta tagasi", "Strikethrough": "L\u00e4bikriipsutatud", "Bullet list": "J\u00e4rjestamata loend", "Header 1": "Pealkiri 1", "Superscript": "\u00dclaindeks", "Clear formatting": "Puhasta vorming", "Font Sizes": "Kirja suurused", "Subscript": "Alaindeks", "Header 6": "Pealkiri 6", "Redo": "Tee uuesti", "Paragraph": "L\u00f5ik", "Ok": "Ok", "Bold": "Rasvane", "Code": "Kood", "Italic": "Kaldkiri", "Align center": "Joonda keskele", "Header 5": "Pealkiri 5", "Decrease indent": "V\u00e4henda taanet", "Header 4": "Pealkiri 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Asetamine on n\u00fc\u00fcd tekstire\u017eiimis. Sisu asetatakse n\u00fc\u00fcd lihttekstina, kuni sa l\u00fclitad selle valiku v\u00e4lja.", "Underline": "Allakriipsutatud", "Cancel": "Katkesta", "Justify": "Joonda r\u00f6\u00f6pselt", "Inline": "Reasisene", "Copy": "Kopeeri", "Align left": "Joonda vasakule", "Visual aids": "N\u00e4itevahendid", "Lower Greek": "Kreeka v\u00e4iket\u00e4hed (\u03b1, \u03b2, \u03b3)", "Square": "Ruut", "Default": "Vaikimisi", "Lower Alpha": "V\u00e4iket\u00e4hed (a, b, c)", "Circle": "Ring", "Disc": "Ketas", "Upper Alpha": "Suurt\u00e4hed (A, B, C)", "Upper Roman": "Rooma suurt\u00e4hed (I, II, III)", "Lower Roman": "Rooma v\u00e4iket\u00e4hed (i, ii, iii)", "Name": "Nimi", "Anchor": "Ankur", "You have unsaved changes are you sure you want to navigate away?": "Sul on salvestamata muudatusi. Oled Sa kindel, et soovid mujale navigeeruda?", "Restore last draft": "Taasta viimane mustand", "Special character": "Erim\u00e4rk", "Source code": "L\u00e4htekood", "Right to left": "Paremalt vasakule", "Left to right": "Vasakult paremale", "Emoticons": "Emotikonid", "Robots": "Robotid", "Document properties": "Dokumendi omadused", "Title": "Pealkiri", "Keywords": "M\u00e4rks\u00f5nad", "Encoding": "M\u00e4rgistik", "Description": "Kirjeldus", "Author": "Autor", "Fullscreen": "T\u00e4isekraan", "Horizontal line": "Horisontaaljoon", "Horizontal space": "Reavahe", "Insert\/edit image": "Lisa\/muuda pilt", "General": "\u00dcldine", "Advanced": "T\u00e4iendavad seaded", "Source": "Allikas", "Border": "\u00c4\u00e4ris", "Constrain proportions": "S\u00e4ilita kuvasuhe", "Vertical space": "P\u00fcstine vahe", "Image description": "Pildi kirjeldus", "Style": "Stiil", "Dimensions": "M\u00f5\u00f5tmed", "Insert image": "Lisa pilt", "Insert date\/time": "Lisa kuup\u00e4ev\/kellaaeg", "Remove link": "Eemalda link", "Url": "Viide (url)", "Text to display": "Kuvatav tekst", "Anchors": "Ankrud", "Insert link": "Lisa link", "New window": "Uus aken", "None": "Puudub", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "Sihtm\u00e4rk", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Lisa\/muuda link", "Insert\/edit video": "Lisa\/muuda video", "Poster": "Lisaja", "Alternative source": "Teine allikas", "Paste your embed code below:": "Kleebi oma manustamiskood siia alla:", "Insert video": "Lisa video", "Embed": "Manusta", "Nonbreaking space": "T\u00fchim\u00e4rk (nbsp)", "Page break": "Lehevahetus", "Paste as text": "Aseta tekstina", "Preview": "Eelvaade", "Print": "Tr\u00fcki", "Save": "Salvesta", "Could not find the specified string.": "Ei suutnud leida etteantud s\u00f5net.", "Replace": "Asenda", "Next": "J\u00e4rg", "Whole words": "Terviks\u00f5nad", "Find and replace": "Otsi ja asenda", "Replace with": "Asendus", "Find": "Otsi", "Replace all": "Asenda k\u00f5ik", "Match case": "Erista suur- ja v\u00e4iket\u00e4hti", "Prev": "Eelm", "Spellcheck": "\u00d5igekirja kontroll", "Finish": "L\u00f5peta", "Ignore all": "Eira k\u00f5iki", "Ignore": "Eira", "Insert row before": "Lisa rida enne", "Rows": "Read", "Height": "K\u00f5rgus", "Paste row after": "Kleebi rida j\u00e4rele", "Alignment": "Joondus", "Column group": "Veergude r\u00fchm", "Row": "Rida", "Insert column before": "Lisa tulp enne", "Split cell": "T\u00fckelda lahter", "Cell padding": "Lahtri sisu ja tabeli \u00e4\u00e4rise vahe", "Cell spacing": "Lahtrivahe", "Row type": "Rea t\u00fc\u00fcp", "Insert table": "Lisa tabel", "Body": "P\u00f5hiosa", "Caption": "Alapealkiri", "Footer": "Jalus", "Delete row": "Kustuta rida", "Paste row before": "Kleebi rida enne", "Scope": "Ulatus", "Delete table": "Kustuta tabel", "Header cell": "P\u00e4islahter", "Column": "Tulp", "Cell": "Lahter", "Header": "P\u00e4is", "Cell type": "Lahtri t\u00fc\u00fcp", "Copy row": "Kopeeri rida", "Row properties": "Rea omadused", "Table properties": "Tabeli omadused", "Row group": "Ridade r\u00fchm", "Right": "Paremal", "Insert column after": "Lisa tulp j\u00e4rele", "Cols": "Veerud", "Insert row after": "Lisa rida j\u00e4rele", "Width": "Laius", "Cell properties": "Lahtri omadused", "Left": "Vasakul", "Cut row": "L\u00f5ika rida", "Delete column": "Kustuta tulp", "Center": "Keskel", "Merge cells": "\u00dchenda lahtrid", "Insert template": "Lisa mall", "Templates": "Mallid", "Background color": "Tausta v\u00e4rv", "Text color": "Teksti v\u00e4rv", "Show blocks": "N\u00e4ita plokke", "Show invisible characters": "N\u00e4ita peidetud m\u00e4rke", "Words: {0}": "S\u00f5nu: {0}", "Insert": "Sisesta", "File": "Fail", "Edit": "Muuda", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rikastatud teksti ala. Men\u00fc\u00fc jaoks vajuta ALT-F9. T\u00f6\u00f6riistariba jaoks vajuta ALT-F10. Abi saamiseks vajuta ALT-0.", "Tools": "T\u00f6\u00f6riistad", "View": "Vaade", "Table": "Tabel", "Format": "Vorming" });langs/sk.js000060400000022635152455403670006642 0ustar00tinymce.addI18n('sk',{ "Cut": "Vystrihn\u00fa\u0165", "Heading 5": "Nadpis 5", "Header 2": "Nadpis 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "V\u00e1\u0161 prehliada\u010d nepodporuje priamy pr\u00edstup do schr\u00e1nky. Pou\u017eite kl\u00e1vesov\u00e9 skratky Ctrl+X\/C\/V.", "Heading 4": "Nadpis 4", "Div": "Blok", "Heading 2": "Nadpis 2", "Paste": "Vlo\u017ei\u0165", "Close": "Zatvori\u0165", "Font Family": "P\u00edsmo", "Pre": "Preform\u00e1tovan\u00fd", "Align right": "Zarovna\u0165 vpravo", "New document": "Nov\u00fd dokument", "Blockquote": "Cit\u00e1cia", "Numbered list": "\u010c\u00edslovan\u00fd zoznam", "Heading 1": "Nadpis 1", "Headings": "Nadpisy", "Increase indent": "Zv\u00e4\u010d\u0161i\u0165 odsadenie", "Formats": "Form\u00e1ty", "Headers": "Nadpisy", "Select all": "Ozna\u010di\u0165 v\u0161etko", "Header 3": "Nadpis 3", "Blocks": "Bloky", "Undo": "Vr\u00e1ti\u0165", "Strikethrough": "Pre\u010diarknut\u00e9", "Bullet list": "Odr\u00e1\u017eky", "Header 1": "Nadpis 1", "Superscript": "Horn\u00fd index", "Clear formatting": "Vymaza\u0165 form\u00e1tovanie", "Font Sizes": "Ve\u013ekos\u0165 p\u00edsma", "Subscript": "Spodn\u00fd index", "Header 6": "Nadpis 6", "Redo": "Znova", "Paragraph": "Odsek", "Ok": "Ok", "Bold": "Tu\u010dn\u00e9", "Code": "K\u00f3d", "Italic": "Kurz\u00edva", "Align center": "Zarovna\u0165 na stred", "Header 5": "Nadpis 5", "Heading 6": "Nadpis 6", "Heading 3": "Nadpis 3", "Decrease indent": "Zmen\u0161i\u0165 odsadenie", "Header 4": "Nadpis 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Vkladanie je v m\u00f3de neform\u00e1tovan\u00e9ho textu. Vkladan\u00fd obsah bude vlo\u017een\u00fd ako neform\u00e1tovan\u00fd, a\u017e pok\u00fdm t\u00fato mo\u017enos\u0165 nevypnete.", "Underline": "Pod\u010diarknut\u00e9", "Cancel": "Zru\u0161i\u0165", "Justify": "Zarovna\u0165", "Inline": "\u0160t\u00fdly", "Copy": "Kop\u00edrova\u0165", "Align left": "Zarovna\u0165 v\u013eavo", "Visual aids": "Vizu\u00e1lne pom\u00f4cky", "Lower Greek": "Mal\u00e9 gr\u00e9cke p\u00edsmen\u00e1", "Square": "\u0160tvorec", "Default": "V\u00fdchodzie", "Lower Alpha": "Mal\u00e9 p\u00edsmen\u00e1", "Circle": "Kruh", "Disc": "Disk", "Upper Alpha": "Ve\u013ek\u00e9 p\u00edsmen\u00e1", "Upper Roman": "Ve\u013ek\u00e9 r\u00edmske \u010d\u00edslice", "Lower Roman": "Mal\u00e9 r\u00edmske \u010d\u00edslice", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id by malo za\u010d\u00edna\u0165 p\u00edsmenom, nasledovan\u00e9 p\u00edsmenami, \u010d\u00edslami, pom\u013a\u010dkami, bodkami, dvojbodkami alebo podtr\u017en\u00edkmi.", "Name": "N\u00e1zov", "Anchor": "Odkaz", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "M\u00e1te neulo\u017een\u00e9 zmeny, naozaj chcete opusti\u0165 str\u00e1nku?", "Restore last draft": "Obnovi\u0165 posledn\u00fd koncept", "Special character": "\u0160peci\u00e1lny znak", "Source code": "Zdrojov\u00fd k\u00f3d", "Language": "Jazyk", "Insert\/Edit code sample": "Vlo\u017ei\u0165\/upravi\u0165 vzorku k\u00f3du", "B": "B", "R": "R", "G": "G", "Color": "Farba", "Right to left": "Sprava do\u013eava", "Left to right": "Z\u013eava doprava", "Emoticons": "Smajl\u00edci", "Robots": "Preh\u013ead\u00e1vacie roboty", "Document properties": "Vlastnosti dokumentu", "Title": "Nadpis", "Keywords": "K\u013e\u00fa\u010dov\u00e9 slov\u00e1", "Encoding": "K\u00f3dovanie", "Description": "Popis", "Author": "Autor", "Fullscreen": "Na cel\u00fa obrazovku", "Horizontal line": "Horizont\u00e1lna \u010diara", "Horizontal space": "Horizont\u00e1lny priestor", "Insert\/edit image": "Vlo\u017ei\u0165\/upravi\u0165 obr\u00e1zok", "General": "Hlavn\u00e9", "Advanced": "Pokro\u010dil\u00e9", "Source": "Zdroj", "Border": "Or\u00e1movanie", "Constrain proportions": "Vymedzen\u00e9 proporcie", "Vertical space": "Vertik\u00e1lny priestor", "Image description": "Popis obr\u00e1zku", "Style": "\u0160t\u00fdl", "Dimensions": "Rozmery", "Insert image": "Vlo\u017ei\u0165 obr\u00e1zok", "Image": "Obr\u00e1zok", "Zoom in": "Pribl\u00ed\u017ei\u0165", "Contrast": "Kontrast", "Back": "Sp\u00e4\u0165", "Gamma": "Gama", "Flip horizontally": "Preklopi\u0165 horizont\u00e1lne", "Resize": "Zmeni\u0165 ve\u013ekos\u0165", "Sharpen": "Zaostri\u0165", "Zoom out": "Oddiali\u0165", "Image options": "Mo\u017enosti obr\u00e1zku", "Apply": "Pou\u017ei\u0165", "Brightness": "Jas", "Rotate clockwise": "Oto\u010di\u0165 v smere hodinov\u00fdch ru\u010di\u010diek", "Rotate counterclockwise": "Oto\u010di\u0165 proti smeru hodinov\u00fdch ru\u010di\u010diek", "Edit image": "Upravi\u0165 obr\u00e1zok", "Color levels": "\u00darovne farieb", "Crop": "Vyreza\u0165", "Orientation": "Orient\u00e1cia", "Flip vertically": "Preklopi\u0165 vertik\u00e1lne", "Invert": "Invertova\u0165", "Date\/time": "D\u00e1tum\/\u010das", "Insert date\/time": "Vlo\u017ei\u0165 d\u00e1tum\/\u010das", "Remove link": "Odstr\u00e1ni\u0165 odkaz", "Url": "Url", "Text to display": "Zobrazen\u00fd text", "Anchors": "Kotvy", "Insert link": "Vlo\u017ei\u0165 odkaz", "Link": "Odkaz", "New window": "Nov\u00e9 okno", "None": "\u017diadne", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "URL adresa ktor\u00fa ste zadali vyzer\u00e1 ako extern\u00fd odkaz. Chcete prida\u0165 vy\u017eadovan\u00fa http:\/\/ predponu?", "Paste or type a link": "Prilepte alebo nap\u00ed\u0161te odkaz", "Target": "Cie\u013e", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "URL, ktor\u00fa ste vlo\u017eili je pravdepodobne emailov\u00e1 adresa. \u017del\u00e1te si prida\u0165 vy\u017eadovan\u00fa mailto: predponu?", "Insert\/edit link": "Vlo\u017ei\u0165\/upravi\u0165 odkaz", "Insert\/edit video": "Vlo\u017ei\u0165\/upravi\u0165 video", "Media": "M\u00e9di\u00e1", "Alternative source": "Alternat\u00edvny zdroj", "Paste your embed code below:": "Vlo\u017ete k\u00f3d pre vlo\u017eenie na str\u00e1nku:", "Insert video": "Vlo\u017ei\u0165 video", "Poster": "Uk\u00e1\u017eka", "Insert\/edit media": "Vlo\u017ei\u0165\/upravi\u0165 m\u00e9di\u00e1", "Embed": "Vlo\u017een\u00e9", "Nonbreaking space": "Nedelite\u013en\u00e1 medzera", "Page break": "Zalomenie str\u00e1nky", "Paste as text": "Vlo\u017ei\u0165 ako text", "Preview": "N\u00e1h\u013ead", "Print": "Tla\u010di\u0165", "Save": "Ulo\u017ei\u0165", "Could not find the specified string.": "Zadan\u00fd re\u0165azec sa nena\u0161iel.", "Replace": "Nahradi\u0165", "Next": "Nasleduj\u00face", "Whole words": "Cel\u00e9 slov\u00e1", "Find and replace": "Vyh\u013eada\u0165 a nahradi\u0165", "Replace with": "Nahradi\u0165 za", "Find": "H\u013eada\u0165", "Replace all": "Nahradi\u0165 v\u0161etko", "Match case": "Rozli\u0161ova\u0165 ve\u013ek\u00e9\/mal\u00e9", "Prev": "Predch\u00e1dzaj\u00face", "Spellcheck": "Kontrola pravopisu", "Finish": "Dokon\u010di\u0165", "Ignore all": "Ignorova\u0165 v\u0161etko", "Ignore": "Ignorova\u0165", "Add to Dictionary": "Prida\u0165 do slovn\u00edka", "Insert row before": "Vlo\u017ei\u0165 nov\u00fd riadok pred", "Rows": "Riadky", "Height": "V\u00fd\u0161ka", "Paste row after": "Vlo\u017ei\u0165 riadok za", "Alignment": "Zarovnanie", "Border color": "Farba or\u00e1movania", "Column group": "Skupina st\u013apcov", "Row": "Riadok", "Insert column before": "Prida\u0165 nov\u00fd st\u013apec pred", "Split cell": "Rozdeli\u0165 bunku", "Cell padding": "Odsadenie v bunk\u00e1ch", "Cell spacing": "Priestor medzi bunkami", "Row type": "Typ riadku", "Insert table": "Vlo\u017ei\u0165 tabu\u013eku", "Body": "Telo", "Caption": "Popisok", "Footer": "P\u00e4ti\u010dka", "Delete row": "Zmaza\u0165 riadok", "Paste row before": "Vlo\u017ei\u0165 riadok pred", "Scope": "Oblas\u0165", "Delete table": "Zmaza\u0165 tabu\u013eku", "H Align": "Horizont\u00e1lne zarovnanie", "Top": "Vrch", "Header cell": "Bunka z\u00e1hlavia", "Column": "St\u013apec", "Row group": "Skupina riadkov", "Cell": "Bunka", "Middle": "Stred", "Cell type": "Typ bunky", "Copy row": "Kop\u00edrova\u0165 riadok", "Row properties": "Vlastnosti riadku", "Table properties": "Nastavenia tabu\u013eky", "Bottom": "Spodok", "V Align": "Vertik\u00e1lne zarovnanie", "Header": "Z\u00e1hlavie", "Right": "Vpravo", "Insert column after": "Prida\u0165 nov\u00fd st\u013apec za", "Cols": "St\u013apce", "Insert row after": "Vlo\u017ei\u0165 nov\u00fd riadok za", "Width": "\u0160\u00edrka", "Cell properties": "Vlastnosti bunky", "Left": "V\u013eavo", "Cut row": "Vystrihn\u00fa\u0165 riadok", "Delete column": "Vymaza\u0165 st\u013apec", "Center": "Na stred", "Merge cells": "Spoji\u0165 bunky", "Insert template": "Vlo\u017ei\u0165 \u0161abl\u00f3nu", "Templates": "\u0160abl\u00f3ny", "Background color": "Farba pozadia", "Custom...": "Vlastn\u00e1...", "Custom color": "Vlastn\u00e1 farba", "No color": "Bez farby", "Text color": "Farba textu", "Table of Contents": "Obsah", "Show blocks": "Zobrazi\u0165 bloky", "Show invisible characters": "Zobrazi\u0165 skryt\u00e9 znaky", "Words: {0}": "Slov: {0}", "Insert": "Vlo\u017ei\u0165", "File": "S\u00fabor", "Edit": "Upravi\u0165", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Textov\u00e9 pole. Stla\u010dte ALT-F9 pre zobrazenie menu, ALT-F10 pre zobrazenie panela n\u00e1strojov, ALT-0 pre n\u00e1povedu.", "Tools": "N\u00e1stroje", "View": "Zobrazi\u0165", "Table": "Tabu\u013eka", "Format": "Form\u00e1t" });langs/ms.js000060400000012756152455403670006647 0ustar00tinymce.addI18n('ms',{ "Cut": "Potong", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Pelayar internet anda tidak menyokong akses terus kepada papan klip. Sila gunakan pintasan papan kekunci Ctrl+X\/C\/V.", "Paste": "Tampal", "Close": "Tutup", "Align right": "Alih ke kanan", "New document": "Dokumen baru", "Numbered list": "Senarai bernombor", "Increase indent": "Tingkatkan inden", "Formats": "Format", "Select all": "Pilih semua", "Undo": "Kembali Ke asal", "Strikethrough": "Batal", "Bullet list": "Senarai bullet", "Superscript": "Superskrip", "Clear formatting": "Hilangkan format", "Subscript": "Subskrip", "Redo": "Buat semula", "Ok": "Ok", "Bold": "Tebalkan", "Italic": "Tulisan senget", "Align center": "Alih ke tengah", "Decrease indent": "Kurangkan inden", "Underline": "Garis bawah", "Cancel": "Batal", "Justify": "Sama ratakan", "Copy": "Salin", "Align left": "Alihkan ke kiri", "Visual aids": "Visual bantuan", "Lower Greek": "Greek Kecil", "Square": "Petak", "Default": "Asal", "Lower Alpha": "Alpha Kecil", "Circle": "Bulat", "Disc": "Cakera", "Upper Alpha": "Alpha Besar", "Upper Roman": "Roman Besar", "Lower Roman": "Roman Kecik", "Name": "Nama", "Anchor": "Pemberat", "You have unsaved changes are you sure you want to navigate away?": "Anda mempunyai perubahan yang belum disimpan, anda pasti mahu keluar?", "Restore last draft": "Kembalikan draf lepas", "Special character": "Karekter unik", "Source code": "Sumber Kod", "Right to left": "Kanan Ke kiri", "Left to right": "Kiri Ke kanan", "Emoticons": "Emotikon", "Robots": "Robot", "Document properties": "Sifat-sifat dokumen", "Title": "Tajuk", "Keywords": "Kata kunci", "Encoding": "Pengekodan", "Description": "Penerangan", "Author": "Pengarang", "Fullscreen": "Skrin penuh", "Horizontal line": "Garis mendatar", "Horizontal space": "Ruang mendatar", "Insert\/edit image": "Masukkan\/Ubah Gambar", "General": "Am", "Advanced": "Lanjutan", "Source": "Sumber", "Border": "Sempadan", "Constrain proportions": "Bentuk kekangan", "Vertical space": "Ruang menegak", "Image description": "Penerangan gambar", "Style": "Gaya", "Dimensions": "Dimensi", "Insert image": "Masukkan gambar", "Insert date\/time": "Masukkan tarikh\/masa", "Remove link": "Padam pautan", "Url": "Url", "Text to display": "Teks untuk dipaparkan", "Insert link": "Masukkan pautan", "New window": "Tetingkap baru", "None": "Tiada", "Target": "Target", "Insert\/edit link": "Masukkan\/Ubah pautan", "Insert\/edit video": "Masukkan\/Ubah video", "Poster": "Poster", "Alternative source": "Sumber alternatif", "Paste your embed code below:": "Tampalkan kod embed anda di bawah:", "Insert video": "Masukkan video", "Embed": "Embed", "Nonbreaking space": "Ruang tidak dipisahkan", "Preview": "Pratonton", "Print": "Cetak", "Save": "Simpan", "Could not find the specified string.": "Tidak dapat mencari untaian yang dinyatakan.", "Replace": "Ganti", "Next": "Seterusnya", "Whole words": "Keseluruhan perkataan", "Find and replace": "Cari dan gantikan", "Replace with": "Gantikan dengan", "Find": "Cari", "Replace all": "Ganti semua", "Match case": "Huruf sepadan", "Prev": "Kembali", "Spellcheck": "Semakan Ejaan", "Finish": "Tamat", "Ignore all": "Biarkan semua", "Ignore": "Biarkan", "Insert row before": "Masukkan baris sebelumnya", "Rows": "Baris-Baris", "Height": "Tinggi", "Paste row after": "Tampal baris selepasnya", "Alignment": "Penjajaran", "Column group": "Kumpulan lajur", "Row": "Baris", "Insert column before": "Masukkan lajur sebelumnya", "Split cell": "Asingkan sel", "Cell padding": "Penebalan sel", "Cell spacing": "Penjarakkan sel", "Row type": "Jenis baris", "Insert table": "Masukkan jadual", "Body": "Badan", "Caption": "Keterangan", "Footer": "Pengaki", "Delete row": "Padam Baris", "Paste row before": "Tampal baris sebelumnya", "Scope": "Skop", "Delete table": "Padam jadual", "Header cell": "Sel pengepala", "Column": "Lajur", "Cell": "Sel", "Header": "Pengepala", "Cell type": "Jenis sel", "Copy row": "Salin baris", "Row properties": "Sifat-sifat baris", "Table properties": "Sifat-sifat jadual", "Row group": "Kumpulan baris", "Right": "Kanan", "Insert column after": "Masukkan lajur selepasnya", "Cols": "Cols", "Insert row after": "Masukkan baris selepasnya", "Width": "Lebar", "Cell properties": "Sifat-sifat sel", "Left": "Kiri", "Cut row": "Potong baris", "Delete column": "Padam lajur", "Center": "Tengah", "Merge cells": "Gabung Sel", "Insert template": "Masukkan templat", "Templates": "Templat", "Background color": "Warna latar belakang", "Text color": "Warna teks", "Show blocks": "Papar blok", "Show invisible characters": "Papar karekter tersembunyi", "Words: {0}": "Perkataan: {0}", "Insert": "Masukkan", "File": "Fail", "Edit": "Ubah", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Ruangan Teks Luas. Tekan ALT-F9 untuk menu. Tekan ALT-F10 untuk bar perkakasan. Tekan ALT-0 untuk bantuan", "Tools": "Peralatan", "View": "Pemandangan", "Table": "Jadual", "Format": "Format", "Inline": "Sebaris", "Blocks": "Blok-blok", "Edit image": "Ubah gambar", "Font Family": "Kumpulan fon", "Font Sizes": "Saiz fon", "Paragraph": "Perenggan", "Address": "Alamat", "Pre": "Pra", "Code": "Kod", "Headers": "Pengepala", "Header 1": "Pengepala 1", "Header 2": "Pengepala 2", "Header 3": "Pengepala 3", "Header 4": "Pengepala 4", "Header 5": "Pengepala 5", "Header 6": "Pengepala 6", "Insert Time": "Masukkan masa", "Insert nonbreaking space": "Masukkan ruang yang tidak dipisahkan", "Toggle blockquote": "Togol Ruang Petikan" });langs/cs.js000060400000017542152455403670006633 0ustar00tinymce.addI18n('cs',{ "Cut": "Vyjmout", "Heading 5": "Nadpis 5", "Header 2": "Nadpis 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "V\u00e1\u0161 prohl\u00ed\u017ee\u010d nepodporuje p\u0159\u00edm\u00fd p\u0159\u00edstup do schr\u00e1nky. Pou\u017eijte pros\u00edm kl\u00e1vesov\u00e9 zkratky Ctrl+X\/C\/V.", "Heading 4": "Nadpis 4", "Div": "Div (blok)", "Heading 2": "Nadpis 2", "Paste": "Vlo\u017eit", "Close": "Zav\u0159\u00edt", "Font Family": "Typ p\u00edsma", "Pre": "Pre (p\u0159edform\u00e1tov\u00e1no)", "Align right": "Zarovnat vpravo", "New document": "Nov\u00fd dokument", "Blockquote": "Citace", "Numbered list": "\u010c\u00edslov\u00e1n\u00ed", "Heading 1": "Nadpis 1", "Headings": "Nadpisy", "Increase indent": "Zv\u011bt\u0161it odsazen\u00ed", "Formats": "Form\u00e1ty", "Headers": "Nadpisy", "Select all": "Vybrat v\u0161e", "Header 3": "Nadpis 3", "Blocks": "Blokov\u00e9 zobrazen\u00ed (block)", "Undo": "Zp\u011bt", "Strikethrough": "P\u0159e\u0161rktnut\u00e9", "Bullet list": "Odr\u00e1\u017eky", "Header 1": "Nadpis 1", "Superscript": "Horn\u00ed index", "Clear formatting": "Vymazat form\u00e1tov\u00e1n\u00ed", "Font Sizes": "Velikost p\u00edsma", "Subscript": "Doln\u00ed index", "Header 6": "Nadpis 6", "Redo": "Znovu", "Paragraph": "Odstavec", "Ok": "OK", "Bold": "Tu\u010dn\u00e9", "Code": "Code (k\u00f3d)", "Italic": "Kurz\u00edva", "Align center": "Zarovnat na st\u0159ed", "Header 5": "Nadpis 5", "Heading 6": "Nadpis 6", "Heading 3": "Nadpis 3", "Decrease indent": "Zmen\u0161it odsazen\u00ed", "Header 4": "Nadpis 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Je zapnuto vkl\u00e1d\u00e1n\u00ed \u010dist\u00e9ho textu. Dokud nebude tato volba vypnuta, bude ve\u0161ker\u00fd obsah vlo\u017een jako \u010dist\u00fd text.", "Underline": "Podtr\u017een\u00e9", "Cancel": "Zru\u0161it", "Justify": "Zarovnat do bloku", "Inline": "\u0158\u00e1dkov\u00e9 zobrazen\u00ed (inline)", "Copy": "Kop\u00edrovat", "Align left": "Zarovnat vlevo", "Visual aids": "Vizu\u00e1ln\u00ed pom\u016fcky", "Lower Greek": "Mal\u00e9 p\u00edsmenkov\u00e1n\u00ed", "Square": "\u010ctvere\u010dek", "Default": "V\u00fdchoz\u00ed", "Lower Alpha": "Norm\u00e1ln\u00ed \u010d\u00edslov\u00e1n\u00ed", "Circle": "Kole\u010dko", "Disc": "Punt\u00edk", "Upper Alpha": "velk\u00e9 p\u00edsmenkov\u00e1n\u00ed", "Upper Roman": "\u0158\u00edmsk\u00e9 \u010d\u00edslice", "Lower Roman": "Mal\u00e9 \u0159\u00edmsk\u00e9 \u010d\u00edslice", "Name": "N\u00e1zev", "Anchor": "Kotva", "You have unsaved changes are you sure you want to navigate away?": "M\u00e1te neulo\u017een\u00e9 zm\u011bny. Opravdu chcete opustit str\u00e1nku?", "Restore last draft": "Obnovit posledn\u00ed koncept", "Special character": "Speci\u00e1ln\u00ed znak", "Source code": "Zdrojov\u00fd k\u00f3d", "Color": "Barva", "Right to left": "Zprava doleva", "Left to right": "Zleva doprava", "Emoticons": "Emotikony", "Robots": "Roboti", "Document properties": "Vlastnosti dokumentu", "Title": "Titulek", "Keywords": "Kl\u00ed\u010dov\u00e1 slova", "Encoding": "K\u00f3dov\u00e1n\u00ed", "Description": "Popis", "Author": "Autor", "Fullscreen": "Na celou obrazovku", "Horizontal line": "Vodorovn\u00e1 \u010d\u00e1ra", "Horizontal space": "Horizont\u00e1ln\u00ed mezera", "Insert\/edit image": "Vlo\u017eit \/ upravit obr\u00e1zek", "General": "Obecn\u00e9", "Advanced": "Pokro\u010dil\u00e9", "Source": "Url", "Border": "R\u00e1me\u010dek", "Constrain proportions": "Zachovat proporce", "Vertical space": "Vertik\u00e1ln\u00ed mezera", "Image description": "Popis obr\u00e1zku", "Style": "Styl", "Dimensions": "Rozm\u011bry", "Insert image": "Vlo\u017eit obr\u00e1zek", "Insert date\/time": "Vlo\u017eit datum \/ \u010das", "Remove link": "Odstranit odkaz", "Url": "Odkaz", "Text to display": "Text k zobrazen\u00ed", "Anchors": "Kotvy", "Insert link": "Vlo\u017eit odkaz", "New window": "Nov\u00e9 okno", "None": "\u017d\u00e1dn\u00e9", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Zadan\u00e9 URL vypad\u00e1 jako odkaz na jin\u00fd web. Chcete doplnit povinn\u00fd prefix http:\/\/?", "Target": "C\u00edl", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Zadan\u00e9 URL vypad\u00e1 jako e-mailov\u00e1 adresa. Chcete doplnit povinn\u00fd prefix mailto:?", "Insert\/edit link": "Vlo\u017eit \/ upravit odkaz", "Insert\/edit video": "Vlo\u017eit \/ upravit video", "Poster": "N\u00e1hled", "Alternative source": "Alternativn\u00ed zdroj", "Paste your embed code below:": "Vlo\u017ete k\u00f3d pro vlo\u017een\u00ed n\u00ed\u017ee:", "Insert video": "Vlo\u017eit video", "Embed": "Vlo\u017eit", "Nonbreaking space": "Pevn\u00e1 mezera", "Page break": "Konec str\u00e1nky", "Paste as text": "Vlo\u017eit jako \u010dist\u00fd text", "Preview": "N\u00e1hled", "Print": "Tisk", "Save": "Ulo\u017eit", "Could not find the specified string.": "Zadan\u00fd \u0159et\u011bzec nebyl nalezen.", "Replace": "Nahradit", "Next": "Dal\u0161\u00ed", "Whole words": "Pouze cel\u00e1 slova", "Find and replace": "Naj\u00edt a nahradit", "Replace with": "Nahradit za", "Find": "Naj\u00edt", "Replace all": "Nahradit v\u0161e", "Match case": "Rozli\u0161ovat mal\u00e1 a velk\u00e1 p\u00edsmena", "Prev": "P\u0159edchoz\u00ed", "Spellcheck": "Kontrola pravopisu", "Finish": "Ukon\u010dit", "Ignore all": "Ignorovat v\u0161e", "Ignore": "Ignorovat", "Add to Dictionary": "P\u0159idat do slovn\u00edku", "Insert row before": "Vlo\u017eit \u0159\u00e1dek nad", "Rows": "\u0158\u00e1dek", "Height": "V\u00fd\u0161ka", "Paste row after": "Vlo\u017eit \u0159\u00e1dek pod", "Alignment": "Zarovn\u00e1n\u00ed", "Column group": "Skupina sloupc\u016f", "Row": "\u0158\u00e1dek", "Insert column before": "Vlo\u017eit sloupec vlevo", "Split cell": "Rozd\u011blit bu\u0148ky", "Cell padding": "Vnit\u0159n\u00ed okraj bun\u011bk", "Cell spacing": "Vn\u011bj\u0161\u00ed okraj bun\u011bk", "Row type": "Typ \u0159\u00e1dku", "Insert table": "Vlo\u017eit tabulku", "Body": "T\u011blo", "Caption": "Nadpis", "Footer": "Pati\u010dka", "Delete row": "Smazat \u0159\u00e1dek", "Paste row before": "Vlo\u017eit \u0159\u00e1dek nad", "Scope": "Rozsah", "Delete table": "Smazat tabulku", "H Align": "Horizont\u00e1ln\u00ed zarovn\u00e1n\u00ed", "Top": "Nahoru", "Header cell": "Hlavi\u010dkov\u00e1 bu\u0148ka", "Column": "Sloupec", "Row group": "Skupina \u0159\u00e1dk\u016f", "Cell": "Bu\u0148ka", "Middle": "Uprost\u0159ed", "Cell type": "Typ bu\u0148ky", "Copy row": "Kop\u00edrovat \u0159\u00e1dek", "Row properties": "Vlastnosti \u0159\u00e1dku", "Table properties": "Vlastnosti tabulky", "Bottom": "Dol\u016f", "V Align": "Vertik\u00e1ln\u00ed zarovn\u00e1n\u00ed", "Header": "Hlavi\u010dka", "Right": "Vpravo", "Insert column after": "Vlo\u017eit sloupec vpravo", "Cols": "Sloupc\u016f", "Insert row after": "Vlo\u017eit \u0159\u00e1dek pod", "Width": "\u0160\u00ed\u0159ka", "Cell properties": "Vlastnosti bu\u0148ky", "Left": "Vlevo", "Cut row": "Vyjmout \u0159\u00e1dek", "Delete column": "Smazat sloupec", "Center": "Na st\u0159ed", "Merge cells": "Slou\u010dit bu\u0148ky", "Insert template": "Vlo\u017eit \u0161ablonu", "Templates": "\u0160ablony", "Background color": "Barva pozad\u00ed", "Custom...": "Vlastn\u00ed...", "Custom color": "Vlastn\u00ed barva", "No color": "Bez barvy", "Text color": "Barva p\u00edsma", "Show blocks": "Uk\u00e1zat bloky", "Show invisible characters": "Zobrazit speci\u00e1ln\u00ed znaky", "Words: {0}": "Po\u010det slov: {0}", "Insert": "Vlo\u017eit", "File": "Soubor", "Edit": "\u00dapravy", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Editor. Stiskn\u011bte ALT-F9 pro menu, ALT-F10 pro n\u00e1strojovou li\u0161tu a ALT-0 pro n\u00e1pov\u011bdu.", "Tools": "N\u00e1stroje", "View": "Zobrazit", "Table": "Tabulka", "Format": "Form\u00e1t" });langs/lb.js000060400000015331152455403670006615 0ustar00tinymce.addI18n('lb',{ "Cut": "Ausschneiden", "Header 2": "Titel 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "D\u00e4i Web-Browser \u00ebnnerst\u00ebtzt keen direkten Acc\u00e8s op d'Zw\u00ebschenaplag. Benotz w.e.gl. CTRL+C fir den ausgewielten Text ze kop\u00e9ieren an CTRL+V fir en anzepechen.", "Div": "DIV", "Paste": "Apechen", "Close": "Zoumaachen", "Font Family": "Schr\u00ebft-Famill", "Pre": "PRE", "Align right": "Riets align\u00e9iert", "New document": "Neit Dokument", "Blockquote": "Zitat", "Numbered list": "Nummer\u00e9iert L\u00ebscht", "Increase indent": "Ident\u00e9ierung vergr\u00e9isseren", "Formats": "Formater", "Headers": "Titelen", "Select all": "Alles auswielen", "Header 3": "Titel 3", "Blocks": "Bl\u00e9ck", "Undo": "R\u00e9ckg\u00e4ngeg maachen", "Strikethrough": "Duerchgestrach", "Bullet list": "Opzielung", "Header 1": "Titel 1", "Superscript": "H\u00e9ichgestallt", "Clear formatting": "Format\u00e9ierung l\u00e4schen", "Font Sizes": "Schr\u00ebft-Gr\u00e9issten", "Subscript": "Erofgestallt", "Header 6": "Titel 6", "Redo": "Widderhuelen", "Paragraph": "Paragraph", "Ok": "Okee", "Bold": "Fett", "Code": "CODE", "Italic": "Kursiv", "Align center": "Zentr\u00e9iert", "Header 5": "Titel 5", "Decrease indent": "Ident\u00e9ierung verklengeren", "Header 4": "Titel 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\"Apechen\" ass elo am Textmodus. Inhalter ginn elo ouni Format\u00e9ierungen agepecht bis du d\u00ebs Optioun ausm\u00e9chs.", "Underline": "\u00cbnnerstrach", "Cancel": "Ofbriechen", "Justify": "Blocksaz", "Inline": "Inline", "Copy": "Kop\u00e9ieren", "Align left": "L\u00e9nks align\u00e9iert", "Visual aids": "Visuell H\u00ebllefen", "Lower Greek": "Klengt griichescht Alphabet", "Square": "Quadrat", "Default": "Standard", "Lower Alpha": "Klengt Alphabet", "Circle": "Krees", "Disc": "Scheif", "Upper Alpha": "Grousst Alphabet", "Upper Roman": "Grousst r\u00e9imescht Alphabet", "Lower Roman": "Klengt r\u00e9imescht Alphabet", "Name": "Numm", "Anchor": "Anker", "You have unsaved changes are you sure you want to navigate away?": "Du hues ongesp\u00e4ichert \u00c4nnerungen. W\u00eblls du s\u00e9cher ewechnavig\u00e9ieren?", "Restore last draft": "Leschten Entworf er\u00ebm zr\u00e9cksetzen", "Special character": "Speziell Zeechen", "Source code": "Quelltext", "Right to left": "Vu riets no l\u00e9nks", "Left to right": "Vu l\u00e9nks no riets", "Emoticons": "Smileyen", "Robots": "Robotter", "Document properties": "Eegeschafte vum Dokument", "Title": "Titel", "Keywords": "Schl\u00ebsselwierder", "Encoding": "Cod\u00e9ierung", "Description": "Beschreiwung", "Author": "Auteur", "Fullscreen": "Vollbildschierm", "Horizontal line": "Horizontal Linn", "Horizontal space": "Horizontalen Espace", "Insert\/edit image": "Bild af\u00fcgen\/\u00e4nneren", "General": "Allgemeng", "Advanced": "Erweidert", "Source": "Quell", "Border": "Rand", "Constrain proportions": "Proportioune b\u00e4ibehalen", "Vertical space": "Vertikalen Espace", "Image description": "Bildbeschreiwung", "Style": "Stil", "Dimensions": "Dimensiounen", "Insert image": "Bild af\u00fcgen", "Insert date\/time": "Datum\/Z\u00e4it drasetzen", "Remove link": "Link l\u00e4schen", "Url": "URL", "Text to display": "Text deen unzeweisen ass", "Anchors": "Ankeren", "Insert link": "Link drasetzen", "New window": "Nei F\u00ebnster", "None": "Keen", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "D'URL d\u00e9i s du aginn hues sch\u00e9ngt en externe Link ze sinn. W\u00eblls du den \"http:\/\/\"-Pr\u00e4fix dob\u00e4isetzen?", "Target": "Zil", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "D'URL d\u00e9i s du aginn hues sch\u00e9ngt eng Email-Adress ze sinn. W\u00eblls du de \"mailto:\"-Pr\u00e4fix dob\u00e4isetzen?", "Insert\/edit link": "Link drasetzen\/\u00e4nneren", "Insert\/edit video": "Video drasetzen\/\u00e4nneren", "Poster": "Pouster", "Alternative source": "Alternativ Quell", "Paste your embed code below:": "Abannungscode hei apechen:", "Insert video": "Video drasetzen", "Embed": "Abannen", "Nonbreaking space": "Net\u00ebmbriechenden Espace", "Page break": "S\u00e4iten\u00ebmbroch", "Paste as text": "Als Text apechen", "Preview": "Kucken", "Print": "Dr\u00e9cken", "Save": "Sp\u00e4icheren", "Could not find the specified string.": "Den Text konnt net fonnt ginn.", "Replace": "Ersetzen", "Next": "Weider", "Whole words": "Ganz Wierder", "Find and replace": "Fannen an ersetzen", "Replace with": "Ersetze mat", "Find": "Fannen", "Replace all": "All ersetzen", "Match case": "Grouss-\/Klengschreiwung respekt\u00e9ieren", "Prev": "Zr\u00e9ck", "Spellcheck": "Verbesseren", "Finish": "Ofschl\u00e9issen", "Ignore all": "All ignor\u00e9ieren", "Ignore": "Ignor\u00e9ieren", "Insert row before": "Rei virdrun drasetzen", "Rows": "Reien", "Height": "H\u00e9icht", "Paste row after": "Rei herno apechen", "Alignment": "Align\u00e9ierung", "Column group": "Kolonnegrupp", "Row": "Rei", "Insert column before": "Kolonn virdrun drasetzen", "Split cell": "Zell opspl\u00e9cken", "Cell padding": "Zellenopf\u00ebllung", "Cell spacing": "Zellenofstand", "Row type": "Reientyp", "Insert table": "Tabell drasetzen", "Body": "Kierper", "Caption": "Beschr\u00ebftung", "Footer": "Fouss", "Delete row": "Rei l\u00e4schen", "Paste row before": "Rei virdrun apechen", "Scope": "Ber\u00e4ich", "Delete table": "Tabell l\u00e4schen", "Header cell": "Kappzell", "Column": "Kolonn", "Cell": "Zell", "Header": "Kapp", "Cell type": "Zellentyp", "Copy row": "Rei kop\u00e9ieren", "Row properties": "Eegeschafte vu Reien", "Table properties": "Eegeschafte vun Tabellen", "Row group": "Reiegrupp", "Right": "Riets", "Insert column after": "Kolonn herno drasetzen", "Cols": "Kolonnen", "Insert row after": "Rei herno drasetzen", "Width": "Breet", "Cell properties": "Eegeschafte vun Zellen", "Left": "L\u00e9nks", "Cut row": "Rei ausschneiden", "Delete column": "Kolonn l\u00e4schen", "Center": "M\u00ebtt", "Merge cells": "Zelle fusion\u00e9ieren", "Insert template": "Virlag drasetzen", "Templates": "Virlagen", "Background color": "Hanndergrondfaarf", "Text color": "Textfaarf", "Show blocks": "Bl\u00e9ck weisen", "Show invisible characters": "Onsiichtbar Zeeche weisen", "Words: {0}": "Wierder: {0}", "Insert": "Drasetzen", "File": "Fichier", "Edit": "\u00c4nneren", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Ber\u00e4ich fir format\u00e9ierten Text. Dr\u00e9ck ALT+F9 fir de Men\u00fc. Dr\u00e9ck ALT+F10 fir d'Geschirleescht. Dr\u00e9ck ALT+0 fir d'H\u00ebllef.", "Tools": "Geschir", "View": "Kucken", "Table": "Tabell", "Format": "Format" });langs/lt.js000060400000022514152455403670006640 0ustar00tinymce.addI18n('lt',{ "Redo": "Gr\u0105\u017einti", "Undo": "Atstatyti", "Cut": "I\u0161kirpti", "Copy": "Kopijuoti", "Paste": "\u012ed\u0117ti", "Select all": "Pa\u017eym\u0117ti visk\u0105", "New document": "Naujas dokumentas", "Ok": "Gerai", "Cancel": "Atsisakyti", "Visual aids": "Vaizdin\u0117s priemon\u0117s", "Bold": "Pary\u0161kintas", "Italic": "Kursyvinis", "Underline": "Pabrauktas", "Strikethrough": "Perbrauktas", "Superscript": "Vir\u0161utinis indeksas", "Subscript": "Apatinis indeksas", "Clear formatting": "Naikinti formatavim\u0105", "Align left": "Lygiuoti kair\u0117je", "Align center": "Centruoti", "Align right": "Lygiuoti de\u0161in\u0117je", "Justify": "I\u0161d\u0117styti per vis\u0105 plot\u012f", "Bullet list": "\u017denklinimo s\u0105ra\u0161as", "Numbered list": "Skaitmeninis s\u0105ra\u0161as", "Decrease indent": "Ma\u017einti \u012ftrauk\u0105", "Increase indent": "Didinti \u012ftrauk\u0105", "Close": "U\u017edaryti", "Formats": "Formatai", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Nar\u0161ykl\u0117s nustatymai neleid\u017eia redaktoriui tiesiogiai pasiekti laikinosios atminties. Pra\u0161ome naudoti klaviat\u016bros klavi\u0161us Ctrl+X\/C\/V.", "Headers": "Antra\u0161t\u0117s", "Header 1": "Antra\u0161t\u0117 1", "Header 2": "Antra\u0161t\u0117 2", "Header 3": "Antra\u0161t\u0117 3", "Header 4": "Antra\u0161t\u0117 4", "Header 5": "Antra\u0161t\u0117 5", "Header 6": "Antra\u0161t\u0117 6", "Headings": "Antra\u0161t\u0117s", "Heading 1": "Antra\u0161t\u0117 1", "Heading 2": "Antra\u0161t\u0117 2", "Heading 3": "Antra\u0161t\u0117 3", "Heading 4": "Antra\u0161t\u0117 4", "Heading 5": "Antra\u0161t\u0117 5", "Heading 6": "Antra\u0161t\u0117 6", "Div": "Div", "Pre": "Pre", "Code": "Kodas", "Paragraph": "Paragrafas", "Blockquote": "Citata", "Inline": "Inline", "Blocks": "Blokai", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Dabar \u012fterpiama paprastojo teksto re\u017eimu. Kol \u0161i parinktis \u012fjungta, turinys bus \u012fterptas kaip paprastas tekstas.", "Font Family": "\u0160riftas", "Font Sizes": "\u0160rifto dyd\u017eiai", "Default": "Pagrindinis", "Circle": "Apskritimas", "Disc": "Diskas", "Square": "Kvadratas", "Lower Alpha": "Ma\u017eosios raid\u0117s", "Lower Greek": "Ma\u017eosios graik\u0173", "Lower Roman": "Ma\u017eosios rom\u0117n\u0173", "Upper Alpha": "Did\u017eiosios raid\u0117s", "Upper Roman": "Did\u017eiosios rom\u0117n\u0173", "Anchor": "\u017dym\u0117", "Name": "Pavadinimas", "Id": "ID", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "ID turi prasid\u0117ti raide, po kurios gali b\u016bti raid\u0117s, skai\u010diai, br\u016bk\u0161niai, ta\u0161kai, kabliata\u0161kiai ar apatiniai pabraukimai.", "You have unsaved changes are you sure you want to navigate away?": "Turite nei\u0161saugot\u0173 pakeitim\u0173! Ar tikrai norite i\u0161eiti?", "Restore last draft": "Atstatyti paskutin\u012f projekt\u0105", "Special character": "Specialus simbolis", "Source code": "Pirminis \u0161altinis", "Insert\/Edit code sample": "Prid\u0117ti \/ keisti kodo pavyzd\u012f", "Language": "Kalba", "Color": "Spalva", "R": "R", "G": "G", "B": "B", "Left to right": "I\u0161 kair\u0117s \u012f de\u0161in\u0119", "Right to left": "I\u0161 de\u0161in\u0117s \u012f kair\u0119", "Emoticons": "Jaustukai", "Document properties": "Dokumento savyb\u0117s", "Title": "Pavadinimas", "Keywords": "\u017dymos", "Description": "Apra\u0161as", "Robots": "Robotai", "Author": "Autorius", "Encoding": "Kodavimas", "Fullscreen": "Visas ekranas", "Horizontal line": "Horizontali linija", "Insert\/edit image": "\u012eterpti|Tvarkyti paveiksl\u0117l\u012f", "Image description": "Paveiksl\u0117lio apra\u0161as", "Source": "Pirmin\u0117 nuoroda", "Dimensions": "Matmenys", "Constrain proportions": "Laikytis proporcij\u0173", "General": "Bendra", "Advanced": "I\u0161pl\u0117stas", "Style": "Stilius", "Vertical space": "Vertikalus tarpas", "Horizontal space": "Horizontalus tarpas", "Border": "R\u0117melis", "Insert image": "\u012eterpti paveiksl\u0117l\u012f", "Image": "Paveiksl\u0117lis", "Rotate counterclockwise": "Pasukti prie\u0161 laikrod\u017eio rodykl\u0119", "Rotate clockwise": "Pasukti pagal laikrod\u017eio rodykl\u0119", "Flip vertically": "Apversti vertikaliai", "Flip horizontally": "Apversti horizontaliai", "Edit image": "Redaguoti paveiksl\u0117l\u012f", "Image options": "Paveiksl\u0117lio nustatymai", "Zoom in": "Priartinti", "Zoom out": "Atitolinti", "Crop": "Atkarpyti", "Resize": "Keisti dyd\u012f", "Orientation": "Pasukimas", "Brightness": "\u0160viesumas", "Sharpen": "Ry\u0161kumas", "Contrast": "Kontrastas", "Color levels": "Spalv\u0173 lygiai", "Gamma": "Gama", "Invert": "Prie\u0161ingos spalvos", "Apply": "Taikyti", "Back": "Atgal", "Insert date\/time": "\u012eterpti dat\u0105\/laik\u0105", "Date\/time": "Data \/ laikas", "Insert link": "\u012eterpti nuorod\u0105", "Insert\/edit link": "\u012eterpti\/taisyti nuorod\u0105", "Text to display": "Rodomas tekstas", "Url": "Nuoroda", "Target": "Tikslin\u0117 nuoroda", "None": "Nieko", "New window": "Naujas langas", "Remove link": "\u0160alinti nuorod\u0105", "Anchors": "\u017dym\u0117", "Link": "Nuoroda", "Paste or type a link": "\u012eklijuokite arba \u012fra\u0161ykite nuorod\u0105", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Atrodo, kad \u012fvesta nuoroda yra elektroninio pa\u0161to adresas. Ar norite prie\u0161 j\u012f \u012fvesti reikalaujam\u0105 \u201emailto:\u201c?", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Atrodo, kad \u012fved\u0117te nuotolin\u0119 nuorod\u0105. Ar norite prie\u0161 j\u0105 \u012fvesti reikalaujam\u0105 \u201ehttp:\/\/\u201c?", "Insert video": "\u012eterpti video", "Insert\/edit video": "\u012eterpti\/tvarkyti video", "Insert\/edit media": "Prid\u0117ti \/ keisti medij\u0105", "Alternative source": "Alternatyvus \u0161altinis", "Poster": "Plakatas", "Paste your embed code below:": "\u012eterpkite kod\u0105 \u017eemiau:", "Embed": "\u012eterpti", "Media": "Medija", "Nonbreaking space": "Nepertraukiamos vietos", "Page break": "Puslapio skirtukas", "Paste as text": "\u012eklijuoti kaip tekst\u0105", "Preview": "Per\u017ei\u016bra", "Print": "Spausdinti", "Save": "I\u0161saugoti", "Find": "Ie\u0161koti", "Replace with": "Kuo pakeisti", "Replace": "Pakeisti", "Replace all": "Pakeisti visk\u0105", "Prev": "Ankstesnis", "Next": "Sekantis", "Find and replace": "Surasti ir pakeisti", "Could not find the specified string.": "Nepavyko rasti nurodytos eilut\u0117s.", "Match case": "Atitinkamus", "Whole words": "Visus \u017eod\u017eius", "Spellcheck": "Ra\u0161ybos tikrinimas", "Ignore": "Ignoruoti", "Ignore all": "Ignoruoti visk\u0105", "Finish": "Baigti", "Add to Dictionary": "Prid\u0117ti \u012f \u017dodyn\u0105", "Insert table": "\u012eterpti lentel\u0119", "Table properties": "Lentel\u0117s savyb\u0117s", "Delete table": "\u0160alinti lentel\u0119", "Cell": "Langeliai", "Row": "Eilut\u0117s", "Column": "Stulpelis", "Cell properties": "Langelio savyb\u0117s", "Merge cells": "Sujungti langelius", "Split cell": "Skaidyti langelius", "Insert row before": "\u012eterpti eilut\u0119 prie\u0161", "Insert row after": "\u012eterpti eilut\u0119 po", "Delete row": "Naikinti eilut\u0119", "Row properties": "Eilut\u0117s savyb\u0117s", "Cut row": "I\u0161kirpti eilut\u0119", "Copy row": "Kopijuoti eilut\u0119", "Paste row before": "\u012ed\u0117ti eilut\u0119 prie\u0161", "Paste row after": "\u012ed\u0117ti eilut\u0119 po", "Insert column before": "\u012eterpti stulpel\u012f prie\u0161", "Insert column after": "\u012eterpti stulpel\u012f po", "Delete column": "Naikinti stulpel\u012f", "Cols": "Stulpeliai", "Rows": "Eilut\u0117s", "Width": "Plotis", "Height": "Auk\u0161tis", "Cell spacing": "Tarpas tarp langeli\u0173", "Cell padding": "Tarpas nuo langelio iki teksto", "Caption": "Antra\u0161t\u0117", "Left": "Kair\u0117", "Center": "Centras", "Right": "De\u0161in\u0117", "Cell type": "Langelio tipas", "Scope": "Strukt\u016bra", "Alignment": "Lygiavimas", "H Align": "H Lygiavimas", "V Align": "V Lygiavimas", "Top": "Vir\u0161uje", "Middle": "Viduryje", "Bottom": "Apa\u010dioje", "Header cell": "Antra\u0161t\u0117s langelis", "Row group": "Eilu\u010di\u0173 grup\u0117", "Column group": "Stulpeli\u0173 grup\u0117", "Row type": "Eilu\u010di\u0173 tipas", "Header": "Antra\u0161t\u0117", "Body": "Turinys", "Footer": "Apa\u010dia", "Border color": "R\u0117melio spalva", "Insert template": "\u012eterpti \u0161ablon\u0105", "Templates": "\u0160ablonai", "Text color": "Teksto spalva", "Background color": "Fono spalva", "Custom...": "Pasirinktinas...", "Custom color": "Pasirinktina spalva", "No color": "Jokios spalvos", "Table of Contents": "Turinys", "Show blocks": "Rodyti blokus", "Show invisible characters": "Rodyti nematomus simbolius", "Words: {0}": "\u017dod\u017eiai: {0}", "File": "Failas", "Edit": "Redaguoti", "Insert": "\u012eterpti", "View": "Per\u017ei\u016bra", "Format": "Formatas", "Table": "Lentel\u0117", "Tools": "\u012erankiai", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Suformatuoto teksto laukas. D\u0117l meniu spauskite ALT-F9. U\u017eduo\u010di\u0173 juostos \u012fjungimui spauskite ALT-F10. Pagalbai - spauskite ALT-0." });langs/de.js000060400000021260152455403670006606 0ustar00tinymce.addI18n('de',{ "Cut": "Ausschneiden", "Heading 5": "\u00dcberschrift 5", "Header 2": "\u00dcberschrift 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Ihr Browser unterst\u00fctzt leider keinen direkten Zugriff auf die Zwischenablage. Bitte benutzen Sie die Strg + X \/ C \/ V Tastenkombinationen.", "Heading 4": "\u00dcberschrift 4", "Div": "Textblock", "Heading 2": "\u00dcberschrift 2", "Paste": "Einf\u00fcgen", "Close": "Schlie\u00dfen", "Font Family": "Schriftart", "Pre": "Vorformatierter Text", "Align right": "Rechtsb\u00fcndig ausrichten", "New document": "Neues Dokument", "Blockquote": "Zitat", "Numbered list": "Nummerierte Liste", "Heading 1": "\u00dcberschrift 1", "Headings": "\u00dcberschriften", "Increase indent": "Einzug vergr\u00f6\u00dfern", "Formats": "Formate", "Headers": "\u00dcberschriften", "Select all": "Alles ausw\u00e4hlen", "Header 3": "\u00dcberschrift 3", "Blocks": "Absatzformate", "Undo": "R\u00fcckg\u00e4ngig", "Strikethrough": "Durchgestrichen", "Bullet list": "Aufz\u00e4hlung", "Header 1": "\u00dcberschrift 1", "Superscript": "Hochgestellt", "Clear formatting": "Formatierung entfernen", "Font Sizes": "Schriftgr\u00f6\u00dfe", "Subscript": "Tiefgestellt", "Header 6": "\u00dcberschrift 6", "Redo": "Wiederholen", "Paragraph": "Absatz", "Ok": "Ok", "Bold": "Fett", "Code": "Quelltext", "Italic": "Kursiv", "Align center": "Zentriert ausrichten", "Header 5": "\u00dcberschrift 5", "Heading 6": "\u00dcberschrift 6", "Heading 3": "\u00dcberschrift 3", "Decrease indent": "Einzug verkleinern", "Header 4": "\u00dcberschrift 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Einf\u00fcgen ist nun im einfachen Textmodus. Inhalte werden ab jetzt als unformatierter Text eingef\u00fcgt, bis Sie diese Einstellung wieder ausschalten!", "Underline": "Unterstrichen", "Cancel": "Abbrechen", "Justify": "Blocksatz", "Inline": "Zeichenformate", "Copy": "Kopieren", "Align left": "Linksb\u00fcndig ausrichten", "Visual aids": "Visuelle Hilfen", "Lower Greek": "Griechische Kleinbuchstaben", "Square": "Quadrat", "Default": "Standard", "Lower Alpha": "Kleinbuchstaben", "Circle": "Kreis", "Disc": "Punkt", "Upper Alpha": "Gro\u00dfbuchstaben", "Upper Roman": "R\u00f6mische Zahlen (Gro\u00dfbuchstaben)", "Lower Roman": "R\u00f6mische Zahlen (Kleinbuchstaben)", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Die Kennung sollte mit einem Buchstaben anfangen. Nachfolgend nur Buchstaben, Zahlen, Striche (Minus), Punkte, Kommas und Unterstriche.", "Name": "Name", "Anchor": "Textmarke", "Id": "Kennung", "You have unsaved changes are you sure you want to navigate away?": "Die \u00c4nderungen wurden noch nicht gespeichert, sind Sie sicher, dass Sie diese Seite verlassen wollen?", "Restore last draft": "Letzten Entwurf wiederherstellen", "Special character": "Sonderzeichen", "Source code": "Quelltext", "Language": "Sprache", "Insert\/Edit code sample": "Codebeispiel einf\u00fcgen\/bearbeiten", "B": "B", "R": "R", "G": "G", "Color": "Farbe", "Right to left": "Von rechts nach links", "Left to right": "Von links nach rechts", "Emoticons": "Emoticons", "Robots": "Robots", "Document properties": "Dokumenteigenschaften", "Title": "Titel", "Keywords": "Sch\u00fcsselw\u00f6rter", "Encoding": "Zeichenkodierung", "Description": "Beschreibung", "Author": "Verfasser", "Fullscreen": "Vollbild", "Horizontal line": "Horizontale Linie", "Horizontal space": "Horizontaler Abstand", "Insert\/edit image": "Bild einf\u00fcgen\/bearbeiten", "General": "Allgemein", "Advanced": "Erweitert", "Source": "Quelle", "Border": "Rahmen", "Constrain proportions": "Seitenverh\u00e4ltnis beibehalten", "Vertical space": "Vertikaler Abstand", "Image description": "Bildbeschreibung", "Style": "Stil", "Dimensions": "Abmessungen", "Insert image": "Bild einf\u00fcgen", "Image": "Bild", "Zoom in": "Ansicht vergr\u00f6\u00dfern", "Contrast": "Kontrast", "Back": "Zur\u00fcck", "Gamma": "Gamma", "Flip horizontally": "Horizontal spiegeln", "Resize": "Skalieren", "Sharpen": "Sch\u00e4rfen", "Zoom out": "Ansicht verkleinern", "Image options": "Bildeigenschaften", "Apply": "Anwenden", "Brightness": "Helligkeit", "Rotate clockwise": "Im Uhrzeigersinn drehen", "Rotate counterclockwise": "Gegen den Uhrzeigersinn drehen", "Edit image": "Bild bearbeiten", "Color levels": "Farbwerte", "Crop": "Bescheiden", "Orientation": "Ausrichtung", "Flip vertically": "Vertikal spiegeln", "Invert": "Invertieren", "Date\/time": "Datum\/Uhrzeit", "Insert date\/time": "Datum\/Uhrzeit einf\u00fcgen ", "Remove link": "Link entfernen", "Url": "URL", "Text to display": "Anzuzeigender Text", "Anchors": "Textmarken", "Insert link": "Link einf\u00fcgen", "Link": "Link", "New window": "Neues Fenster", "None": "Keine", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Diese Adresse scheint ein externer Link zu sein. M\u00f6chten Sie das dazu ben\u00f6tigte \"http:\/\/\" voranstellen?", "Paste or type a link": "Link einf\u00fcgen oder eintippen", "Target": "Ziel", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Diese Adresse scheint eine E-Mail-Adresse zu sein. M\u00f6chten Sie das dazu ben\u00f6tigte \"mailto:\" voranstellen?", "Insert\/edit link": "Link einf\u00fcgen\/bearbeiten", "Insert\/edit video": "Video einf\u00fcgen\/bearbeiten", "Media": "Medium", "Alternative source": "Alternative Quelle", "Paste your embed code below:": "F\u00fcgen Sie Ihren Einbettungscode hier ein:", "Insert video": "Video einf\u00fcgen", "Poster": "Poster", "Insert\/edit media": "Medien einf\u00fcgen\/bearbeiten", "Embed": "Einbetten", "Nonbreaking space": "Gesch\u00fctztes Leerzeichen", "Page break": "Seitenumbruch", "Paste as text": "Als Text einf\u00fcgen", "Preview": "Vorschau", "Print": "Drucken", "Save": "Speichern", "Could not find the specified string.": "Die Zeichenfolge wurde nicht gefunden.", "Replace": "Ersetzen", "Next": "Weiter", "Whole words": "Nur ganze W\u00f6rter", "Find and replace": "Suchen und ersetzen", "Replace with": "Ersetzen durch", "Find": "Suchen", "Replace all": "Alles ersetzen", "Match case": "Gro\u00df-\/Kleinschreibung beachten", "Prev": "Zur\u00fcck", "Spellcheck": "Rechtschreibpr\u00fcfung", "Finish": "Ende", "Ignore all": "Alles Ignorieren", "Ignore": "Ignorieren", "Add to Dictionary": "Zum W\u00f6rterbuch hinzuf\u00fcgen", "Insert row before": "Neue Zeile davor einf\u00fcgen ", "Rows": "Zeilen", "Height": "H\u00f6he", "Paste row after": "Zeile danach einf\u00fcgen", "Alignment": "Ausrichtung", "Border color": "Rahmenfarbe", "Column group": "Spaltengruppe", "Row": "Zeile", "Insert column before": "Neue Spalte davor einf\u00fcgen", "Split cell": "Zelle aufteilen", "Cell padding": "Zelleninnenabstand", "Cell spacing": "Zellenabstand", "Row type": "Zeilentyp", "Insert table": "Tabelle einf\u00fcgen", "Body": "Inhalt", "Caption": "Beschriftung", "Footer": "Fu\u00dfzeile", "Delete row": "Zeile l\u00f6schen", "Paste row before": "Zeile davor einf\u00fcgen", "Scope": "G\u00fcltigkeitsbereich", "Delete table": "Tabelle l\u00f6schen", "H Align": "Horizontale Ausrichtung", "Top": "Oben", "Header cell": "Kopfzelle", "Column": "Spalte", "Row group": "Zeilengruppe", "Cell": "Zelle", "Middle": "Mitte", "Cell type": "Zellentyp", "Copy row": "Zeile kopieren", "Row properties": "Zeileneigenschaften", "Table properties": "Tabelleneigenschaften", "Bottom": "Unten", "V Align": "Vertikale Ausrichtung", "Header": "Kopfzeile", "Right": "Rechtsb\u00fcndig", "Insert column after": "Neue Spalte danach einf\u00fcgen", "Cols": "Spalten", "Insert row after": "Neue Zeile danach einf\u00fcgen", "Width": "Breite", "Cell properties": "Zelleneigenschaften", "Left": "Linksb\u00fcndig", "Cut row": "Zeile ausschneiden", "Delete column": "Spalte l\u00f6schen", "Center": "Zentriert", "Merge cells": "Zellen verbinden", "Insert template": "Vorlage einf\u00fcgen ", "Templates": "Vorlagen", "Background color": "Hintergrundfarbe", "Custom...": "Benutzerdefiniert...", "Custom color": "Benutzerdefinierte Farbe", "No color": "Keine Farbe", "Text color": "Textfarbe", "Table of Contents": "Inhaltsverzeichnis", "Show blocks": "Bl\u00f6cke anzeigen", "Show invisible characters": "Unsichtbare Zeichen anzeigen", "Words: {0}": "W\u00f6rter: {0}", "Insert": "Einf\u00fcgen", "File": "Datei", "Edit": "Bearbeiten", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich-Text- Area. Dr\u00fccken Sie ALT-F9 f\u00fcr das Men\u00fc. Dr\u00fccken Sie ALT-F10 f\u00fcr Symbolleiste. Dr\u00fccken Sie ALT-0 f\u00fcr Hilfe", "Tools": "Werkzeuge", "View": "Ansicht", "Table": "Tabelle", "Format": "Format" }); langs/sy.js000060400000033630152455403670006655 0ustar00tinymce.addI18n('sy',{ "Cut": "\u0729\u0718\u0728", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0721\u0713\u0712\u0717 Ctrl+X\/C\/V \u0712\u072a\u0718\u0723\u072a \u0715\u071d\u0718\u071f\u0742 \u0720\u0710 \u071d\u0720\u0717 \u0721\u072c\u0725\u0715\u072a\u0722\u0710 \u071a\u0715\u072a\u072b\u0710 \u0720\u0725\u0712\u0742\u072a\u0710 \u0720\u071b\u0712\u0742\u0720\u071d\u072c \u0729\u071d\u0728\u072c\u0710. \u0710\u0722 \u0712\u0723\u0721\u0710 \u0720\u0718\u071f\u0742 \u0721\u0726\u0720\u071a \u0713\u0715\u071d\u0721\u0718\u072c \u0729\u0726\u0720\u0710", "Paste": "\u0715\u0712\u072b", "Close": "\u0715\u0712\u0742\u0718\u072a", "Align right": "\u0721\u0723\u0715\u072a\u072c\u0710 \u0720\u071d\u0721\u071d\u0722\u0710", "New document": "\u0722\u0718\u0717\u072a\u0710 \u071a\u0715\u072c\u0710", "Numbered list": "\u0729\u071d\u0721\u072c\u0710 \u0721\u072a\u0718\u0729\u0721\u072c\u0710", "Increase indent": "\u0721\u0719\u071d\u0715 \u0723\u0726\u071d\u0729\u0718\u072c\u0710 \u0715\u072b\u0718\u072a\u071d\u0710 \u0715\u0723\u072a\u071b\u0710", "Formats": "\u0710\u0723\u071f\u071d\u0721\u0308\u0710", "Select all": "\u0726\u072a\u0718\u072b \u0720\u071f\u0720", "Undo": "\u0720\u0710 \u0725\u0712\u0742\u0718\u0715", "Strikethrough": "\u0723\u072a\u071b\u0710 \u0721\u0713\u0718", "Bullet list": "\u0729\u071d\u0721\u072c\u0710 \u0715\u071f\u0726\u071d\u072c\u0308\u0710", "Superscript": "\u072a\u0712 \u0723\u072a\u071b\u0710", "Clear formatting": "\u072b\u071d\u0718\u0726 \u0720\u0710\u0723\u071f\u071d\u0721\u0308\u0710", "Subscript": "\u0726\u0725\u0718\u072c \u0723\u072a\u071b\u0710", "Redo": "\u0721\u071b\u071d\u0712\u0742\u0710", "Ok": "\u071b\u0712\u0742\u0710", "Bold": "\u071a\u0720\u071d\u0721\u0710", "Italic": "\u0713\u0722\u071d\u0710", "Align center": "\u0721\u0723\u0715\u072a\u072c\u0710 \u0712\u0726\u0720\u0713\u0710", "Decrease indent": "\u0721\u0712\u0728\u072a \u0723\u0726\u071d\u0729\u0718\u072c \u0715\u072b\u0718\u072a\u071d\u0710 \u0715\u0723\u072a\u071b\u0710", "Underline": "\u072c\u071a\u0718\u072c \u0713\u0330\u072a\u0713\u0710", "Cancel": "\u0721\u0712\u071b\u0720", "Justify": "\u0721\u0719\u0715\u0715\u0729\u0722\u0718\u072c\u0710", "Copy": "\u0722\u0723\u0718\u071f\u073c", "Align left": "\u0721\u0723\u0715\u072a\u072c\u0710 \u0720\u0723\u0721\u0720\u0710", "Visual aids": "\u0725\u0718\u0715\u072a\u0308\u0722\u0710 \u0721\u072c\u071a\u0719\u071d\u0722\u0308\u0710", "Lower Greek": "\u071d\u0718\u0722\u0722\u071d\u0710 \u072c\u071a\u072c\u071d\u0710", "Square": "\u0721\u072a\u0712\u0725\u0710", "Default": "\u0726\u072a\u071d\u072b\u0710", "Lower Alpha": "\u0710\u0720\u0726\u0712\u071d\u072c \u072c\u071a\u072c\u071d\u0308\u0710", "Circle": "\u071a\u0718\u0715\u072a\u0710", "Disc": "\u0729\u0712\u0742\u0722\u0710", "Upper Alpha": "\u0710\u0720\u0726\u0712\u071d\u072c \u0725\u0720\u071d\u072c\u0710", "Upper Roman": "\u072a\u0718\u0721\u0722 \u0725\u0720\u071d\u072c\u0710", "Lower Roman": "\u072a\u0718\u0721\u0722 \u072c\u071a\u072c\u071d\u072c\u0710", "Name": "\u072b\u0721\u0710", "Anchor": "\u0721\u072a\u0723\u0710", "You have unsaved changes are you sure you want to navigate away?": "\u0720\u0710 \u071d\u0718\u072c \u071a\u0718\u0721\u071d\u0710 \u0720\u072b\u0718\u071a\u0720\u0726\u0308\u0710\u060c \u071d\u0718\u072c \u071a\u072c\u071d\u072c\u0710 \u0715\u0712\u0725\u072c \u0726\u0720\u071b\u072c\u061f", "Restore last draft": "\u071a\u0721\u071d \u0720\u0721\u0718\u071f\u0721\u072c\u0710 \u071a\u072a\u071d\u072c\u0710", "Special character": "\u0710\u072c\u0718\u072c\u0710 \u0715\u071d\u0720\u0722\u071d\u072c\u0710", "Source code": "\u071f\u0718\u0715\u0710 \u0715\u0721\u0712\u0718\u0725\u0710", "Right to left": "\u071d\u0721\u071d\u0722\u0710 \u0720\u0723\u0721\u0720\u0710", "Left to right": "\u0723\u0721\u0720\u0710 \u0720\u071d\u0721\u071d\u0722\u0710", "Emoticons": "\u072a\u0308\u0721\u0719\u0710 \u0722\u0712\u0742\u0717\u071d\u0308\u0710", "Robots": "\u072a\u0718\u0712\u0718\u072c\u0308\u0710", "Document properties": "\u0715\u071d\u0720\u071d\u072c\u0308\u0710 \u0715\u0710\u072b\u071b\u072a\u0308\u0710", "Title": "\u0721\u0718\u0722\u0725\u0710", "Keywords": "\u071a\u0712\u072a\u0308\u0710 \u0715\u0729\u0715\u071d\u0720\u0710", "Encoding": "\u0721\u072c\u072a\u0721\u0719\u0718\u072c\u0710", "Description": "\u0710\u072a\u071d\u071f\u0742\u0718\u072c\u0710", "Author": "\u0723\u071d\u0718\u0721\u0710", "Fullscreen": "\u072b\u072b\u072c\u0710 \u0721\u0720\u071d\u072c\u0710", "Horizontal line": "\u0723\u072a\u071b\u0710 \u0710\u0718\u0726\u0729\u071d\u0710", "Horizontal space": "\u0723\u0726\u071d\u0729\u0718\u072c\u0710 \u0710\u0718\u0726\u0729\u071d\u072c\u0710", "Insert\/edit image": "\u0721\u0725\u0712\u0742\u072a\/\u072b\u071a\u0720\u0726 \u0720\u0728\u0718\u072a\u072c\u0710", "General": "\u0713\u0718\u0722\u071d\u0710", "Advanced": "\u0721\u072b\u0718\u072b\u071b\u0710", "Source": "URL", "Border": "\u072c\u071a\u0718\u0721\u0308\u0710", "Constrain proportions": "\u0712\u071d\u072c\u071d\u0718\u072c\u0710 \u0715\u0721\u0729\u0718\u0715\u0722\u0718\u072c\u0710", "Vertical space": "\u0723\u0726\u071d\u0729\u0718\u072c\u0710 \u0725\u0721\u0718\u0715\u071d\u072c\u0710", "Image description": "\u0710\u072a\u071d\u071f\u0742\u0718\u072c\u0710 \u0715\u0728\u0718\u072a\u072c\u0710", "Style": "\u0710\u0723\u071f\u071d\u0721\u0710", "Dimensions": "\u072a\u071a\u0729\u0718\u072c\u0710", "Insert image": "\u0721\u0725\u0712\u0742\u072a \u0728\u0718\u072a\u072c\u0710", "Insert date\/time": "\u0721\u0725\u0712\u0742\u072a \u0723\u071d\u0729\u0718\u0721\u0710\/\u0725\u0715\u0722\u0710", "Remove link": "\u072b\u071d\u0718\u0726 \u0720\u0710\u0723\u072a\u0710", "Url": "Url", "Text to display": "\u0728\u071a\u071a\u0710 \u0720\u0721\u071a\u0719\u0718\u071d\u0710", "Insert link": "\u0721\u0725\u0712\u0742\u072a \u0710\u0723\u072a\u0710", "New window": "\u0718\u071d\u0722\u0715\u0718\u0719 \u071a\u0715\u072c\u072c\u0710", "None": "\u0717\u071d\u071f\u0330 \u071a\u0715", "Target": "\u0722\u071d\u072b\u0710", "Insert\/edit link": "\u0721\u0725\u0712\u0742\u072a\/\u0723\u071d\u0721\u072c\u0710 \u0715\u0710\u0723\u072a\u0710", "Insert\/edit video": "\u0721\u0725\u0712\u0742\u072a\/\u0723\u071d\u0721\u072c\u0710 \u0715\u0712\u0742\u071d\u0715\u071d\u0718", "Poster": "\u072b\u0718\u072c\u0726\u071d\u072c\u0308\u0710", "Alternative source": "\u0721\u0712\u0718\u0725\u0710 \u072c\u071a\u0720\u0718\u0726\u0710", "Paste your embed code below:": "\u0715\u0712\u072b \u071f\u0718\u0715\u0710 \u071a\u0712\u0742\u071d\u072b\u0710 \u0712\u0710\u0720\u072c\u071a\u072c:", "Insert video": "\u0721\u0725\u0712\u0742\u072a \u0712\u0742\u071d\u0715\u071d\u0718", "Embed": "\u071a\u0712\u0742\u0718\u072b", "Nonbreaking space": "\u0720\u071d\u072c \u0729\u071b\u0725\u072c\u0710 \u0715\u0723\u0726\u071d\u0729\u0718\u072c\u0710", "Preview": "\u071a\u071d\u072a\u072c\u0710", "Print": "\u071b\u0712\u0742\u0725\u072c\u0710", "Save": "\u071a\u0721\u071d\u072c\u0710", "Could not find the specified string.": "\u0720\u0710 \u0721\u0728\u0710 \u0720\u0717 \u0721\u072b\u071f\u0330\u0718\u071a\u0710 \u072b\u072b\u0720\u072c\u0710 \u072c\u0718\u071a\u0721\u072c\u0710", "Replace": "\u072b\u071a\u0720\u0726", "Next": "\u0712\u072c\u0742\u072a\u0717", "Whole words": "\u071f\u0720\u071d\u0717\u071d \u071a\u0712\u072a\u0308\u0710", "Find and replace": "\u0721\u072b\u071f\u0330\u071a \u0718\u072b\u071a\u0720\u0726", "Replace with": "\u072b\u071a\u0720\u0726 \u0712\u071d\u0715", "Find": "\u0721\u072b\u071f\u0330\u071a", "Replace all": "\u072b\u071a\u0720\u0726 \u071f\u0720\u071d\u0717\u071d", "Match case": "\u0713\u0718\u072a\u072c\u0710\/\u0719\u0725\u072a\u072c\u0710 ", "Prev": "\u0715\u0725\u0712\u0742\u072a", "Spellcheck": "\u0728\u071a\u0728\u071d\u072c\u0710 \u0715\u0717\u0718\u0713\u071d\u0710", "Finish": "\u0726\u072a\u0729\u0710", "Ignore all": "\u0710\u0717\u0721\u071d \u071f\u0720\u071d\u0717\u071d", "Ignore": "Ign\u0725\u0715\u0722\u0710", "Insert row before": "\u0721\u0725\u0712\u0742\u072a \u0713\u0330\u072a\u0713\u0710 \u0721\u0729\u0715\u0747\u0721", "Rows": "Righe", "Height": "\u071d\u0721\u071d\u0722\u0710", "Paste row after": "\u0715\u0712\u072b \u0713\u0330\u072a\u0713\u0710 \u0712\u072c\u072a", "Alignment": "\u0721\u0713\u0330\u072a\u0713\u0722\u072c\u0710", "Column group": "\u071f\u0718\u0722\u072b\u0710 \u0715\u0725\u0721\u0718\u0715\u0710", "Row": "\u0713\u0330\u072a\u0713\u0710", "Insert column before": "\u0721\u0725\u0712\u0742\u072a \u0725\u0721\u0718\u0715\u0710 \u0721\u0729\u0715\u0721", "Split cell": "\u0712\u072a\u0712\u0719 \u0720\u0729\u0720\u071d\u072c\u0710", "Cell padding": "\u0721\u0720\u071d\u072c\u0710 \u0715\u0729\u0720\u071d\u072c\u0710", "Cell spacing": "\u0723\u0726\u071d\u0729\u0718\u072c\u0710 \u0715\u0729\u0720\u071d\u072c\u0710", "Row type": "\u0710\u0715\u072b\u0710 \u0715\u0713\u0330\u072a\u0713\u0710", "Insert table": "\u0721\u0725\u0712\u0742\u072a \u0720\u071b\u0712\u0720\u0710", "Body": "\u0726\u0713\u073c\u072a\u0735\u0710", "Caption": "\u0712\u072a\u072b\u0721\u0710", "Footer": "\u0710\u0729\u0726\u072c\u0742\u0710", "Delete row": "\u072b\u0718\u0726 \u0720\u0713\u0330\u072a\u0713\u0710", "Paste row before": "\u0715\u0712\u072b \u0713\u0330\u072a\u0713\u0710 \u0721\u0729\u0715\u0721", "Scope": "\u071a\u0729\u0720\u0710", "Delete table": "\u072b\u0718\u0726 \u0720\u071b\u0712\u0720\u0710", "Header cell": "\u0729\u0720\u071d\u072c\u0710 \u0715\u072a\u072b\u0710", "Column": "\u0725\u0721\u0718\u0715\u0710", "Cell": "\u0729\u0720\u071d\u072c\u0710", "Header": "\u072a\u072b\u0710", "Cell type": "\u0710\u0715\u072b\u0710 \u0715\u0729\u0720\u071d\u072c\u0710", "Copy row": "\u0722\u0723\u0718\u071f\u0742 \u0713\u0330\u072a\u0713\u0710", "Row properties": "\u0715\u071d\u0720\u071d\u072c\u0308\u0710 \u0715\u0713\u072a\u0713\u0710", "Table properties": "\u0715\u071d\u0720\u071d\u072c\u0308\u0710 \u0715\u071b\u0712\u0720\u0710", "Row group": "\u071f\u0718\u0722\u072b\u0710 \u0715\u0713\u0330\u072a\u0713\u0710", "Right": "\u071d\u0721\u071d\u0722\u0710", "Insert column after": "\u0721\u0725\u0712\u0742\u072a \u0725\u0721\u0718\u0715\u0710 \u0712\u072c\u072a", "Cols": "\u0725\u0721\u0718\u0715\u0308\u0710", "Insert row after": "\u0721\u0725\u0712\u0742\u072a \u0713\u0330\u072a\u0713\u0710 \u0712\u072c\u072a", "Width": "\u0726\u072c\u0742\u071d\u0718\u072c\u0742\u0710", "Cell properties": "\u0715\u071d\u0720\u071d\u072c\u0308\u0710 \u0715\u0729\u0720\u071d\u072c\u0710", "Left": "\u0723\u0721\u0720\u0710", "Cut row": "\u0729\u0718\u0728 \u0713\u0330\u072a\u0713\u0710", "Delete column": "\u072b\u0718\u0726 \u0725\u0721\u0718\u0715\u0710", "Center": "\u0726\u0720\u0713\u0710", "Merge cells": "\u071a\u071d\u0715 \u0729\u0720\u071d\u072c\u0308\u0710", "Insert template": "\u0721\u0725\u0712\u0742\u072a \u0729\u0720\u0712\u0742\u0710", "Templates": "\u0729\u0720\u0712\u0742\u0710", "Background color": "\u0713\u0718\u0722\u0710 \u0715\u0712\u072c\u072a\u071d\u0718\u072c\u0710", "Text color": "\u0713\u0718\u0722\u0710 \u0715\u0728\u071a\u071a\u0710", "Show blocks": "\u0721\u071a\u0719\u071d \u0720\u0713\u0718\u072b\u0721\u0710", "Show invisible characters": "\u0721\u071a\u0719\u071d \u0720\u0710\u072c\u0718\u072c\u0308\u0710 \u0720\u0710 \u0721\u072c\u071a\u0719\u071d\u0722\u0308\u0710", "Words: {0}": "{0} :\u071a\u0712\u072a\u0308\u0710", "Insert": "\u0721\u0725\u0712\u0742\u072a", "File": "\u071f\u0722\u0726\u072a\u0710", "Edit": "\u0723\u071d\u0721\u072c\u0710", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help":"\u0729\u0710 \u0719\u0718\u0720\u0721\u0710\u0722\u0710 \u0729\u0710 \u0725\u0718\u0715\u072a\u0722\u0710 ALT-F10 \u0729\u0710 \u0720\u0718\u071a\u071d\u072c\u0710. \u0715\u0718\u072b ALT-F9 \u0715\u0718\u072b .Rich Text Area \u0726\u0722\u071d\u072c\u0710 \u0715", "Tools": "\u0719\u0718\u0720\u0721\u0710\u0722\u0710", "View": "\u071a\u0719\u071d\u072c\u0710", "Table": "\u071b\u0712\u0720\u0710", "Format": "\u0710\u0723\u071f\u071d\u0721\u0710", "Inline": "\u0725\u0720 \u0713\u0330\u072a\u0713\u0710", "Blocks": "\u0713\u0718\u072b\u0721\u0710", "Edit image": "\u0723\u071d\u0721\u072c\u0710 \u0715\u0728\u0718\u072a\u072c\u0710", "Font Family": "\u071f\u0720\u0726\u072c \u0715\u0726\u032e\u0718\u0722\u072c", "Font Sizes": "\u072a\u0308\u0712\u0718\u072c\u0710 \u0715\u0726\u032e\u0718\u0722\u072c", "Paragraph": "\u0726\u072c\u0742\u0713\u073c\u0721\u0710", "Address": "\u0721\u0718\u0722\u0725\u0710", "Pre": "\u0721\u072c\u0729\u0720\u0712\u0742\u0722\u0718\u072c\u0710 \u0729\u0715\u0747\u0721\u072c\u0710", "Code": "\u071f\u0718\u0715\u0710", "Headers": "\u072a\u0308\u072b\u0722\u0710", "Header 1": "\u072a\u072b\u0710 1", "Header 2": "\u072a\u072b\u0710 2", "Header 3": "\u072a\u072b\u0710 3", "Header 4": "\u072a\u072b\u0710 4", "Header 5": "\u072a\u072b\u0710 5", "Header 6": "\u072a\u072b\u0710 6", "Insert Time": "\u0721\u0725\u0712\u0742\u072a \u0725\u0715\u0722\u0710", "Insert nonbreaking space": "\u0721\u0725\u0712\u0742\u072a \u0723\u0726\u071d\u0729\u0718\u072c\u0710 \u0720\u0710 \u072c\u0712\u0742\u071d\u072a\u072c\u0710", "Toggle blockquote": "\u072b\u071a\u0720\u0726 \u0720\u0713\u0718\u072b\u0721\u072c\u0742 \u072b\u0729\u0720\u072c\u0710", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "http:\/\/ prefix? \u0715\u0721\u0718\u0725\u0712\u0742\u072a\u0718\u071f\u0742 \u0721\u0712\u071d\u0718\u0722\u0710 \u071d\u0720\u0717 \u0715\u0717\u0307\u0718 \u071a\u0715 \u0710\u0723\u072a\u0710 \u0712\u072a\u071d\u0710 \u071d\u0720\u0717. \u0712\u0725\u072c \u072c\u0718\u0723\u0726\u072c URL", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "mailto: prefix? \u0715\u0721\u0718\u0725\u0712\u0742\u072a\u0718\u071f\u073c \u0721\u0712\u071d\u0718\u0722\u0710 \u071d\u0720\u0717 \u0715\u0717\u0307\u0718 \u071d\u0720\u0717 \u0721\u0718\u0722\u0725\u0710 \u0715\u0712\u071d\u0720\u0715\u072a\u0710 \u0710\u0720\u071f\u072c\u072a\u0718\u0722\u071d\u0710. \u0712\u0725\u072c \u072c\u0718\u0723\u0726\u072c \u0720\u071b\u0720\u0712\u072c\u0710 URL", "_dir": "rtl" });langs/ja.js000060400000031630152455403670006612 0ustar00tinymce.addI18n('ja',{ "Cut": "\u5207\u308a\u53d6\u308a", "Heading 5": "\u898b\u51fa\u3057 5", "Header 2": "\u30d8\u30c3\u30c0\u30fc 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u304a\u4f7f\u3044\u306e\u30d6\u30e9\u30a6\u30b6\u3067\u306f\u30af\u30ea\u30c3\u30d7\u30dc\u30fc\u30c9\u6a5f\u80fd\u3092\u5229\u7528\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093\u3002\u30ad\u30fc\u30dc\u30fc\u30c9\u306e\u30b7\u30e7\u30fc\u30c8\u30ab\u30c3\u30c8\uff08Ctrl+X, Ctrl+C, Ctrl+V\uff09\u3092\u304a\u4f7f\u3044\u4e0b\u3055\u3044\u3002", "Heading 4": "\u898b\u51fa\u3057 4", "Div": "Div", "Heading 2": "\u898b\u51fa\u3057 2", "Paste": "\u8cbc\u308a\u4ed8\u3051", "Close": "\u9589\u3058\u308b", "Font Family": "\u30d5\u30a9\u30f3\u30c8\u30d5\u30a1\u30df\u30ea\u30fc", "Pre": "Pre", "Align right": "\u53f3\u5bc4\u305b", "New document": "\u65b0\u898f\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8", "Blockquote": "\u5f15\u7528", "Numbered list": "\u756a\u53f7\u4ed8\u304d\u7b87\u6761\u66f8\u304d", "Heading 1": "\u898b\u51fa\u3057 1", "Headings": "\u898b\u51fa\u3057", "Increase indent": "\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u5897\u3084\u3059", "Formats": "\u66f8\u5f0f", "Headers": "\u30d8\u30c3\u30c0\u30fc", "Select all": "\u5168\u3066\u3092\u9078\u629e", "Header 3": "\u30d8\u30c3\u30c0\u30fc 3", "Blocks": "\u30d6\u30ed\u30c3\u30af", "Undo": "\u5143\u306b\u623b\u3059", "Strikethrough": "\u53d6\u308a\u6d88\u3057\u7dda", "Bullet list": "\u7b87\u6761\u66f8\u304d", "Header 1": "\u30d8\u30c3\u30c0\u30fc 1", "Superscript": "\u4e0a\u4ed8\u304d\u6587\u5b57", "Clear formatting": "\u66f8\u5f0f\u3092\u30af\u30ea\u30a2", "Font Sizes": "\u30d5\u30a9\u30f3\u30c8\u30b5\u30a4\u30ba", "Subscript": "\u4e0b\u4ed8\u304d\u6587\u5b57", "Header 6": "\u30d8\u30c3\u30c0\u30fc 6", "Redo": "\u3084\u308a\u76f4\u3059", "Paragraph": "\u6bb5\u843d", "Ok": "OK", "Bold": "\u592a\u5b57", "Code": "\u30b3\u30fc\u30c9", "Italic": "\u659c\u4f53", "Align center": "\u4e2d\u592e\u63c3\u3048", "Header 5": "\u30d8\u30c3\u30c0\u30fc 5", "Heading 6": "\u898b\u51fa\u3057 6", "Heading 3": "\u898b\u51fa\u3057 3", "Decrease indent": "\u30a4\u30f3\u30c7\u30f3\u30c8\u3092\u6e1b\u3089\u3059", "Header 4": "\u30d8\u30c3\u30c0\u30fc 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u8cbc\u308a\u4ed8\u3051\u306f\u73fe\u5728\u30d7\u30ec\u30fc\u30f3\u30c6\u30ad\u30b9\u30c8\u30e2\u30fc\u30c9\u3067\u3059\u3002\u3053\u306e\u30aa\u30d7\u30b7\u30e7\u30f3\u3092\u30aa\u30d5\u306b\u3057\u306a\u3044\u9650\u308a\u5185\u5bb9\u306f\u30d7\u30ec\u30fc\u30f3\u30c6\u30ad\u30b9\u30c8\u3068\u3057\u3066\u8cbc\u308a\u4ed8\u3051\u3089\u308c\u307e\u3059\u3002", "Underline": "\u4e0b\u7dda", "Cancel": "\u30ad\u30e3\u30f3\u30bb\u30eb", "Justify": "\u4e21\u7aef\u63c3\u3048", "Inline": "\u30a4\u30f3\u30e9\u30a4\u30f3", "Copy": "\u30b3\u30d4\u30fc", "Align left": "\u5de6\u5bc4\u305b", "Visual aids": "\u8868\u306e\u67a0\u7dda\u3092\u70b9\u7dda\u3067\u8868\u793a", "Lower Greek": "\u5c0f\u6587\u5b57\u306e\u30ae\u30ea\u30b7\u30e3\u6587\u5b57", "Square": "\u56db\u89d2", "Default": "\u30c7\u30d5\u30a9\u30eb\u30c8", "Lower Alpha": "\u5c0f\u6587\u5b57\u306e\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8", "Circle": "\u5186", "Disc": "\u70b9", "Upper Alpha": "\u5927\u6587\u5b57\u306e\u30a2\u30eb\u30d5\u30a1\u30d9\u30c3\u30c8", "Upper Roman": "\u5927\u6587\u5b57\u306e\u30ed\u30fc\u30de\u6570\u5b57", "Lower Roman": "\u5c0f\u6587\u5b57\u306e\u30ed\u30fc\u30de\u6570\u5b57", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "ID\u306f\u6587\u5b57\u3067\u59cb\u307e\u308a\u3001\u6587\u5b57\u3001\u6570\u5b57\u3001\u30c0\u30c3\u30b7\u30e5\u3001\u30c9\u30c3\u30c8\u3001\u30b3\u30ed\u30f3\u307e\u305f\u306f\u30a2\u30f3\u30c0\u30fc\u30b9\u30b3\u30a2\u3067\u59cb\u307e\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002", "Name": "\u30a2\u30f3\u30ab\u30fc\u540d", "Anchor": "\u30a2\u30f3\u30ab\u30fc\uff08\u30ea\u30f3\u30af\u306e\u5230\u9054\u70b9\uff09", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "\u307e\u3060\u4fdd\u5b58\u3057\u3066\u3044\u306a\u3044\u5909\u66f4\u304c\u3042\u308a\u307e\u3059\u304c\u3001\u672c\u5f53\u306b\u3053\u306e\u30da\u30fc\u30b8\u3092\u96e2\u308c\u307e\u3059\u304b\uff1f", "Restore last draft": "\u524d\u56de\u306e\u4e0b\u66f8\u304d\u3092\u5fa9\u6d3b\u3055\u305b\u308b", "Special character": "\u7279\u6b8a\u6587\u5b57", "Source code": "\u30bd\u30fc\u30b9\u30b3\u30fc\u30c9", "Language": "\u8a00\u8a9e", "Insert\/Edit code sample": "\u30b3\u30fc\u30c9\u30b5\u30f3\u30d7\u30eb\u306e\u633f\u5165\u30fb\u7de8\u96c6", "B": "B", "R": "R", "G": "G", "Color": "\u30ab\u30e9\u30fc", "Right to left": "\u53f3\u304b\u3089\u5de6", "Left to right": "\u5de6\u304b\u3089\u53f3", "Emoticons": "\u7d75\u6587\u5b57", "Robots": "\u30ed\u30dc\u30c3\u30c4", "Document properties": "\u30c9\u30ad\u30e5\u30e1\u30f3\u30c8\u306e\u30d7\u30ed\u30d1\u30c6\u30a3", "Title": "\u30bf\u30a4\u30c8\u30eb", "Keywords": "\u30ad\u30fc\u30ef\u30fc\u30c9", "Encoding": "\u30a8\u30f3\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0", "Description": "\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u5185\u5bb9", "Author": "\u8457\u8005", "Fullscreen": "\u5168\u753b\u9762\u8868\u793a", "Horizontal line": "\u6c34\u5e73\u7f6b\u7dda", "Horizontal space": "\u6a2a\u65b9\u5411\u306e\u4f59\u767d", "Insert\/edit image": "\u753b\u50cf\u306e\u633f\u5165\u30fb\u7de8\u96c6", "General": "\u4e00\u822c", "Advanced": "\u8a73\u7d30\u8a2d\u5b9a", "Source": "\u753b\u50cf\u306e\u30bd\u30fc\u30b9", "Border": "\u67a0\u7dda", "Constrain proportions": "\u7e26\u6a2a\u6bd4\u3092\u4fdd\u6301\u3059\u308b", "Vertical space": "\u7e26\u65b9\u5411\u306e\u4f59\u767d", "Image description": "\u753b\u50cf\u306e\u8aac\u660e\u6587", "Style": "\u30b9\u30bf\u30a4\u30eb", "Dimensions": "\u753b\u50cf\u30b5\u30a4\u30ba\uff08\u6a2a\u30fb\u7e26\uff09", "Insert image": "\u753b\u50cf\u306e\u633f\u5165", "Image": "\u753b\u50cf", "Zoom in": "\u30ba\u30fc\u30e0\u30a4\u30f3", "Contrast": "\u30b3\u30f3\u30c8\u30e9\u30b9\u30c8", "Back": "\u623b\u308b", "Gamma": "\u30ac\u30f3\u30de", "Flip horizontally": "\u6c34\u5e73\u306b\u53cd\u8ee2", "Resize": "\u30ea\u30b5\u30a4\u30ba", "Sharpen": "\u30b7\u30e3\u30fc\u30d7\u5316", "Zoom out": "\u30ba\u30fc\u30e0\u30a2\u30a6\u30c8", "Image options": "\u753b\u50cf\u30aa\u30d7\u30b7\u30e7\u30f3", "Apply": "\u9069\u7528", "Brightness": "\u660e\u308b\u3055", "Rotate clockwise": "\u6642\u8a08\u56de\u308a\u306b\u56de\u8ee2", "Rotate counterclockwise": "\u53cd\u6642\u8a08\u56de\u308a\u306b\u56de\u8ee2", "Edit image": "\u753b\u50cf\u306e\u7de8\u96c6", "Color levels": "\u30ab\u30e9\u30fc\u30ec\u30d9\u30eb", "Crop": "\u30af\u30ed\u30c3\u30d7", "Orientation": "\u5411\u304d", "Flip vertically": "\u4e0a\u4e0b\u306b\u53cd\u8ee2", "Invert": "\u53cd\u8ee2", "Date\/time": "\u65e5\u4ed8\u30fb\u6642\u523b", "Insert date\/time": "\u65e5\u4ed8\u30fb\u6642\u523b", "Remove link": "\u30ea\u30f3\u30af\u306e\u524a\u9664", "Url": "\u30ea\u30f3\u30af\u5148URL", "Text to display": "\u30ea\u30f3\u30af\u5143\u30c6\u30ad\u30b9\u30c8", "Anchors": "\u30a2\u30f3\u30ab\u30fc\uff08\u30ea\u30f3\u30af\u306e\u5230\u9054\u70b9\uff09", "Insert link": "\u30ea\u30f3\u30af", "Link": "\u30ea\u30f3\u30af", "New window": "\u65b0\u898f\u30a6\u30a3\u30f3\u30c9\u30a6", "None": "\u306a\u3057", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u5165\u529b\u3055\u308c\u305fURL\u306f\u5916\u90e8\u30ea\u30f3\u30af\u306e\u3088\u3046\u3067\u3059\u3002\u300chttp:\/\/\u300d\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u304b\uff1f", "Paste or type a link": "\u30ea\u30f3\u30af\u3092\u30da\u30fc\u30b9\u30c8\u307e\u305f\u306f\u5165\u529b", "Target": "\u30bf\u30fc\u30b2\u30c3\u30c8\u5c5e\u6027", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u5165\u529b\u3055\u308c\u305fURL\u306f\u30e1\u30fc\u30eb\u30a2\u30c9\u30ec\u30b9\u306e\u3088\u3046\u3067\u3059\u3002\u300cmailto:\u300d\u30d7\u30ec\u30d5\u30a3\u30c3\u30af\u30b9\u3092\u8ffd\u52a0\u3057\u307e\u3059\u304b\uff1f", "Insert\/edit link": "\u30ea\u30f3\u30af\u306e\u633f\u5165\u30fb\u7de8\u96c6", "Insert\/edit video": "\u52d5\u753b\u306e\u633f\u5165\u30fb\u7de8\u96c6", "Media": "\u30e1\u30c7\u30a3\u30a2", "Alternative source": "\u4ee3\u66ff\u52d5\u753b\u306e\u5834\u6240", "Paste your embed code below:": "\u57cb\u3081\u8fbc\u307f\u7528\u30b3\u30fc\u30c9\u3092\u4e0b\u8a18\u306b\u8cbc\u308a\u4ed8\u3051\u3066\u304f\u3060\u3055\u3044\u3002", "Insert video": "\u52d5\u753b", "Poster": "\u4ee3\u66ff\u753b\u50cf\u306e\u5834\u6240", "Insert\/edit media": "\u30e1\u30c7\u30a3\u30a2\u306e\u633f\u5165\u30fb\u7de8\u96c6", "Embed": "\u57cb\u3081\u8fbc\u307f", "Nonbreaking space": "\u56fa\u5b9a\u30b9\u30da\u30fc\u30b9\uff08 \uff09", "Page break": "\u30da\u30fc\u30b8\u533a\u5207\u308a", "Paste as text": "\u30c6\u30ad\u30b9\u30c8\u3068\u3057\u3066\u8cbc\u308a\u4ed8\u3051", "Preview": "\u30d7\u30ec\u30d3\u30e5\u30fc", "Print": "\u5370\u5237", "Save": "\u4fdd\u5b58", "Could not find the specified string.": "\u304a\u63a2\u3057\u306e\u6587\u5b57\u304c\u898b\u3064\u304b\u308a\u307e\u305b\u3093\u3067\u3057\u305f\u3002", "Replace": "\u7f6e\u304d\u63db\u3048", "Next": "\u6b21", "Whole words": "\u5358\u8a9e\u5358\u4f4d\u3067\u691c\u7d22\u3059\u308b", "Find and replace": "\u691c\u7d22\u3068\u7f6e\u304d\u63db\u3048", "Replace with": "\u7f6e\u304d\u63db\u3048\u308b\u6587\u5b57", "Find": "\u691c\u7d22", "Replace all": "\u5168\u3066\u3092\u7f6e\u304d\u63db\u3048\u308b", "Match case": "\u5927\u6587\u5b57\u30fb\u5c0f\u6587\u5b57\u3092\u533a\u5225\u3059\u308b", "Prev": "\u524d", "Spellcheck": "\u30b9\u30da\u30eb\u30c1\u30a7\u30c3\u30af", "Finish": "\u7d42\u4e86", "Ignore all": "\u5168\u3066\u3092\u7121\u8996", "Ignore": "\u7121\u8996", "Add to Dictionary": "\u8f9e\u66f8\u306b\u8ffd\u52a0", "Insert row before": "\u4e0a\u5074\u306b\u884c\u3092\u633f\u5165", "Rows": "\u884c\u6570", "Height": "\u9ad8\u3055", "Paste row after": "\u4e0b\u5074\u306b\u884c\u3092\u8cbc\u308a\u4ed8\u3051", "Alignment": "\u914d\u7f6e", "Border color": "\u67a0\u7dda\u306e\u8272", "Column group": "\u5217\u30b0\u30eb\u30fc\u30d7", "Row": "\u884c", "Insert column before": "\u5de6\u5074\u306b\u5217\u3092\u633f\u5165", "Split cell": "\u30bb\u30eb\u306e\u5206\u5272", "Cell padding": "\u30bb\u30eb\u5185\u4f59\u767d\uff08\u30d1\u30c7\u30a3\u30f3\u30b0\uff09", "Cell spacing": "\u30bb\u30eb\u306e\u9593\u9694", "Row type": "\u884c\u30bf\u30a4\u30d7", "Insert table": "\u8868\u306e\u633f\u5165", "Body": "\u30dc\u30c7\u30a3\u30fc", "Caption": "\u8868\u984c", "Footer": "\u30d5\u30c3\u30bf\u30fc", "Delete row": "\u884c\u306e\u524a\u9664", "Paste row before": "\u4e0a\u5074\u306b\u884c\u3092\u8cbc\u308a\u4ed8\u3051", "Scope": "\u30b9\u30b3\u30fc\u30d7", "Delete table": "\u8868\u306e\u524a\u9664", "H Align": "\u6c34\u5e73\u65b9\u5411\u306e\u914d\u7f6e", "Top": "\u4e0a", "Header cell": "\u30d8\u30c3\u30c0\u30fc\u30bb\u30eb", "Column": "\u5217", "Row group": "\u884c\u30b0\u30eb\u30fc\u30d7", "Cell": "\u30bb\u30eb", "Middle": "\u4e2d\u592e", "Cell type": "\u30bb\u30eb\u30bf\u30a4\u30d7", "Copy row": "\u884c\u306e\u30b3\u30d4\u30fc", "Row properties": "\u884c\u306e\u8a73\u7d30\u8a2d\u5b9a", "Table properties": "\u8868\u306e\u8a73\u7d30\u8a2d\u5b9a", "Bottom": "\u4e0b", "V Align": "\u5782\u76f4\u65b9\u5411\u306e\u914d\u7f6e", "Header": "\u30d8\u30c3\u30c0\u30fc", "Right": "\u53f3\u5bc4\u305b", "Insert column after": "\u53f3\u5074\u306b\u5217\u3092\u633f\u5165", "Cols": "\u5217\u6570", "Insert row after": "\u4e0b\u5074\u306b\u884c\u3092\u633f\u5165", "Width": "\u5e45", "Cell properties": "\u30bb\u30eb\u306e\u8a73\u7d30\u8a2d\u5b9a", "Left": "\u5de6\u5bc4\u305b", "Cut row": "\u884c\u306e\u5207\u308a\u53d6\u308a", "Delete column": "\u5217\u306e\u524a\u9664", "Center": "\u4e2d\u592e\u63c3\u3048", "Merge cells": "\u30bb\u30eb\u306e\u7d50\u5408", "Insert template": "\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u306e\u633f\u5165", "Templates": "\u30c6\u30f3\u30d7\u30ec\u30fc\u30c8\u540d", "Background color": "\u80cc\u666f\u8272", "Custom...": "\u30ab\u30b9\u30bf\u30e0...", "Custom color": "\u30ab\u30b9\u30bf\u30e0\u30ab\u30e9\u30fc", "No color": "\u30ab\u30e9\u30fc\u306a\u3057", "Text color": "\u30c6\u30ad\u30b9\u30c8\u306e\u8272", "Table of Contents": "\u76ee\u6b21", "Show blocks": "\u6587\u7ae0\u306e\u533a\u5207\u308a\u3092\u70b9\u7dda\u3067\u8868\u793a", "Show invisible characters": "\u4e0d\u53ef\u8996\u6587\u5b57\u3092\u8868\u793a", "Words: {0}": "\u5358\u8a9e\u6570: {0}", "Insert": "\u633f\u5165", "File": "\u30d5\u30a1\u30a4\u30eb", "Edit": "\u7de8\u96c6", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u66f8\u5f0f\u4ed8\u304d\u30c6\u30ad\u30b9\u30c8\u306e\u7de8\u96c6\u753b\u9762\u3002ALT-F9\u3067\u30e1\u30cb\u30e5\u30fc\u3001ALT-F10\u3067\u30c4\u30fc\u30eb\u30d0\u30fc\u3001ALT-0\u3067\u30d8\u30eb\u30d7\u304c\u8868\u793a\u3055\u308c\u307e\u3059\u3002", "Tools": "\u30c4\u30fc\u30eb", "View": "\u8868\u793a", "Table": "\u8868", "Format": "\u66f8\u5f0f" });langs/da.js000060400000017612152455403670006610 0ustar00tinymce.addI18n('da',{ "Cut": "Klip", "Heading 5": "Overskrift 5", "Header 2": "Overskrift 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Din browser underst\u00f8tter ikke direkte adgang til clipboard. Benyt Ctrl+X\/C\/ keybord shortcuts i stedet for.", "Heading 4": "Overskrift 4", "Div": "Div", "Heading 2": "Overskrift 2", "Paste": "Inds\u00e6t", "Close": "Luk", "Font Family": "Skrifttype", "Pre": "Pre", "Align right": "H\u00f8jrejusteret", "New document": "Nyt dokument", "Blockquote": "Indrykning", "Numbered list": "Nummerering", "Heading 1": "Overskrift 1", "Headings": "Overskrifter", "Increase indent": "For\u00f8g indrykning", "Formats": "Formater", "Headers": "Overskrifter", "Select all": "V\u00e6lg alle", "Header 3": "Overskrift 3", "Blocks": "Blokke", "Undo": "Fortryd", "Strikethrough": "Gennemstreg", "Bullet list": "Punkt tegn", "Header 1": "Overskrift 1", "Superscript": "H\u00e6vet", "Clear formatting": "Nulstil formattering", "Font Sizes": "Skriftst\u00f8rrelse", "Subscript": "S\u00e6nket", "Header 6": "Overskrift 6", "Redo": "Genopret", "Paragraph": "S\u00e6tning", "Ok": "Ok", "Bold": "Fed", "Code": "Code", "Italic": "Kursiv", "Align center": "Centreret", "Header 5": "Overskrift 5", "Heading 6": "Overskrift 6", "Heading 3": "Overskrift 3", "Decrease indent": "Formindsk indrykning", "Header 4": "Overskrift 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "S\u00e6t ind er indstillet til at inds\u00e6tte som ren tekst. Indhold bliver nu indsat uden formatering indtil du \u00e6ndrer indstillingen.", "Underline": "Understreg", "Cancel": "Fortryd", "Justify": "Justering", "Inline": "Inline", "Copy": "Kopier", "Align left": "Venstrejusteret", "Visual aids": "Visuel hj\u00e6lp", "Lower Greek": "Lower Gr\u00e6sk", "Square": "Kvadrat", "Default": "Standard", "Lower Alpha": "Lower Alpha", "Circle": "Cirkel", "Disc": "Disk", "Upper Alpha": "Upper Alpha", "Upper Roman": "Upper Roman", "Lower Roman": "Lower Roman", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id b\u00f8r starte med et bogstav, efterfulgt af bogstaver, tal, bindestreger, punktummer, koloner eller underscores.", "Name": "Navn", "Anchor": "Anchor", "Id": "Id", "You have unsaved changes are you sure you want to navigate away?": "Du har ikke gemte \u00e6ndringer. Er du sikker p\u00e5 at du vil forts\u00e6tte?", "Restore last draft": "Genopret sidste kladde", "Special character": "Specielle tegn", "Source code": "Kildekode", "Language": "Sprog", "Insert\/Edit code sample": "Inds\u00e6t\/Ret kodeeksempel", "B": "B", "R": "R", "G": "G", "Color": "Farve", "Right to left": "H\u00f8jre til venstre", "Left to right": "Venstre til h\u00f8jre", "Emoticons": "Emot-ikoner", "Robots": "Robotter", "Document properties": "Dokument egenskaber", "Title": "Titel", "Keywords": "S\u00f8geord", "Encoding": "Kodning", "Description": "Beskrivelse", "Author": "Forfatter", "Fullscreen": "Fuldsk\u00e6rm", "Horizontal line": "Vandret linie", "Horizontal space": "Vandret afstand", "Insert\/edit image": "Inds\u00e6t\/ret billede", "General": "Generet", "Advanced": "Avanceret", "Source": "Kilde", "Border": "Kant", "Constrain proportions": "Behold propertioner", "Vertical space": "Lodret afstand", "Image description": "Billede beskrivelse", "Style": "Stil", "Dimensions": "Dimensioner", "Insert image": "Inds\u00e6t billede", "Image": "Billede", "Zoom in": "Zoom ind", "Contrast": "Kontrast", "Back": "Tilbage", "Gamma": "Gamma", "Flip horizontally": "Flip horisontalt", "Resize": "Skaler", "Sharpen": "G\u00f8r skarpere", "Zoom out": "Zoom ud", "Image options": "Billede indstillinger", "Apply": "Anvend", "Brightness": "Lysstyrke", "Rotate clockwise": "Drej med urets retning", "Rotate counterclockwise": "Drej modsat urets retning", "Edit image": "Rediger billede", "Color levels": "Farve niveauer", "Crop": "Besk\u00e6r", "Orientation": "Retning", "Flip vertically": "Flip vertikalt", "Invert": "Inverter", "Date\/time": "Dato\/klokkeslet", "Insert date\/time": "Inds\u00e6t dato\/klokkeslet", "Remove link": "Fjern link", "Url": "Url", "Text to display": "Vis tekst", "Anchors": "Ankre", "Insert link": "Inds\u00e6t link", "Link": "Link", "New window": "Nyt vindue", "None": "Ingen", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "URLen som du angav ser ud til at v\u00e6re et eksternt link. \u00d8nsker du at tilf\u00f8je det kr\u00e6vede prefiks http:\/\/ ?", "Paste or type a link": "Inds\u00e6t eller skriv et link", "Target": "Target", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "URLen som du angav ser ud til at v\u00e6re en email adresse. \u00d8nsker du at tilf\u00f8je det kr\u00e6vede prefiks mailto: ?", "Insert\/edit link": "Inds\u00e6t\/ret link", "Insert\/edit video": "Inds\u00e6t\/ret video", "Media": "Medier", "Alternative source": "Alternativ kilde", "Paste your embed code below:": "Inds\u00e6t din embed kode herunder:", "Insert video": "Inds\u00e6t video", "Poster": "Poster", "Insert\/edit media": "Inds\u00e6t\/ret medier", "Embed": "Integrer", "Nonbreaking space": "H\u00e5rdt mellemrum", "Page break": "Sideskift", "Paste as text": "Inds\u00e6t som ren tekst", "Preview": "Forh\u00e5ndsvisning", "Print": "Udskriv", "Save": "Gem", "Could not find the specified string.": "Kunne ikke finde s\u00f8getekst", "Replace": "Erstat", "Next": "N\u00e6ste", "Whole words": "Hele ord", "Find and replace": "Find og erstat", "Replace with": "Erstat med", "Find": "Find", "Replace all": "Erstat alt", "Match case": "STORE og sm\u00e5 bogstaver", "Prev": "Forrige", "Spellcheck": "Stavekontrol", "Finish": "F\u00e6rdig", "Ignore all": "Ignorer alt", "Ignore": "Ignorer", "Add to Dictionary": "Tilf\u00f8j til ordbog", "Insert row before": "Inds\u00e6t r\u00e6kke f\u00f8r", "Rows": "R\u00e6kker", "Height": "H\u00f8jde", "Paste row after": "Inds\u00e6t r\u00e6kke efter", "Alignment": "Tilpasning", "Border color": "Kant farve", "Column group": "Kolonne gruppe", "Row": "R\u00e6kke", "Insert column before": "Inds\u00e6t kolonne f\u00f8r", "Split cell": "Split celle", "Cell padding": "Celle padding", "Cell spacing": "Celle afstand", "Row type": "R\u00e6kke type", "Insert table": "Inds\u00e6t tabel", "Body": "Krop", "Caption": "Tekst", "Footer": "Sidefod", "Delete row": "Slet r\u00e6kke", "Paste row before": "Inds\u00e6t r\u00e6kke f\u00f8r", "Scope": "Anvendelsesomr\u00e5de", "Delete table": "Slet tabel", "H Align": "H juster", "Top": "Top", "Header cell": "Sidehoved celle", "Column": "Kolonne", "Row group": "R\u00e6kke gruppe", "Cell": "Celle", "Middle": "Midt", "Cell type": "Celle type", "Copy row": "Kopier r\u00e6kke", "Row properties": "R\u00e6kke egenskaber", "Table properties": "Tabel egenskaber", "Bottom": "Bund", "V Align": "V juster", "Header": "Sidehoved", "Right": "H\u00f8jre", "Insert column after": "Inds\u00e6t kolonne efter", "Cols": "Kolonne", "Insert row after": "Inds\u00e6t r\u00e6kke efter", "Width": "Bredde", "Cell properties": "Celle egenskaber", "Left": "Venstre", "Cut row": "Klip r\u00e6kke", "Delete column": "Slet kolonne", "Center": "Centrering", "Merge cells": "Flet celler", "Insert template": "Inds\u00e6t skabelon", "Templates": "Skabeloner", "Background color": "Baggrunds farve", "Custom...": "Brugerdefineret...", "Custom color": "Brugerdefineret farve", "No color": "Ingen farve", "Text color": "Tekst farve", "Table of Contents": "Indholdsfortegnelse", "Show blocks": "Vis klokke", "Show invisible characters": "Vis usynlige tegn", "Words: {0}": "Ord: {0}", "Insert": "Inds\u00e6t", "File": "Fil", "Edit": "Rediger", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Rich Text omr\u00e5de. Tryk ALT-F9 for menu. Tryk ALT-F10 for toolbar. Tryk ALT-0 for hj\u00e6lp", "Tools": "V\u00e6rkt\u00f8j", "View": "Vis", "Table": "Tabel", "Format": "Format" });langs/ca.js000060400000017152152455403670006606 0ustar00tinymce.addI18n('ca',{ "Cut": "Retalla", "Heading 5": "Encap\u00e7alament 5", "Header 2": "Cap\u00e7alera 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "El vostre navegador no suporta l'acc\u00e9s directe al portaobjectes. Si us plau, feu servir les dreceres de teclat Ctrl+X\/C\/V.", "Heading 4": "Encap\u00e7alament 4", "Div": "Div", "Heading 2": "Encap\u00e7alament 2", "Paste": "Enganxa", "Close": "Tanca", "Font Family": "Fam\u00edlia de la font", "Pre": "Pre", "Align right": "Aliniat a la dreta", "New document": "Nou document", "Blockquote": "Cita", "Numbered list": "Llista enumerada", "Heading 1": "Encap\u00e7alament 1", "Headings": "Encap\u00e7alaments", "Increase indent": "Augmentar sagnat", "Formats": "Formats", "Headers": "Cap\u00e7aleres", "Select all": "Seleccionar-ho tot", "Header 3": "Cap\u00e7alera 3", "Blocks": "Blocs", "Undo": "Desfer", "Strikethrough": "Ratllat", "Bullet list": "Llista no ordenada", "Header 1": "Cap\u00e7alera 1", "Superscript": "Super\u00edndex", "Clear formatting": "Eliminar format", "Font Sizes": "Mides de la font", "Subscript": "Sub\u00edndex", "Header 6": "Cap\u00e7alera 6", "Redo": "Refer", "Paragraph": "Par\u00e0graf", "Ok": "Acceptar", "Bold": "Negreta", "Code": "Codi", "Italic": "Cursiva", "Align center": "Centrat", "Header 5": "Cap\u00e7alera 5", "Heading 6": "Encap\u00e7alament 6", "Heading 3": "Encap\u00e7alament 3", "Decrease indent": "Disminuir sagnat", "Header 4": "Cap\u00e7alera 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Enganxar ara est\u00e0 en mode text pla. Els continguts s'enganxaran com a text pla fins que desactivis aquesta opci\u00f3. ", "Underline": "Subratllat", "Cancel": "Cancel\u00b7la", "Justify": "Justificat", "Inline": "En l\u00ednia", "Copy": "Copia", "Align left": "Aliniat a l'esquerra", "Visual aids": "Assist\u00e8ncia visual", "Lower Greek": "Grec menor", "Square": "Quadrat", "Default": "Per defecte", "Lower Alpha": "Alfa menor", "Circle": "Cercle", "Disc": "Disc", "Upper Alpha": "Alfa major", "Upper Roman": "Roman major", "Lower Roman": "Roman menor", "Name": "Nom", "Anchor": "\u00c0ncora", "You have unsaved changes are you sure you want to navigate away?": "Teniu canvis sense desar, esteu segur que voleu deixar-ho ara?", "Restore last draft": "Restaurar l'\u00faltim esborrany", "Special character": "Car\u00e0cter especial", "Source code": "Codi font", "B": "B", "R": "R", "G": "G", "Color": "Color", "Right to left": "De dreta a esquerra", "Left to right": "D'esquerra a dreta", "Emoticons": "Emoticones", "Robots": "Robots", "Document properties": "Propietats del document", "Title": "T\u00edtol", "Keywords": "Paraules clau", "Encoding": "Codificaci\u00f3", "Description": "Descripci\u00f3", "Author": "Autor", "Fullscreen": "Pantalla completa", "Horizontal line": "L\u00ednia horitzontal", "Horizontal space": "Espai horitzontal", "Insert\/edit image": "Inserir\/editar imatge", "General": "General", "Advanced": "Avan\u00e7at", "Source": "Font", "Border": "Vora", "Constrain proportions": "Mantenir proporcions", "Vertical space": "Espai vertical", "Image description": "Descripci\u00f3 de la imatge", "Style": "Estil", "Dimensions": "Dimensions", "Insert image": "Inserir imatge", "Zoom in": "Ampliar", "Contrast": "Contrast", "Back": "Tornar", "Gamma": "Gamma", "Flip horizontally": "Capgirar horitzontalment", "Resize": "Canviar mida", "Sharpen": "Remarcar vores", "Zoom out": "Empetitir", "Image options": "Opcions d'imatge", "Apply": "Aplicar", "Brightness": "Brillantor", "Rotate clockwise": "Girar a la dreta", "Rotate counterclockwise": "Girar a l'esquerra", "Edit image": "Editar imatge", "Color levels": "Nivells de color", "Crop": "Escap\u00e7ar", "Orientation": "Orientaci\u00f3", "Flip vertically": "Capgirar verticalment", "Invert": "Invertir", "Insert date\/time": "Inserir data\/hora", "Remove link": "Treure enlla\u00e7", "Url": "URL", "Text to display": "Text per mostrar", "Anchors": "\u00c0ncores", "Insert link": "Inserir enlla\u00e7", "New window": "Finestra nova", "None": "Cap", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "L'URL que has escrit sembla un enlla\u00e7 extern. Vols afegir-li el prefix obligatori http:\/\/ ?", "Target": "Dest\u00ed", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "L'URL que has escrit sembla una adre\u00e7a de correu electr\u00f2nic. Vols afegir-li el prefix obligatori mailto: ?", "Insert\/edit link": "Inserir\/editar enlla\u00e7", "Insert\/edit video": "Inserir\/editar v\u00eddeo", "Poster": "P\u00f3ster", "Alternative source": "Font alternativa", "Paste your embed code below:": "Enganxau el codi a sota:", "Insert video": "Inserir v\u00eddeo", "Embed": "Incloure", "Nonbreaking space": "Espai fixe", "Page break": "Salt de p\u00e0gina", "Paste as text": "Enganxar com a text", "Preview": "Previsualitzaci\u00f3", "Print": "Imprimir", "Save": "Desa", "Could not find the specified string.": "No es pot trobar el text especificat.", "Replace": "Rempla\u00e7ar", "Next": "Seg\u00fcent", "Whole words": "Paraules senceres", "Find and replace": "Buscar i rempla\u00e7ar", "Replace with": "Rempla\u00e7ar amb", "Find": "Buscar", "Replace all": "Rempla\u00e7ar-ho tot", "Match case": "Coincidir maj\u00fascules", "Prev": "Anterior", "Spellcheck": "Comprovar ortrografia", "Finish": "Finalitzar", "Ignore all": "Ignorar tots", "Ignore": "Ignorar", "Add to Dictionary": "Afegir al diccionari", "Insert row before": "Inserir fila a sobre", "Rows": "Files", "Height": "Al\u00e7ada", "Paste row after": "Enganxar fila a sota", "Alignment": "Aliniament", "Border color": "Color de vora", "Column group": "Grup de columna", "Row": "Fila", "Insert column before": "Inserir columna abans", "Split cell": "Dividir cel\u00b7les", "Cell padding": "Marge intern", "Cell spacing": "Espai entre cel\u00b7les", "Row type": "Tipus de fila", "Insert table": "Inserir taula", "Body": "Cos", "Caption": "Encap\u00e7alament", "Footer": "Peu", "Delete row": "Esborrar fila", "Paste row before": "Enganxar fila a sobre", "Scope": "\u00c0mbit", "Delete table": "Esborrar taula", "H Align": "Al\u00edniament H", "Top": "Superior", "Header cell": "Cel\u00b7la de cap\u00e7alera", "Column": "Columna", "Row group": "Grup de fila", "Cell": "Cel\u00b7la", "Middle": "Mitj\u00e0", "Cell type": "Tipus de cel\u00b7la", "Copy row": "Copiar fila", "Row properties": "Propietats de fila", "Table properties": "Propietats de taula", "Bottom": "Inferior", "V Align": "Al\u00edniament V", "Header": "Cap\u00e7alera", "Right": "A la dreta", "Insert column after": "Inserir columna despr\u00e9s", "Cols": "Cols", "Insert row after": "Inserir fila a sota", "Width": "Amplada", "Cell properties": "Propietats de cel\u00b7la", "Left": "A l'esquerra", "Cut row": "Retallar fila", "Delete column": "Esborrar columna", "Center": "Centrat", "Merge cells": "Fusionar cel\u00b7les", "Insert template": "Inserir plantilla", "Templates": "Plantilles", "Background color": "Color del fons", "Custom...": "Personalitzar...", "Custom color": "Personalitzar el color", "No color": "Sense color", "Text color": "Color del text", "Show blocks": "Mostrar blocs", "Show invisible characters": "Mostrar car\u00e0cters invisibles", "Words: {0}": "Paraules: {0}", "Insert": "Inserir", "File": "Arxiu", "Edit": "Edici\u00f3", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u00c0rea de text amb format. Premeu ALT-F9 per mostrar el men\u00fa, ALT F10 per la barra d'eines i ALT-0 per ajuda.", "Tools": "Eines", "View": "Veure", "Table": "Taula", "Format": "Format" });langs/zh-TW.js000060400000017503152455403670007174 0ustar00tinymce.addI18n('zh-TW',{ "Cut": "\u526a\u4e0b", "Header 2": "\u6a19\u984c 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u60a8\u7684\u700f\u89bd\u5668\u4e0d\u652f\u63f4\u5b58\u53d6\u526a\u8cbc\u7c3f\uff0c\u53ef\u4ee5\u4f7f\u7528\u5feb\u901f\u9375 Ctrl + X\/C\/V \u4ee3\u66ff\u526a\u4e0b\u3001\u8907\u88fd\u8207\u8cbc\u4e0a\u3002", "Div": "Div", "Paste": "\u8cbc\u4e0a", "Close": "\u95dc\u9589", "Font Family": "\u5b57\u9ad4", "Pre": "Pre", "Align right": "\u7f6e\u53f3\u5c0d\u9f4a", "New document": "\u65b0\u6587\u4ef6", "Blockquote": "\u5f15\u7528", "Numbered list": "\u6578\u5b57\u6e05\u55ae", "Increase indent": "\u589e\u52a0\u7e2e\u6392", "Formats": "\u683c\u5f0f", "Headers": "\u6a19\u984c", "Select all": "\u5168\u9078", "Header 3": "\u6a19\u984c 3", "Blocks": "\u5340\u584a", "Undo": "\u5fa9\u539f", "Strikethrough": "\u522a\u9664\u7dda", "Bullet list": "\u9805\u76ee\u6e05\u55ae", "Header 1": "\u6a19\u984c 1", "Superscript": "\u4e0a\u6a19", "Clear formatting": "\u6e05\u9664\u683c\u5f0f", "Font Sizes": "\u5b57\u578b\u5927\u5c0f", "Subscript": "\u4e0b\u6a19", "Header 6": "\u6a19\u984c 6", "Redo": "\u53d6\u6d88\u5fa9\u539f", "Paragraph": "\u6bb5\u843d", "Ok": "\u78ba\u5b9a", "Bold": "\u7c97\u9ad4", "Code": "\u7a0b\u5f0f\u78bc", "Italic": "\u659c\u9ad4", "Align center": "\u7f6e\u4e2d\u5c0d\u9f4a", "Header 5": "\u6a19\u984c 5", "Decrease indent": "\u6e1b\u5c11\u7e2e\u6392", "Header 4": "\u6a19\u984c 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u76ee\u524d\u5c07\u4ee5\u7d14\u6587\u5b57\u7684\u6a21\u5f0f\u8cbc\u4e0a\uff0c\u60a8\u53ef\u4ee5\u518d\u9ede\u9078\u4e00\u6b21\u53d6\u6d88\u3002", "Underline": "\u5e95\u7dda", "Cancel": "\u53d6\u6d88", "Justify": "\u5de6\u53f3\u5c0d\u9f4a", "Inline": "Inline", "Copy": "\u8907\u88fd", "Align left": "\u7f6e\u5de6\u5c0d\u9f4a", "Visual aids": "\u5c0f\u5e6b\u624b", "Lower Greek": "\u5e0c\u81d8\u5b57\u6bcd", "Square": "\u6b63\u65b9\u5f62", "Default": "\u9810\u8a2d", "Lower Alpha": "\u5c0f\u5beb\u82f1\u6587\u5b57\u6bcd", "Circle": "\u7a7a\u5fc3\u5713", "Disc": "\u5be6\u5fc3\u5713", "Upper Alpha": "\u5927\u5beb\u82f1\u6587\u5b57\u6bcd", "Upper Roman": "\u5927\u5beb\u7f85\u99ac\u6578\u5b57", "Lower Roman": "\u5c0f\u5beb\u7f85\u99ac\u6578\u5b57", "Name": "\u540d\u7a31", "Anchor": "\u52a0\u5165\u9328\u9ede", "You have unsaved changes are you sure you want to navigate away?": "\u7de8\u8f2f\u5c1a\u672a\u88ab\u5132\u5b58\uff0c\u4f60\u78ba\u5b9a\u8981\u96e2\u958b\uff1f", "Restore last draft": "\u8f09\u5165\u4e0a\u4e00\u6b21\u7de8\u8f2f\u7684\u8349\u7a3f", "Special character": "\u7279\u6b8a\u5b57\u5143", "Source code": "\u539f\u59cb\u78bc", "Right to left": "\u5f9e\u53f3\u5230\u5de6", "Left to right": "\u5f9e\u5de6\u5230\u53f3", "Emoticons": "\u8868\u60c5", "Robots": "\u6a5f\u5668\u4eba", "Document properties": "\u6587\u4ef6\u7684\u5c6c\u6027", "Title": "\u6a19\u984c", "Keywords": "\u95dc\u9375\u5b57", "Encoding": "\u7de8\u78bc", "Description": "\u63cf\u8ff0", "Author": "\u4f5c\u8005", "Fullscreen": "\u5168\u87a2\u5e55", "Horizontal line": "\u6c34\u5e73\u7dda", "Horizontal space": "\u5bec\u5ea6", "Insert\/edit image": "\u63d2\u5165\/\u7de8\u8f2f \u5716\u7247", "General": "\u4e00\u822c", "Advanced": "\u9032\u968e", "Source": "\u5716\u7247\u7db2\u5740", "Border": "\u908a\u6846", "Constrain proportions": "\u7b49\u6bd4\u4f8b\u7e2e\u653e", "Vertical space": "\u9ad8\u5ea6", "Image description": "\u5716\u7247\u63cf\u8ff0", "Style": "\u6a23\u5f0f", "Dimensions": "\u5c3a\u5bf8", "Insert image": "\u63d2\u5165\u5716\u7247", "Insert date\/time": "\u63d2\u5165 \u65e5\u671f\/\u6642\u9593", "Remove link": "\u79fb\u9664\u9023\u7d50", "Url": "\u7db2\u5740", "Text to display": "\u986f\u793a\u6587\u5b57", "Anchors": "\u52a0\u5165\u9328\u9ede", "Insert link": "\u63d2\u5165\u9023\u7d50", "New window": "\u53e6\u958b\u8996\u7a97", "None": "\u7121", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u958b\u555f\u65b9\u5f0f", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "\u63d2\u5165\/\u7de8\u8f2f\u9023\u7d50", "Insert\/edit video": "\u63d2\u4ef6\/\u7de8\u8f2f \u5f71\u97f3", "Poster": "\u9810\u89bd\u5716\u7247", "Alternative source": "\u66ff\u4ee3\u5f71\u97f3", "Paste your embed code below:": "\u8acb\u5c07\u60a8\u7684\u5d4c\u5165\u5f0f\u7a0b\u5f0f\u78bc\u8cbc\u5728\u4e0b\u9762:", "Insert video": "\u63d2\u5165\u5f71\u97f3", "Embed": "\u5d4c\u5165\u78bc", "Nonbreaking space": "\u4e0d\u5206\u884c\u7684\u7a7a\u683c", "Page break": "\u5206\u9801", "Paste as text": "\u4ee5\u7d14\u6587\u5b57\u8cbc\u4e0a", "Preview": "\u9810\u89bd", "Print": "\u5217\u5370", "Save": "\u5132\u5b58", "Could not find the specified string.": "\u7121\u6cd5\u67e5\u8a62\u5230\u6b64\u7279\u5b9a\u5b57\u4e32", "Replace": "\u66ff\u63db", "Next": "\u4e0b\u4e00\u500b", "Whole words": "\u6574\u500b\u55ae\u5b57", "Find and replace": "\u5c0b\u627e\u53ca\u53d6\u4ee3", "Replace with": "\u66f4\u63db", "Find": "\u641c\u5c0b", "Replace all": "\u66ff\u63db\u5168\u90e8", "Match case": "\u76f8\u5339\u914d\u6848\u4ef6", "Prev": "\u4e0a\u4e00\u500b", "Spellcheck": "\u62fc\u5b57\u6aa2\u67e5", "Finish": "\u5b8c\u6210", "Ignore all": "\u5ffd\u7565\u6240\u6709", "Ignore": "\u5ffd\u7565", "Insert row before": "\u63d2\u5165\u5217\u5728...\u4e4b\u524d", "Rows": "\u5217", "Height": "\u9ad8\u5ea6", "Paste row after": "\u8cbc\u4e0a\u5217\u5728...\u4e4b\u5f8c", "Alignment": "\u5c0d\u9f4a", "Column group": "\u6b04\u4f4d\u7fa4\u7d44", "Row": "\u5217", "Insert column before": "\u63d2\u5165\u6b04\u4f4d\u5728...\u4e4b\u524d", "Split cell": "\u5206\u5272\u5132\u5b58\u683c", "Cell padding": "\u5132\u5b58\u683c\u7684\u908a\u8ddd", "Cell spacing": "\u5132\u5b58\u683c\u5f97\u9593\u8ddd", "Row type": "\u884c\u7684\u985e\u578b", "Insert table": "\u63d2\u5165\u8868\u683c", "Body": "\u4e3b\u9ad4", "Caption": "\u8868\u683c\u6a19\u984c", "Footer": "\u9801\u5c3e", "Delete row": "\u522a\u9664\u5217", "Paste row before": "\u8cbc\u4e0a\u5217\u5728...\u4e4b\u524d", "Scope": "\u7bc4\u570d", "Delete table": "\u522a\u9664\u8868\u683c", "Header cell": "\u6a19\u982d\u5132\u5b58\u683c", "Column": "\u884c", "Cell": "\u5132\u5b58\u683c", "Header": "\u6a19\u982d", "Cell type": "\u5132\u5b58\u683c\u7684\u985e\u578b", "Copy row": "\u8907\u88fd\u5217", "Row properties": "\u5217\u5c6c\u6027", "Table properties": "\u8868\u683c\u5c6c\u6027", "Row group": "\u5217\u7fa4\u7d44", "Right": "\u53f3\u908a", "Insert column after": "\u63d2\u5165\u6b04\u4f4d\u5728...\u4e4b\u5f8c", "Cols": "\u6b04\u4f4d\u6bb5", "Insert row after": "\u63d2\u5165\u5217\u5728...\u4e4b\u5f8c", "Width": "\u5bec\u5ea6", "Cell properties": "\u5132\u5b58\u683c\u5c6c\u6027", "Left": "\u5de6\u908a", "Cut row": "\u526a\u4e0b\u5217", "Delete column": "\u522a\u9664\u884c", "Center": "\u4e2d\u9593", "Merge cells": "\u5408\u4f75\u5132\u5b58\u683c", "Insert template": "\u63d2\u5165\u6a23\u7248", "Templates": "\u6a23\u7248", "Background color": "\u80cc\u666f\u984f\u8272", "Text color": "\u6587\u5b57\u984f\u8272", "Show blocks": "\u986f\u793a\u5340\u584a\u8cc7\u8a0a", "Show invisible characters": "\u986f\u793a\u96b1\u85cf\u5b57\u5143", "Words: {0}": "\u5b57\u6578\uff1a{0}", "Insert": "\u63d2\u5165", "File": "\u6a94\u6848", "Edit": "\u7de8\u8f2f", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u8c50\u5bcc\u7684\u6587\u672c\u5340\u57df\u3002\u6309ALT-F9\u524d\u5f80\u4e3b\u9078\u55ae\u3002\u6309ALT-F10\u547c\u53eb\u5de5\u5177\u6b04\u3002\u6309ALT-0\u5c0b\u6c42\u5e6b\u52a9", "Tools": "\u5de5\u5177", "View": "\u6aa2\u8996", "Table": "\u8868\u683c", "Format": "\u683c\u5f0f" });langs/fo.js000060400000015045152455403670006626 0ustar00tinymce.addI18n('fo',{ "Cut": "Klipp", "Header 2": "Header 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "T\u00edn kagi hevur ikki beinlei\u00f0is atgongd til setibor\u00f0i\u00f0. Vinarliga br\u00faka CTRL+X\/C\/V snarvegirnar \u00edsta\u00f0in.", "Div": "Div", "Paste": "L\u00edma", "Close": "Lat aftur", "Font Family": "Font Family", "Pre": "Pre", "Align right": "H\u00f8gra stilla", "New document": "N\u00fdtt skjal", "Blockquote": "Blockquote", "Numbered list": "Tal listi", "Increase indent": "vaks inndr\u00e1tt", "Formats": "Sni\u00f0", "Headers": "Headers", "Select all": "Vel alt", "Header 3": "Header 3", "Blocks": "Blocks", "Undo": "Angra ger", "Strikethrough": "Strika \u00edgj\u00f8gnum", "Bullet list": "Punkt listi", "Header 1": "Header 1", "Superscript": "H\u00e1skrift", "Clear formatting": "Strika sni\u00f0", "Font Sizes": "Font Sizes", "Subscript": "L\u00e1gskrift", "Header 6": "Header 6", "Redo": "Ger aftur", "Paragraph": "Paragraph", "Ok": "Ok", "Bold": "Feit", "Code": "Code", "Italic": "Sk\u00e1ktekstur", "Align center": "Mi\u00f0set", "Header 5": "Header 5", "Decrease indent": "Minka inndr\u00e1tt", "Header 4": "Header 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.", "Underline": "Undirstrika", "Cancel": "\u00d3gilda", "Justify": "L\u00edka breddar", "Inline": "Inline", "Copy": "Avrita", "Align left": "Vinstra stilla", "Visual aids": "Sj\u00f3nhj\u00e1lp", "Lower Greek": "L\u00edti Grikskt", "Square": "Fj\u00f3rhyrningur", "Default": "Forsettur", "Lower Alpha": "L\u00edti Alfa", "Circle": "Ringur", "Disc": "Skiva", "Upper Alpha": "St\u00f3rt Alfa", "Upper Roman": "St\u00f3rt R\u00f3mverskt", "Lower Roman": "L\u00edti R\u00f3mverskt", "Name": "Navn", "Anchor": "Akker", "You have unsaved changes are you sure you want to navigate away?": "T\u00fa hevur ikki goymdar broytingar. Ert t\u00fa v\u00edsur \u00ed at t\u00fa vilt halda fram?", "Restore last draft": "Endurskapa seinasta uppkast", "Special character": "Serst\u00f8k tekn", "Source code": "keldukoda", "Right to left": "H\u00f8gra til vinstra", "Left to right": "Vinstra til h\u00f8gra", "Emoticons": "Emotikonur", "Robots": "Robottar", "Document properties": "Skjal eginleikar", "Title": "Heiti", "Keywords": "Leitior\u00f0", "Encoding": "Koding", "Description": "L\u00fdsing", "Author": "H\u00f8vundur", "Fullscreen": "Fullan sk\u00edggja", "Horizontal line": "Vatnr\u00f8tt linja", "Horizontal space": "Vatnr\u00e6tt fr\u00e1st\u00f8\u00f0a", "Insert\/edit image": "Innset\/r\u00e6tta mynd", "General": "Vanligt", "Advanced": "Framkomi", "Source": "Kelda", "Border": "Rammi", "Constrain proportions": "Var\u00f0veit lutfall", "Vertical space": "Loddr\u00e6t fr\u00e1st\u00f8\u00f0a", "Image description": "L\u00fdsing av mynd", "Style": "St\u00edlur", "Dimensions": "St\u00f8dd", "Insert image": "Insert image", "Insert date\/time": "Innset dag\/t\u00ed\u00f0", "Remove link": "Remove link", "Url": "Url", "Text to display": "Tekstur at v\u00edsa", "Anchors": "Anchors", "Insert link": "Innset leinkju", "New window": "N\u00fdggjan glugga", "None": "Eingin", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "M\u00e1l", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Innset\/r\u00e6tta leinkju", "Insert\/edit video": "Innset\/r\u00e6tta kykmynd", "Poster": "Uppslag", "Alternative source": "Onnur kelda", "Paste your embed code below:": "Innset ta\u00f0 kodu, sum skal leggjast inn \u00ed, ni\u00f0anfyri:", "Insert video": "Innset kykmynd", "Embed": "Legg inn \u00ed", "Nonbreaking space": "Hart millumr\u00fam", "Page break": "S\u00ed\u00f0uskift", "Paste as text": "Paste as text", "Preview": "V\u00eds frammanundan", "Print": "Prenta", "Save": "Goym", "Could not find the specified string.": "Kundi ikki finna leititekst", "Replace": "Set \u00edsta\u00f0in", "Next": "N\u00e6sta", "Whole words": "Heil or\u00f0", "Find and replace": "Finn og set \u00edsta\u00f0in", "Replace with": "Set \u00edsta\u00f0in", "Find": "Finn", "Replace all": "Set \u00edsta\u00f0in fyri \u00f8ll", "Match case": "ST\u00d3RIR og l\u00edtlir b\u00f3kstavir", "Prev": "Fyrra", "Spellcheck": "R\u00e6ttstavari", "Finish": "Enda", "Ignore all": "Leyp alt um", "Ignore": "Leyp um", "Insert row before": "Innset ra\u00f0 \u00e1\u00f0renn", "Rows": "R\u00f8\u00f0", "Height": "H\u00e6dd", "Paste row after": "L\u00edma ra\u00f0 aftan\u00e1", "Alignment": "Stilling", "Column group": "Teig b\u00f3lkur", "Row": "Ra\u00f0", "Insert column before": "Innset teig \u00e1\u00f0renn", "Split cell": "Syndra puntar", "Cell padding": "Punt fylling", "Cell spacing": "Punt fr\u00e1st\u00f8\u00f0a", "Row type": "Ra\u00f0 slag", "Insert table": "Innset talvu", "Body": "Likam", "Caption": "Tekstur", "Footer": "F\u00f3tur", "Delete row": "Skrika ra\u00f0", "Paste row before": "L\u00edma ra\u00f0 \u00e1\u00f0renn", "Scope": "N\u00fdtslu\u00f8ki", "Delete table": "Strika talvu", "Header cell": "H\u00f8vd puntur", "Column": "Teigur", "Cell": "Puntur", "Header": "H\u00f8vd", "Cell type": "Punt slag", "Copy row": "Avrita ra\u00f0", "Row properties": "Ra\u00f0 eginleikar", "Table properties": "Talvu eginleikar", "Row group": "Ra\u00f0 b\u00f3lkur", "Right": "H\u00f8gra", "Insert column after": "Innset teig aftan\u00e1", "Cols": "Teigar", "Insert row after": "Innset ra\u00f0 aftan\u00e1", "Width": "Breidd", "Cell properties": "Punt eginleikar", "Left": "Vinstra", "Cut row": "Klipp ra\u00f0", "Delete column": "Strika teig", "Center": "Mi\u00f0a", "Merge cells": "Fl\u00e6tta puntar", "Insert template": "Innset form", "Templates": "Formur", "Background color": "Bakgrundslitur", "Text color": "Tekst litur", "Show blocks": "V\u00eds blokkar", "Show invisible characters": "V\u00eds \u00f3sj\u00f3nlig tekn", "Words: {0}": "Or\u00f0: {0}", "Insert": "Innset", "File": "F\u00edla", "Edit": "Ritstj\u00f3rna", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "R\u00edkt Tekst \u00d8ki. Tr\u00fdst ALT-F9 fyri valmynd. Tr\u00fdst ALT-F10 fyri ambo\u00f0slinju. Tr\u00fdst ALT-0 fyri hj\u00e1lp", "Tools": "Ambo\u00f0", "View": "V\u00eds", "Table": "Talva", "Format": "Smi\u00f0" });langs/readme.md000060400000000227152455403670007437 0ustar00This is where language files should be placed. Please DO NOT translate these directly use this service: https://www.transifex.com/projects/p/tinymce/ langs/zh-CN.js000060400000023310152455403670007133 0ustar00tinymce.addI18n('zh-CN',{ "Cut": "\u526a\u5207", "Heading 5": "\u6807\u98985", "Header 2": "\u6807\u98982", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u4f60\u7684\u6d4f\u89c8\u5668\u4e0d\u652f\u6301\u5bf9\u526a\u8d34\u677f\u7684\u8bbf\u95ee\uff0c\u8bf7\u4f7f\u7528Ctrl+X\/C\/V\u952e\u8fdb\u884c\u590d\u5236\u7c98\u8d34\u3002", "Heading 4": "\u6807\u98984", "Div": "Div\u533a\u5757", "Heading 2": "\u6807\u98982", "Paste": "\u7c98\u8d34", "Close": "\u5173\u95ed", "Font Family": "\u5b57\u4f53", "Pre": "\u9884\u683c\u5f0f\u6587\u672c", "Align right": "\u53f3\u5bf9\u9f50", "New document": "\u65b0\u6587\u6863", "Blockquote": "\u5f15\u7528", "Numbered list": "\u7f16\u53f7\u5217\u8868", "Heading 1": "\u6807\u98981", "Headings": "\u6807\u9898", "Increase indent": "\u589e\u52a0\u7f29\u8fdb", "Formats": "\u683c\u5f0f", "Headers": "\u6807\u9898", "Select all": "\u5168\u9009", "Header 3": "\u6807\u98983", "Blocks": "\u533a\u5757", "Undo": "\u64a4\u6d88", "Strikethrough": "\u5220\u9664\u7ebf", "Bullet list": "\u9879\u76ee\u7b26\u53f7", "Header 1": "\u6807\u98981", "Superscript": "\u4e0a\u6807", "Clear formatting": "\u6e05\u9664\u683c\u5f0f", "Font Sizes": "\u5b57\u53f7", "Subscript": "\u4e0b\u6807", "Header 6": "\u6807\u98986", "Redo": "\u91cd\u590d", "Paragraph": "\u6bb5\u843d", "Ok": "\u786e\u5b9a", "Bold": "\u7c97\u4f53", "Code": "\u4ee3\u7801", "Italic": "\u659c\u4f53", "Align center": "\u5c45\u4e2d", "Header 5": "\u6807\u98985", "Heading 6": "\u6807\u98986", "Heading 3": "\u6807\u98983", "Decrease indent": "\u51cf\u5c11\u7f29\u8fdb", "Header 4": "\u6807\u98984", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u5f53\u524d\u4e3a\u7eaf\u6587\u672c\u7c98\u8d34\u6a21\u5f0f\uff0c\u518d\u6b21\u70b9\u51fb\u53ef\u4ee5\u56de\u5230\u666e\u901a\u7c98\u8d34\u6a21\u5f0f\u3002", "Underline": "\u4e0b\u5212\u7ebf", "Cancel": "\u53d6\u6d88", "Justify": "\u4e24\u7aef\u5bf9\u9f50", "Inline": "\u6587\u672c", "Copy": "\u590d\u5236", "Align left": "\u5de6\u5bf9\u9f50", "Visual aids": "\u7f51\u683c\u7ebf", "Lower Greek": "\u5c0f\u5199\u5e0c\u814a\u5b57\u6bcd", "Square": "\u65b9\u5757", "Default": "\u9ed8\u8ba4", "Lower Alpha": "\u5c0f\u5199\u82f1\u6587\u5b57\u6bcd", "Circle": "\u7a7a\u5fc3\u5706", "Disc": "\u5b9e\u5fc3\u5706", "Upper Alpha": "\u5927\u5199\u82f1\u6587\u5b57\u6bcd", "Upper Roman": "\u5927\u5199\u7f57\u9a6c\u5b57\u6bcd", "Lower Roman": "\u5c0f\u5199\u7f57\u9a6c\u5b57\u6bcd", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u6807\u8bc6\u7b26\u5e94\u8be5\u4ee5\u5b57\u6bcd\u5f00\u5934\uff0c\u540e\u8ddf\u5b57\u6bcd\u3001\u6570\u5b57\u3001\u7834\u6298\u53f7\u3001\u70b9\u3001\u5192\u53f7\u6216\u4e0b\u5212\u7ebf\u3002", "Name": "\u540d\u79f0", "Anchor": "\u951a\u70b9", "Id": "\u6807\u8bc6\u7b26", "You have unsaved changes are you sure you want to navigate away?": "\u4f60\u8fd8\u6709\u6587\u6863\u5c1a\u672a\u4fdd\u5b58\uff0c\u786e\u5b9a\u8981\u79bb\u5f00\uff1f", "Restore last draft": "\u6062\u590d\u4e0a\u6b21\u7684\u8349\u7a3f", "Special character": "\u7279\u6b8a\u7b26\u53f7", "Source code": "\u6e90\u4ee3\u7801", "Language": "\u8bed\u8a00", "Insert\/Edit code sample": "\u63d2\u5165\/\u7f16\u8f91\u4ee3\u7801\u793a\u4f8b", "B": "B", "R": "R", "G": "G", "Color": "\u989c\u8272", "Right to left": "\u4ece\u53f3\u5230\u5de6", "Left to right": "\u4ece\u5de6\u5230\u53f3", "Emoticons": "\u8868\u60c5", "Robots": "\u673a\u5668\u4eba", "Document properties": "\u6587\u6863\u5c5e\u6027", "Title": "\u6807\u9898", "Keywords": "\u5173\u952e\u8bcd", "Encoding": "\u7f16\u7801", "Description": "\u63cf\u8ff0", "Author": "\u4f5c\u8005", "Fullscreen": "\u5168\u5c4f", "Horizontal line": "\u6c34\u5e73\u5206\u5272\u7ebf", "Horizontal space": "\u6c34\u5e73\u8fb9\u8ddd", "Insert\/edit image": "\u63d2\u5165\/\u7f16\u8f91\u56fe\u7247", "General": "\u666e\u901a", "Advanced": "\u9ad8\u7ea7", "Source": "\u5730\u5740", "Border": "\u8fb9\u6846", "Constrain proportions": "\u4fdd\u6301\u7eb5\u6a2a\u6bd4", "Vertical space": "\u5782\u76f4\u8fb9\u8ddd", "Image description": "\u56fe\u7247\u63cf\u8ff0", "Style": "\u6837\u5f0f", "Dimensions": "\u5927\u5c0f", "Insert image": "\u63d2\u5165\u56fe\u7247", "Image": "\u56fe\u7247", "Zoom in": "\u653e\u5927", "Contrast": "\u5bf9\u6bd4\u5ea6", "Back": "\u540e\u9000", "Gamma": "\u4f3d\u9a6c\u503c", "Flip horizontally": "\u6c34\u5e73\u7ffb\u8f6c", "Resize": "\u8c03\u6574\u5927\u5c0f", "Sharpen": "\u9510\u5316", "Zoom out": "\u7f29\u5c0f", "Image options": "\u56fe\u7247\u9009\u9879", "Apply": "\u5e94\u7528", "Brightness": "\u4eae\u5ea6", "Rotate clockwise": "\u987a\u65f6\u9488\u65cb\u8f6c", "Rotate counterclockwise": "\u9006\u65f6\u9488\u65cb\u8f6c", "Edit image": "\u7f16\u8f91\u56fe\u7247", "Color levels": "\u989c\u8272\u5c42\u6b21", "Crop": "\u88c1\u526a", "Orientation": "\u65b9\u5411", "Flip vertically": "\u5782\u76f4\u7ffb\u8f6c", "Invert": "\u53cd\u8f6c", "Date\/time": "\u65e5\u671f\/\u65f6\u95f4", "Insert date\/time": "\u63d2\u5165\u65e5\u671f\/\u65f6\u95f4", "Remove link": "\u5220\u9664\u94fe\u63a5", "Url": "\u5730\u5740", "Text to display": "\u663e\u793a\u6587\u5b57", "Anchors": "\u951a\u70b9", "Insert link": "\u63d2\u5165\u94fe\u63a5", "Link": "\u94fe\u63a5", "New window": "\u5728\u65b0\u7a97\u53e3\u6253\u5f00", "None": "\u65e0", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u5c5e\u4e8e\u5916\u90e8\u94fe\u63a5\uff0c\u9700\u8981\u52a0\u4e0ahttp:\/\/:\u524d\u7f00\u5417\uff1f", "Paste or type a link": "\u7c98\u8d34\u6216\u8f93\u5165\u94fe\u63a5", "Target": "\u6253\u5f00\u65b9\u5f0f", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u4f60\u6240\u586b\u5199\u7684URL\u5730\u5740\u4e3a\u90ae\u4ef6\u5730\u5740\uff0c\u9700\u8981\u52a0\u4e0amailto:\u524d\u7f00\u5417\uff1f", "Insert\/edit link": "\u63d2\u5165\/\u7f16\u8f91\u94fe\u63a5", "Insert\/edit video": "\u63d2\u5165\/\u7f16\u8f91\u89c6\u9891", "Media": "\u5a92\u4f53", "Alternative source": "\u955c\u50cf", "Paste your embed code below:": "\u5c06\u5185\u5d4c\u4ee3\u7801\u7c98\u8d34\u5728\u4e0b\u9762:", "Insert video": "\u63d2\u5165\u89c6\u9891", "Poster": "\u5c01\u9762", "Insert\/edit media": "\u63d2\u5165\/\u7f16\u8f91\u5a92\u4f53", "Embed": "\u5185\u5d4c", "Nonbreaking space": "\u4e0d\u95f4\u65ad\u7a7a\u683c", "Page break": "\u5206\u9875\u7b26", "Paste as text": "\u7c98\u8d34\u4e3a\u6587\u672c", "Preview": "\u9884\u89c8", "Print": "\u6253\u5370", "Save": "\u4fdd\u5b58", "Could not find the specified string.": "\u672a\u627e\u5230\u641c\u7d22\u5185\u5bb9.", "Replace": "\u66ff\u6362", "Next": "\u4e0b\u4e00\u4e2a", "Whole words": "\u5168\u5b57\u5339\u914d", "Find and replace": "\u67e5\u627e\u548c\u66ff\u6362", "Replace with": "\u66ff\u6362\u4e3a", "Find": "\u67e5\u627e", "Replace all": "\u5168\u90e8\u66ff\u6362", "Match case": "\u533a\u5206\u5927\u5c0f\u5199", "Prev": "\u4e0a\u4e00\u4e2a", "Spellcheck": "\u62fc\u5199\u68c0\u67e5", "Finish": "\u5b8c\u6210", "Ignore all": "\u5168\u90e8\u5ffd\u7565", "Ignore": "\u5ffd\u7565", "Add to Dictionary": "\u6dfb\u52a0\u5230\u5b57\u5178", "Insert row before": "\u5728\u4e0a\u65b9\u63d2\u5165", "Rows": "\u884c", "Height": "\u9ad8", "Paste row after": "\u7c98\u8d34\u5230\u4e0b\u65b9", "Alignment": "\u5bf9\u9f50\u65b9\u5f0f", "Border color": "\u8fb9\u6846\u989c\u8272", "Column group": "\u5217\u7ec4", "Row": "\u884c", "Insert column before": "\u5728\u5de6\u4fa7\u63d2\u5165", "Split cell": "\u62c6\u5206\u5355\u5143\u683c", "Cell padding": "\u5355\u5143\u683c\u5185\u8fb9\u8ddd", "Cell spacing": "\u5355\u5143\u683c\u5916\u95f4\u8ddd", "Row type": "\u884c\u7c7b\u578b", "Insert table": "\u63d2\u5165\u8868\u683c", "Body": "\u8868\u4f53", "Caption": "\u6807\u9898", "Footer": "\u8868\u5c3e", "Delete row": "\u5220\u9664\u884c", "Paste row before": "\u7c98\u8d34\u5230\u4e0a\u65b9", "Scope": "\u8303\u56f4", "Delete table": "\u5220\u9664\u8868\u683c", "H Align": "\u6c34\u5e73\u5bf9\u9f50", "Top": "\u9876\u90e8\u5bf9\u9f50", "Header cell": "\u8868\u5934\u5355\u5143\u683c", "Column": "\u5217", "Row group": "\u884c\u7ec4", "Cell": "\u5355\u5143\u683c", "Middle": "\u5782\u76f4\u5c45\u4e2d", "Cell type": "\u5355\u5143\u683c\u7c7b\u578b", "Copy row": "\u590d\u5236\u884c", "Row properties": "\u884c\u5c5e\u6027", "Table properties": "\u8868\u683c\u5c5e\u6027", "Bottom": "\u5e95\u90e8\u5bf9\u9f50", "V Align": "\u5782\u76f4\u5bf9\u9f50", "Header": "\u8868\u5934", "Right": "\u53f3\u5bf9\u9f50", "Insert column after": "\u5728\u53f3\u4fa7\u63d2\u5165", "Cols": "\u5217", "Insert row after": "\u5728\u4e0b\u65b9\u63d2\u5165", "Width": "\u5bbd", "Cell properties": "\u5355\u5143\u683c\u5c5e\u6027", "Left": "\u5de6\u5bf9\u9f50", "Cut row": "\u526a\u5207\u884c", "Delete column": "\u5220\u9664\u5217", "Center": "\u5c45\u4e2d", "Merge cells": "\u5408\u5e76\u5355\u5143\u683c", "Insert template": "\u63d2\u5165\u6a21\u677f", "Templates": "\u6a21\u677f", "Background color": "\u80cc\u666f\u8272", "Custom...": "\u81ea\u5b9a\u4e49...", "Custom color": "\u81ea\u5b9a\u4e49\u989c\u8272", "No color": "\u65e0", "Text color": "\u6587\u5b57\u989c\u8272", "Table of Contents": "\u5185\u5bb9\u5217\u8868", "Show blocks": "\u663e\u793a\u533a\u5757\u8fb9\u6846", "Show invisible characters": "\u663e\u793a\u4e0d\u53ef\u89c1\u5b57\u7b26", "Words: {0}": "\u5b57\u6570\uff1a{0}", "Insert": "\u63d2\u5165", "File": "\u6587\u4ef6", "Edit": "\u7f16\u8f91", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u5728\u7f16\u8f91\u533a\u6309ALT-F9\u6253\u5f00\u83dc\u5355\uff0c\u6309ALT-F10\u6253\u5f00\u5de5\u5177\u680f\uff0c\u6309ALT-0\u67e5\u770b\u5e2e\u52a9", "Tools": "\u5de5\u5177", "View": "\u89c6\u56fe", "Table": "\u8868\u683c", "Format": "\u683c\u5f0f" });langs/bg.js000060400000047053152455403670006616 0ustar00tinymce.addI18n('bg',{ "Cut": "\u0418\u0437\u0440\u044f\u0437\u0432\u0430\u043d\u0435", "Header 2": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0412\u0430\u0448\u0438\u044f\u0442 \u0431\u0440\u0430\u0443\u0437\u044a\u0440 \u043d\u0435 \u043f\u043e\u0434\u0434\u044a\u0440\u0436\u0430 \u0434\u0438\u0440\u0435\u043a\u0442\u0435\u043d \u0434\u043e\u0441\u0442\u044a\u043f \u0434\u043e \u043a\u043b\u0438\u043f\u0431\u043e\u0440\u0434\u0430. \u0412\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0432\u0430 \u0438\u0437\u043f\u043e\u043b\u0437\u0432\u0430\u0439\u0442\u0435 \u043a\u043b\u0430\u0432\u0438\u0448\u043d\u0438\u0442\u0435 \u043a\u043e\u043c\u0431\u0438\u043d\u0430\u0446\u0438\u0438 Ctrl+X (\u0437\u0430 \u0438\u0437\u0440\u044f\u0437\u0432\u0430\u043d\u0435), Ctrl+C (\u0437\u0430 \u043a\u043e\u043f\u0438\u0440\u0430\u043d\u0435) \u0438 Ctrl+V (\u0437\u0430 \u043f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435).", "Div": "\u0411\u043b\u043e\u043a", "Paste": "\u041f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435", "Close": "\u0417\u0430\u0442\u0432\u0430\u0440\u044f\u043d\u0435", "Font Family": "\u0428\u0440\u0438\u0444\u0442", "Pre": "\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u043d\u043e \u043e\u0444\u043e\u0440\u043c\u0435\u043d \u0442\u0435\u043a\u0441\u0442", "Align right": "\u041f\u043e\u0434\u0440\u0430\u0432\u043d\u044f\u0432\u0430\u043d\u0435 \u043e\u0442\u0434\u044f\u0441\u043d\u043e", "New document": "\u041d\u043e\u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442", "Blockquote": "\u0426\u0438\u0442\u0430\u0442", "Numbered list": "\u041d\u043e\u043c\u0435\u0440\u0438\u0440\u0430\u043d \u0441\u043f\u0438\u0441\u044a\u043a", "Increase indent": "\u0423\u0432\u0435\u043b\u0438\u0447\u0430\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0441\u0442\u044a\u043f\u0430", "Formats": "\u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d\u0435", "Headers": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u044f", "Select all": "\u041c\u0430\u0440\u043a\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0446\u044f\u043b\u043e\u0442\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435", "Header 3": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435 3", "Blocks": "\u0411\u043b\u043e\u043a\u043e\u0432\u0435", "Undo": "\u0412\u044a\u0440\u043d\u0438", "Strikethrough": "\u0417\u0430\u0447\u0435\u0440\u0442\u0430\u0432\u0430\u043d\u0435", "Bullet list": "\u0421\u043f\u0438\u0441\u044a\u043a \u0441 \u0432\u043e\u0434\u0430\u0447\u0438", "Header 1": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435 1", "Superscript": "\u0413\u043e\u0440\u0435\u043d \u0438\u043d\u0434\u0435\u043a\u0441", "Clear formatting": "\u0418\u0437\u0447\u0438\u0441\u0442\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d\u0435\u0442\u043e", "Font Sizes": "\u0420\u0430\u0437\u043c\u0435\u0440 \u043d\u0430 \u0448\u0440\u0438\u0444\u0442\u0430", "Subscript": "\u0414\u043e\u043b\u0435\u043d \u0438\u043d\u0434\u0435\u043a\u0441", "Header 6": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435 6", "Redo": "\u041e\u0442\u043c\u0435\u043d\u0438", "Paragraph": "\u041f\u0430\u0440\u0430\u0433\u0440\u0430\u0444", "Ok": "\u0414\u043e\u0431\u0440\u0435", "Bold": "\u0423\u0434\u0435\u0431\u0435\u043b\u0435\u043d (\u043f\u043e\u043b\u0443\u0447\u0435\u0440)", "Code": "\u041a\u043e\u0434", "Italic": "\u041d\u0430\u043a\u043b\u043e\u043d\u0435\u043d (\u043a\u0443\u0440\u0441\u0438\u0432)", "Align center": "\u0426\u0435\u043d\u0442\u0440\u0438\u0440\u0430\u043d\u043e", "Header 5": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435 5", "Decrease indent": "\u041d\u0430\u043c\u0430\u043b\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043e\u0442\u0441\u0442\u044a\u043f\u0430", "Header 4": "\u0417\u0430\u0433\u043b\u0430\u0432\u0438\u0435 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u041f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435\u0442\u043e \u0432 \u043c\u043e\u043c\u0435\u043d\u0442\u0430 \u0435 \u0432 \u043e\u0431\u0438\u043a\u043d\u043e\u0432\u0435\u043d \u0440\u0435\u0436\u0438\u043c. \u0421\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435\u0442\u043e \u0449\u0435 \u0431\u044a\u0434\u0435 \u043f\u043e\u0441\u0442\u0430\u0432\u0435\u043d\u043e \u043a\u0430\u0442\u043e \u043d\u0435\u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d \u0442\u0435\u043a\u0441\u0442, \u0434\u043e\u043a\u0430\u0442\u043e \u0438\u0437\u043a\u043b\u044e\u0447\u0438\u0442\u0435 \u0442\u0430\u0437\u0438 \u043e\u043f\u0446\u0438\u044f.", "Underline": "\u041f\u043e\u0434\u0447\u0435\u0440\u0442\u0430\u043d", "Cancel": "\u041e\u0442\u043a\u0430\u0437", "Justify": "\u0414\u0432\u0443\u0441\u0442\u0440\u0430\u043d\u043d\u043e \u043f\u043e\u0434\u0440\u0430\u0432\u043d\u044f\u0432\u0430\u043d\u0435", "Inline": "\u041d\u0430 \u0435\u0434\u0438\u043d \u0440\u0435\u0434", "Copy": "\u041a\u043e\u043f\u0438\u0440\u0430\u043d\u0435", "Align left": "\u041f\u043e\u0434\u0440\u0430\u0432\u043d\u044f\u0432\u0430\u043d\u0435 \u043e\u0442\u043b\u044f\u0432\u043e", "Visual aids": "\u0412\u0438\u0437\u0443\u0430\u043b\u043d\u043e \u043e\u0442\u043a\u0440\u043e\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0438 \u0431\u0435\u0437 \u043a\u0430\u043d\u0442\u043e\u0432\u0435 (\u0440\u0430\u043c\u043a\u0438)", "Lower Greek": "\u041c\u0430\u043b\u043a\u0438 \u0433\u0440\u044a\u0446\u043a\u0438 \u0431\u0443\u043a\u0432\u0438", "Square": "\u0417\u0430\u043f\u044a\u043b\u043d\u0435\u043d\u0438 \u043a\u0432\u0430\u0434\u0440\u0430\u0442\u0438", "Default": "\u041f\u043e \u043f\u043e\u0434\u0440\u0430\u0437\u0431\u0438\u0440\u0430\u043d\u0435", "Lower Alpha": "\u041c\u0430\u043b\u043a\u0438 \u0431\u0443\u043a\u0432\u0438", "Circle": "\u041e\u043a\u0440\u044a\u0436\u043d\u043e\u0441\u0442\u0438", "Disc": "\u041a\u0440\u044a\u0433\u0447\u0435\u0442\u0430", "Upper Alpha": "\u0413\u043b\u0430\u0432\u043d\u0438 \u0431\u0443\u043a\u0432\u0438", "Upper Roman": "\u0420\u0438\u043c\u0441\u043a\u0438 \u0447\u0438\u0441\u043b\u0430 \u0441 \u0433\u043b\u0430\u0432\u043d\u0438 \u0431\u0443\u043a\u0432\u0438", "Lower Roman": "\u0420\u0438\u043c\u0441\u043a\u0438 \u0447\u0438\u0441\u043b\u0430 \u0441 \u043c\u0430\u043b\u043a\u0438 \u0431\u0443\u043a\u0432\u0438", "Name": "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435", "Anchor": "\u041a\u043e\u0442\u0432\u0430 (\u0432\u0440\u044a\u0437\u043a\u0430 \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430)", "You have unsaved changes are you sure you want to navigate away?": "\u0412 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0438\u043c\u0430 \u043d\u0435\u0437\u0430\u043f\u0430\u0437\u0435\u043d\u0438 \u043f\u0440\u043e\u043c\u0435\u043d\u0438. \u0429\u0435 \u043f\u0440\u043e\u0434\u044a\u043b\u0436\u0438\u0442\u0435 \u043b\u0438?", "Restore last draft": "\u0412\u044a\u0437\u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0432\u0430\u043d\u0435 \u043d\u0430 \u043f\u043e\u0441\u043b\u0435\u0434\u043d\u0430\u0442\u0430 \u0447\u0435\u0440\u043d\u043e\u0432\u0430", "Special character": "\u0421\u043f\u0435\u0446\u0438\u0430\u043b\u0435\u043d \u0437\u043d\u0430\u043a", "Source code": "\u0418\u0437\u0445\u043e\u0434\u0435\u043d \u043a\u043e\u0434 \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430 \u0432 HTML", "Right to left": "\u041e\u0442\u0434\u044f\u0441\u043d\u043e \u043d\u0430\u043b\u044f\u0432\u043e", "Left to right": "\u041e\u0442\u043b\u044f\u0432\u043e \u043d\u0430\u0434\u044f\u0441\u043d\u043e", "Emoticons": "\u0415\u043c\u043e\u0442\u0438\u043a\u043e\u043d\u0438", "Robots": "\u0420\u043e\u0431\u043e\u0442\u0438 \u043d\u0430 \u0443\u0435\u0431 \u0442\u044a\u0440\u0441\u0430\u0447\u043a\u0438", "Document properties": "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430", "Title": "\u041d\u0430\u0438\u043c\u0435\u043d\u043e\u0432\u0430\u043d\u0438\u0435", "Keywords": "\u041a\u043b\u044e\u0447\u043e\u0432\u0438 \u0434\u0443\u043c\u0438", "Encoding": "\u041a\u043e\u0434\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0437\u043d\u0430\u0446\u0438\u0442\u0435", "Description": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435", "Author": "\u0410\u0432\u0442\u043e\u0440", "Fullscreen": "\u041d\u0430 \u0446\u044f\u043b \u0435\u043a\u0440\u0430\u043d", "Horizontal line": "\u0425\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u0430 \u0447\u0435\u0440\u0442\u0430", "Horizontal space": "\u0425\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e", "Insert\/edit image": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435\/\u043a\u043e\u0440\u0435\u043a\u0446\u0438\u044f \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430", "General": "\u041e\u0431\u0449\u043e", "Advanced": "\u041f\u043e\u0434\u0440\u043e\u0431\u043d\u043e", "Source": "\u0410\u0434\u0440\u0435\u0441", "Border": "\u041a\u0430\u043d\u0442 (\u0440\u0430\u043c\u043a\u0430)", "Constrain proportions": "\u0417\u0430\u0432\u0430\u0437\u043d\u0430\u0432\u0435 \u043d\u0430 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0438\u0438\u0442\u0435", "Vertical space": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u0440\u0430\u043d\u0441\u0442\u0432\u043e", "Image description": "\u041e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u043d\u0430 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0430\u0442\u0430", "Style": "\u0421\u0442\u0438\u043b", "Dimensions": "\u0420\u0430\u0437\u043c\u0435\u0440", "Insert image": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0438\u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u0438\u0435", "Insert date\/time": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0434\u0430\u0442\u0430\/\u0447\u0430\u0441", "Remove link": "\u041f\u0440\u0435\u043c\u0430\u0445\u0432\u0430\u043d\u0435 \u043d\u0430 \u0445\u0438\u043f\u0435\u0440\u0432\u0440\u044a\u0437\u043a\u0430", "Url": "\u0410\u0434\u0440\u0435\u0441 (URL)", "Text to display": "\u0422\u0435\u043a\u0441\u0442", "Anchors": "\u041a\u043e\u0442\u0432\u0438", "Insert link": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0445\u0438\u043f\u0435\u0440\u0432\u0440\u044a\u0437\u043a\u0430 (\u043b\u0438\u043d\u043a)", "New window": "\u0412 \u043d\u043e\u0432 \u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446 (\u043f\u043e\u0434\u043f\u0440\u043e\u0437\u043e\u0440\u0435\u0446)", "None": "\u0411\u0435\u0437", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "\u0426\u0435\u043b \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435\/\u043a\u043e\u0440\u0435\u043a\u0446\u0438\u044f \u043d\u0430 \u0445\u0438\u043f\u0435\u0440\u0432\u0440\u044a\u0437\u043a\u0430 (\u043b\u0438\u043d\u043a)", "Insert\/edit video": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435\/\u043a\u043e\u0440\u0435\u043a\u0446\u0438\u044f \u043d\u0430 \u0432\u0438\u0434\u0435\u043e", "Poster": "\u041f\u043e\u0441\u0442\u0435\u0440", "Alternative source": "\u0410\u043b\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u0435\u043d \u0430\u0434\u0440\u0435\u0441", "Paste your embed code below:": "\u041f\u043e\u0441\u0442\u0430\u0432\u0435\u0442\u0435 \u043a\u043e\u0434\u0430 \u0437\u0430 \u0432\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435 \u0432 \u043f\u043e\u043b\u0435\u0442\u043e \u043f\u043e-\u0434\u043e\u043b\u0443:", "Insert video": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0432\u0438\u0434\u0435\u043e", "Embed": "\u0412\u0433\u0440\u0430\u0436\u0434\u0430\u043d\u0435", "Nonbreaking space": "\u0418\u043d\u0442\u0435\u0440\u0432\u0430\u043b", "Page break": "\u041d\u043e\u0432\u0430 \u0441\u0442\u0440\u0430\u043d\u0438\u0446\u0430", "Paste as text": "\u041f\u043e\u0441\u0442\u0430\u0432\u0438 \u043a\u0430\u0442\u043e \u0442\u0435\u043a\u0441\u0442", "Preview": "\u041f\u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u0435\u043d \u0438\u0437\u0433\u043b\u0435\u0434", "Print": "\u041f\u0435\u0447\u0430\u0442", "Save": "\u0421\u044a\u0445\u0440\u0430\u043d\u044f\u0432\u0430\u043d\u0435", "Could not find the specified string.": "\u0422\u044a\u0440\u0441\u0435\u043d\u0438\u044f\u0442 \u0442\u0435\u043a\u0441\u0442 \u043d\u0435 \u0435 \u043d\u0430\u043c\u0435\u0440\u0435\u043d.", "Replace": "\u0417\u0430\u043c\u044f\u043d\u0430", "Next": "\u0421\u043b\u0435\u0434\u0432\u0430\u0449", "Whole words": "\u0421\u0430\u043c\u043e \u0446\u0435\u043b\u0438 \u0434\u0443\u043c\u0438", "Find and replace": "\u0422\u044a\u0440\u0441\u0435\u043d\u0435 \u0438 \u0437\u0430\u043c\u044f\u043d\u0430", "Replace with": "\u0417\u0430\u043c\u044f\u043d\u0430 \u0441", "Find": "\u0422\u044a\u0440\u0441\u0435\u043d\u0435 \u0437\u0430", "Replace all": "\u0417\u0430\u043c\u044f\u043d\u0430 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u0438 \u0441\u0440\u0435\u0449\u0430\u043d\u0438\u044f", "Match case": "\u0421\u044a\u0432\u043f\u0430\u0434\u0435\u043d\u0438\u0435 \u043d\u0430 \u0440\u0435\u0433\u0438\u0441\u0442\u044a\u0440\u0430 (\u043c\u0430\u043b\u043a\u0438\/\u0433\u043b\u0430\u0432\u043d\u0438 \u0431\u0443\u043a\u0432\u0438)", "Prev": "\u041f\u0440\u0435\u0434\u0438\u0448\u0435\u043d", "Spellcheck": "\u041f\u0440\u043e\u0432\u0435\u0440\u043a\u0430 \u043d\u0430 \u043f\u0440\u0430\u0432\u043e\u043f\u0438\u0441\u0430", "Finish": "\u041a\u0440\u0430\u0439", "Ignore all": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0432\u0441\u0438\u0447\u043a\u043e", "Ignore": "\u0418\u0433\u043d\u043e\u0440\u0438\u0440\u0430\u043d\u0435", "Insert row before": "\u0412\u043c\u044a\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434 \u043f\u0440\u0435\u0434\u0438", "Rows": "\u0420\u0435\u0434\u043e\u0432\u0435", "Height": "\u0412\u0438\u0441\u043e\u0447\u0438\u043d\u0430", "Paste row after": "\u041f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434 \u0441\u043b\u0435\u0434", "Alignment": "\u041f\u043e\u0434\u0440\u0430\u0432\u043d\u044f\u0432\u0430\u043d\u0435", "Column group": "Column group", "Row": "\u0420\u0435\u0434", "Insert column before": "\u0412\u043c\u044a\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430 \u043f\u0440\u0435\u0434\u0438", "Split cell": "\u0420\u0430\u0437\u0434\u0435\u043b\u044f\u043d\u0435 \u043d\u0430 \u043a\u043b\u0435\u0442\u043a\u0430", "Cell padding": "\u0420\u0430\u0437\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u0434\u043e \u0441\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435\u0442\u043e", "Cell spacing": "\u0420\u0430\u0437\u0441\u0442\u043e\u044f\u043d\u0438\u0435 \u043c\u0435\u0436\u0434\u0443 \u043a\u043b\u0435\u0442\u043a\u0438\u0442\u0435", "Row type": "\u0422\u0438\u043f \u043d\u0430 \u0440\u0435\u0434\u0430", "Insert table": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430", "Body": "\u0421\u044a\u0434\u044a\u0440\u0436\u0430\u043d\u0438\u0435 (body)", "Caption": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0437\u0430\u0433\u043b\u0430\u0432\u0438\u0435 \u043f\u0440\u0435\u0434\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430", "Footer": "\u0414\u043e\u043b\u0435\u043d \u043a\u043e\u043b\u043e\u043d\u0442\u0438\u0442\u0443\u043b (footer)", "Delete row": "\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434\u0430", "Paste row before": "\u041f\u043e\u0441\u0442\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434 \u043f\u0440\u0435\u0434\u0438", "Scope": "\u041e\u0431\u0445\u0432\u0430\u0442", "Delete table": "\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430", "Header cell": "\u0417\u0430\u0433\u043b\u0430\u0432\u043d\u0430 \u043a\u043b\u0435\u0442\u043a\u0430 (\u0430\u043d\u0442\u0435\u0442\u043a\u0430)", "Column": "\u041a\u043e\u043b\u043e\u043d\u0430", "Cell": "\u041a\u043b\u0435\u0442\u043a\u0430", "Header": "\u0413\u043e\u0440\u0435\u043d \u043a\u043e\u043b\u043e\u043d\u0442\u0438\u0442\u0443\u043b (header)", "Cell type": "\u0422\u0438\u043f \u043d\u0430 \u043a\u043b\u0435\u0442\u043a\u0430\u0442\u0430", "Copy row": "\u041a\u043e\u043f\u0438\u0440\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434", "Row properties": "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 \u0440\u0435\u0434\u0430", "Table properties": "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446\u0430\u0442\u0430", "Row group": "Row group", "Right": "\u0414\u044f\u0441\u043d\u043e", "Insert column after": "\u0412\u043c\u044a\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430 \u0441\u043b\u0435\u0434", "Cols": "\u041a\u043e\u043b\u043e\u043d\u0438", "Insert row after": "\u0412\u043c\u044a\u043a\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434 \u0441\u043b\u0435\u0434", "Width": "\u0428\u0438\u0440\u0438\u043d\u0430", "Cell properties": "\u0421\u0432\u043e\u0439\u0441\u0442\u0432\u0430 \u043d\u0430 \u043a\u043b\u0435\u0442\u043a\u0430\u0442\u0430", "Left": "\u041b\u044f\u0432\u043e", "Cut row": "\u0418\u0437\u0440\u044f\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0440\u0435\u0434", "Delete column": "\u0418\u0437\u0442\u0440\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043e\u043b\u043e\u043d\u0430\u0442\u0430", "Center": "\u0426\u0435\u043d\u0442\u0440\u0438\u0440\u0430\u043d\u043e", "Merge cells": "\u0421\u043b\u0438\u0432\u0430\u043d\u0435 \u043d\u0430 \u043a\u043b\u0435\u0442\u043a\u0438\u0442\u0435", "Insert template": "\u0414\u043e\u0431\u0430\u0432\u044f\u043d\u0435 \u043d\u0430 \u0448\u0430\u0431\u043b\u043e\u043d", "Templates": "\u0428\u0430\u0431\u043b\u043e\u043d\u0438", "Background color": "\u0424\u043e\u043d\u043e\u0432 \u0446\u0432\u044f\u0442", "Text color": "\u0426\u0432\u044f\u0442 \u043d\u0430 \u0448\u0440\u0438\u0444\u0442\u0430", "Show blocks": "\u041f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u0431\u043b\u043e\u043a\u043e\u0432\u0435\u0442\u0435", "Show invisible characters": "\u041f\u043e\u043a\u0430\u0437\u0432\u0430\u043d\u0435 \u043d\u0430 \u043d\u0435\u043f\u0435\u0447\u0430\u0442\u0430\u0435\u043c\u0438 \u0437\u043d\u0430\u0446\u0438", "Words: {0}": "\u0411\u0440\u043e\u0439 \u0434\u0443\u043c\u0438: {0}", "Insert": "\u0412\u043c\u044a\u043a\u0432\u0430\u043d\u0435", "File": "\u0424\u0430\u0439\u043b", "Edit": "\u0420\u0435\u0434\u0430\u043a\u0442\u0438\u0440\u0430\u043d\u0435", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u041f\u043e\u043b\u0435 \u0437\u0430 \u0444\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d \u0442\u0435\u043a\u0441\u0442. \u041d\u0430\u0442\u0438\u0441\u043d\u0435\u0442\u0435 Alt+F9 \u0437\u0430 \u043c\u0435\u043d\u044e; Alt+F10 \u0437\u0430 \u043b\u0435\u043d\u0442\u0430 \u0441 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438; Alt+0 \u0437\u0430 \u043f\u043e\u043c\u043e\u0449.", "Tools": "\u0418\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438", "View": "\u0418\u0437\u0433\u043b\u0435\u0434", "Table": "\u0422\u0430\u0431\u043b\u0438\u0446\u0430", "Format": "\u0424\u043e\u0440\u043c\u0430\u0442\u0438\u0440\u0430\u043d\u0435" });langs/es.js000060400000014727152455403670006637 0ustar00tinymce.addI18n('es',{ "Cut": "Cortar", "Header 2": "Encabezado 2 ", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Tu navegador no soporta acceso directo al portapapeles. Por favor usa las teclas Crtl+X\/C\/V de tu teclado", "Div": "Capa", "Paste": "Pegar", "Close": "Cerrar", "Font Family": "Familia de fuentes", "Pre": "Pre", "Align right": "Alinear a la derecha", "New document": "Nuevo documento", "Blockquote": "Bloque de cita", "Numbered list": "Lista numerada", "Increase indent": "Incrementar sangr\u00eda", "Formats": "Formatos", "Headers": "Encabezado", "Select all": "Seleccionar todo", "Header 3": "Encabezado 3", "Blocks": "Bloques", "Undo": "Deshacer", "Strikethrough": "Tachado", "Bullet list": "Lista de vi\u00f1etas", "Header 1": "Encabezado 1", "Superscript": "Super\u00edndice", "Clear formatting": "Limpiar formato", "Font Sizes": "Tama\u00f1os de fuente", "Subscript": "Sub\u00edndice", "Header 6": "Encabezado 6", "Redo": "Rehacer", "Paragraph": "P\u00e1rrafo", "Ok": "Ok", "Bold": "Negrita", "Code": "C\u00f3digo", "Italic": "It\u00e1lica", "Align center": "Alinear al centro", "Header 5": "Encabezado 5 ", "Decrease indent": "Disminuir sangr\u00eda", "Header 4": "Encabezado 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Pegar est\u00e1 ahora en modo de texto plano. El contenido se pegar\u00e1 como texto plano hasta que desactive esta opci\u00f3n.", "Underline": "Subrayado", "Cancel": "Cancelar", "Justify": "Justificar", "Inline": "en l\u00ednea", "Copy": "Copiar", "Align left": "Alinear a la izquierda", "Visual aids": "Ayudas visuales", "Lower Greek": "Inferior Griega", "Square": "Cuadrado", "Default": "Por defecto", "Lower Alpha": "Inferior Alfa", "Circle": "C\u00edrculo", "Disc": "Disco", "Upper Alpha": "Superior Alfa", "Upper Roman": "Superior Romana", "Lower Roman": "Inferior Romana", "Name": "Nombre", "Anchor": "Ancla", "You have unsaved changes are you sure you want to navigate away?": "Tiene cambios sin guardar. \u00bfEst\u00e1 seguro de que quiere salir?", "Restore last draft": "Restaurar el \u00faltimo borrador", "Special character": "Car\u00e1cter especial", "Source code": "C\u00f3digo fuente", "Right to left": "De derecha a izquierda", "Left to right": "De izquierda a derecha", "Emoticons": "Emoticonos", "Robots": "Robots", "Document properties": "Propiedades del documento", "Title": "T\u00edtulo", "Keywords": "Palabras clave", "Encoding": "Codificaci\u00f3n", "Description": "Descripci\u00f3n", "Author": "Autor", "Fullscreen": "Pantalla completa", "Horizontal line": "L\u00ednea horizontal", "Horizontal space": "Espacio horizontal", "Insert\/edit image": "Insertar\/editar imagen", "General": "General", "Advanced": "Avanzado", "Source": "Fuente", "Border": "Borde", "Constrain proportions": "Restringir proporciones", "Vertical space": "Espacio vertical", "Image description": "Descripci\u00f3n de la imagen", "Style": "Estilo", "Dimensions": "Dimensiones", "Insert image": "Insertar imagen", "Insert date\/time": "Insertar fecha\/hora", "Remove link": "Quitar enlace", "Url": "URL", "Text to display": "Texto para mostrar", "Anchors": "Anclas", "Insert link": "Insertar enlace", "New window": "Nueva ventana", "None": "Ninguno", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?", "Target": "Destino", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?", "Insert\/edit link": "Insertar\/editar enlace", "Insert\/edit video": "Insertar\/editar video", "Poster": "Miniatura", "Alternative source": "Fuente alternativa", "Paste your embed code below:": "Pega tu c\u00f3digo embebido debajo", "Insert video": "Insertar video", "Embed": "Incrustado", "Nonbreaking space": "Espacio fijo", "Page break": "Salto de p\u00e1gina", "Paste as text": "Pegar como texto", "Preview": "Previsualizar", "Print": "Imprimir", "Save": "Guardar", "Could not find the specified string.": "No se encuentra la cadena de texto especificada", "Replace": "Reemplazar", "Next": "Siguiente", "Whole words": "Palabras completas", "Find and replace": "Buscar y reemplazar", "Replace with": "Reemplazar con", "Find": "Buscar", "Replace all": "Reemplazar todo", "Match case": "Coincidencia exacta", "Prev": "Anterior", "Spellcheck": "Corrector ortogr\u00e1fico", "Finish": "Finalizar", "Ignore all": "Ignorar todos", "Ignore": "Ignorar", "Insert row before": "Insertar fila antes", "Rows": "Filas", "Height": "Alto", "Paste row after": "Pegar la fila despu\u00e9s", "Alignment": "Alineaci\u00f3n", "Column group": "Grupo de columnas", "Row": "Fila", "Insert column before": "Insertar columna antes", "Split cell": "Dividir celdas", "Cell padding": "Relleno de celda", "Cell spacing": "Espacio entre celdas", "Row type": "Tipo de fila", "Insert table": "Insertar tabla", "Body": "Cuerpo", "Caption": "Subt\u00edtulo", "Footer": "Pie de p\u00e1gina", "Delete row": "Eliminar fila", "Paste row before": "Pegar la fila antes", "Scope": "\u00c1mbito", "Delete table": "Eliminar tabla", "Header cell": "Celda de la cebecera", "Column": "Columna", "Cell": "Celda", "Header": "Cabecera", "Cell type": "Tipo de celda", "Copy row": "Copiar fila", "Row properties": "Propiedades de la fila", "Table properties": "Propiedades de la tabla", "Row group": "Grupo de filas", "Right": "Derecha", "Insert column after": "Insertar columna despu\u00e9s", "Cols": "Columnas", "Insert row after": "Insertar fila despu\u00e9s ", "Width": "Ancho", "Cell properties": "Propiedades de la celda", "Left": "Izquierda", "Cut row": "Cortar fila", "Delete column": "Eliminar columna", "Center": "Centrado", "Merge cells": "Combinar celdas", "Insert template": "Insertar plantilla", "Templates": "Plantillas", "Background color": "Color de fondo", "Text color": "Color del texto", "Show blocks": "Mostrar bloques", "Show invisible characters": "Mostrar caracteres invisibles", "Words: {0}": "Palabras: {0}", "Insert": "Insertar", "File": "Archivo", "Edit": "Editar", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u00c1rea de texto enriquecido. Pulse ALT-F9 para el menu. Pulse ALT-F10 para la barra de herramientas. Pulse ALT-0 para ayuda", "Tools": "Herramientas", "View": "Ver", "Table": "Tabla", "Format": "Formato" });langs/sl.js000060400000020005152455403670006630 0ustar00tinymce.addI18n('sl',{ "Cut": "Izre\u017ei", "Heading 5": "Podnaslov 5", "Header 2": "Naslov 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Varnostne nastavitve brskalnika ne dopu\u0161\u010dajo direktnega dostopa do odlo\u017ei\u0161\u010da. Uporabite kombinacijo tipk Ctrl+X\/C\/V na tipkovnici.", "Heading 4": "Podnaslov 4", "Div": "Div", "Heading 2": "Podnaslov 2", "Paste": "Prilepi", "Close": "Zapri", "Font Family": "Dru\u017eina pisave", "Pre": "Predformat", "Align right": "Desna poravnava", "New document": "Nov dokument", "Blockquote": "Navedek", "Numbered list": "O\u0161tevil\u010den seznam", "Heading 1": "Podnaslov 1", "Headings": "Podnaslovi", "Increase indent": "Pove\u010daj zamik", "Formats": "Oblika", "Headers": "Naslovi", "Select all": "Izberi vse", "Header 3": "Naslov 3", "Blocks": "Grupe", "Undo": "Razveljavi", "Strikethrough": "Pre\u010drtano", "Bullet list": "Ozna\u010den seznam", "Header 1": "Naslov 1", "Superscript": "Nadpisano", "Clear formatting": "Po\u010disti oblikovanje", "Font Sizes": "Velikosti pisave", "Subscript": "Podpisano", "Header 6": "Naslov 6", "Redo": "Ponovi", "Paragraph": "Odstavek", "Ok": "V redu", "Bold": "Krepko", "Code": "Koda", "Italic": "Le\u017ee\u010de", "Align center": "Sredinska poravnava", "Header 5": "Naslov 5", "Heading 6": "Podnaslov 6", "Heading 3": "Podnaslov 3", "Decrease indent": "Zmanj\u0161aj zamik", "Header 4": "Naslov 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Odlagali\u0161\u010de je zdaj v tekstovnem na\u010dinu. Vsebina bo preslikana kot golo besedilo brez oblike, dokler te mo\u017enosti ne izklju\u010dite.", "Underline": "Pod\u010drtano", "Cancel": "Prekli\u010di", "Justify": "Obojestranska poravnava", "Inline": "Med besedilom", "Copy": "Kopiraj", "Align left": "Leva poravnava", "Visual aids": "Vizualni pripomo\u010dki", "Lower Greek": "Male gr\u0161ke \u010drke", "Square": "Kvadratek", "Default": "Privzeto", "Lower Alpha": "Male tiskane \u010drke", "Circle": "Pikica", "Disc": "Kroglica", "Upper Alpha": "Velike tiskane \u010drke", "Upper Roman": "Velike rimske \u0161tevilke", "Lower Roman": "Male rimske \u0161tevilke", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id se mora za\u010deti s \u010drko, sledijo samo \u010drke, \u0161tevilke, pomi\u0161ljaji, pike, dvopi\u010dja ali pod\u010drtaj.", "Name": "Ime", "Anchor": "Sidro", "Id": "ID", "You have unsaved changes are you sure you want to navigate away?": "Imate neshranjene spremembe. Ste prepri\u010dati, da \u017eelite zapustiti stran?", "Restore last draft": "Obnovi zadnji osnutek", "Special character": "Posebni znaki", "Source code": "Izvorna koda", "Language": "Jezik", "Insert\/Edit code sample": "Vstavi\/uredi vzor\u010dno kodo", "B": "B", "R": "R", "G": "G", "Color": "Barva", "Right to left": "Od desne proti levi", "Left to right": "Od leve proti desni", "Emoticons": "Sme\u0161koti", "Robots": "Robotki", "Document properties": "Lastnosti dokumenta", "Title": "Naslov", "Keywords": "Klju\u010dne besede", "Encoding": "Kodiranje", "Description": "Opis", "Author": "Avtor", "Fullscreen": "\u010cez cel zaslon", "Horizontal line": "Vodoravna \u010drta", "Horizontal space": "Vodoravni prostor", "Insert\/edit image": "Vstavi\/uredi sliko", "General": "Splo\u0161no", "Advanced": "Napredno", "Source": "Vir", "Border": "Obroba", "Constrain proportions": "Obdr\u017ei razmerje", "Vertical space": "Navpi\u010dni prostor", "Image description": "Opis slike", "Style": "Slog", "Dimensions": "Dimenzije", "Insert image": "Vstavi sliko", "Image": "Slika", "Zoom in": "Pove\u010daj", "Contrast": "Kontrast", "Back": "Nazaj", "Gamma": "Gama", "Flip horizontally": "Zasukaj vodoravno", "Resize": "Spremeni velikost", "Sharpen": "Izostri", "Zoom out": "Pomanj\u0161aj", "Image options": "Mo\u017enosti slike", "Apply": "Uporabi", "Brightness": "Svetlost", "Rotate clockwise": "Zavrti v smeri urinega kazalca", "Rotate counterclockwise": "Zavrti v nasprotni smeri urnega kazalca", "Edit image": "Uredi sliko", "Color levels": "Barvni nivoji", "Crop": "Obre\u017ei", "Orientation": "Usmerjenost", "Flip vertically": "Zasukaj navpi\u010dno", "Invert": "Obrni", "Date\/time": "Datum/\u010das", "Insert date\/time": "Vstavi datum\/\u010das", "Remove link": "Odstrani povezavo", "Url": "URL", "Text to display": "Prikazno besedilo", "Anchors": "Sidra", "Insert link": "Vstavi povezavo", "Link": "Povezava", "New window": "Novo okno", "None": "Brez", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "Vneseni URL je zunanja povezava. Ali \u017eelite dodati zahtevano http:\/\/ predpono?", "Paste or type a link": "Prilepi ali vnesi povezavo", "Target": "Cilj", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "Vneseni URL je e-po\u0161tni naslov. Ali \u017eeliteelite dodati zahtevano mailto: predpono?", "Insert\/edit link": "Vstavi\/uredi povezavo", "Insert\/edit video": "Vstavi\/uredi video", "Media": "Mediji", "Alternative source": "Nadomestni vir", "Paste your embed code below:": "Prilepite kodo za vdelavo:", "Insert video": "Vstavi video", "Poster": "Poster", "Insert\/edit media": "Vstavi\/uredi medij", "Embed": "Vdelaj", "Nonbreaking space": "Nedeljivi presledek", "Page break": "Prelom strani", "Paste as text": "Prilepi kot besedilo", "Preview": "Predogled", "Print": "Natisni", "Save": "Shrani", "Could not find the specified string.": "Iskanje ni vrnilo rezultatov.", "Replace": "Zamenjaj", "Next": "Naprej", "Whole words": "Cele besede", "Find and replace": "Poi\u0161\u010di in zamenjaj", "Replace with": "Zamenjaj z", "Find": "Poi\u0161\u010di", "Replace all": "Zamenjaj vse", "Match case": "Ujemanje malih in velikih \u010drk", "Prev": "Nazaj", "Spellcheck": "Preverjanje \u010drkovanja", "Finish": "Zaklju\u010di", "Ignore all": "Prezri vse", "Ignore": "Prezri", "Add to Dictionary": "Dodaj v slovar", "Insert row before": "Vstavi vrstico pred", "Rows": "Vrstice", "Height": "Vi\u0161ina", "Paste row after": "Prilepi vrstico za", "Alignment": "Poravnava", "Border color": "Barva obrobe", "Column group": "Grupiranje stolpcev", "Row": "Vrstica", "Insert column before": "Vstavi stolpec pred", "Split cell": "Razdeli celico", "Cell padding": "Polnilo med celicami", "Cell spacing": "Razmik med celicami", "Row type": "Tip vrstice", "Insert table": "Vstavi tabelo", "Body": "Vsebina", "Caption": "Naslov", "Footer": "Noga", "Delete row": "Izbri\u0161i vrstico", "Paste row before": "Prilepi vrstico pred", "Scope": "Obseg", "Delete table": "Izbri\u0161i tabelo", "H Align": "Vodoravna poravnava", "Top": "Zgoraj", "Header cell": "Celica glave", "Column": "Stolpec", "Row group": "Grupiranje vrstic", "Cell": "Celica", "Middle": "Sredina", "Cell type": "Tip celice", "Copy row": "Kopiraj vrstico", "Row properties": "Lastnosti vrstice", "Table properties": "Lastnosti tabele", "Bottom": "Spodaj", "V Align": "Navpi\u010dna poravnava", "Header": "Glava", "Right": "Desno", "Insert column after": "Vstavi stolpec za", "Cols": "Stolpci", "Insert row after": "Vstavi vrstico za", "Width": "\u0160irina", "Cell properties": "Lastnosti celice", "Left": "Levo", "Cut row": "Izre\u017ei vrstico", "Delete column": "Izbri\u0161i stolpec", "Center": "Sredinsko", "Merge cells": "Zdru\u017ei celice", "Insert template": "Vstavi predlogo", "Templates": "Predloge", "Background color": "Barva ozadja", "Custom...": "Po meri...", "Custom color": "Barva po meri", "No color": "Brez barve", "Text color": "Barva besedila", "Table of Contents": "Vsebina tabele", "Show blocks": "Prika\u017ei grupe", "Show invisible characters": "Prika\u017ei skrite znake", "Words: {0}": "Besed: {0}", "Insert": "Vstavi", "File": "Datoteka", "Edit": "Uredi", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Bogato besedilo. Pritisnite ALT-F9 za meni. Pritisnite ALT-F10 za orodno vrstico. Pritisnite ALT-0 za pomo\u010d", "Tools": "Orodja", "View": "Pogled", "Table": "Tabela", "Format": "Oblika" });langs/be.js000060400000045725152455403670006620 0ustar00tinymce.addI18n('be',{ "Cut": "\u0412\u044b\u0440\u0430\u0437\u0430\u0446\u044c", "Heading 5": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 5", "Header 2": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0412\u0430\u0448 \u0431\u0440\u0430\u045e\u0437\u044d\u0440 \u043d\u0435 \u043f\u0430\u0434\u0442\u0440\u044b\u043c\u043b\u0456\u0432\u0430\u0435 \u043f\u0440\u0430\u043c\u044b \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u0430 \u0431\u0443\u0444\u0435\u0440\u0430 \u0430\u0431\u043c\u0435\u043d\u0443. \u041a\u0430\u043b\u0456 \u043b\u0430\u0441\u043a\u0430, \u0432\u044b\u043a\u0430\u0440\u044b\u0441\u0442\u043e\u045e\u0432\u0430\u0439\u0446\u0435 \u043d\u0430\u0441\u0442\u0443\u043f\u043d\u044b\u044f \u0441\u043f\u0430\u043b\u0443\u0447\u044d\u043d\u043d\u044f \u043a\u043b\u0430\u0432\u0456\u0448: Ctrl + X\/C\/V.", "Heading 4": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 4", "Div": "\u0411\u043b\u043e\u043a", "Heading 2": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 2", "Paste": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c", "Close": "\u0417\u0430\u0447\u044b\u043d\u0456\u0446\u044c", "Font Family": "\u0428\u0440\u044b\u0444\u0442", "Pre": "\u041f\u0440\u0430\u0434\u0444\u0430\u0440\u043c\u0430\u0442\u0430\u0432\u0430\u043d\u043d\u0435", "Align right": "\u041f\u0430 \u043f\u0440\u0430\u0432\u044b\u043c \u043a\u0440\u0430\u0456", "New document": "\u041d\u043e\u0432\u044b \u0434\u0430\u043a\u0443\u043c\u0435\u043d\u0442", "Blockquote": "\u0426\u044b\u0442\u0430\u0442\u0430", "Numbered list": "\u041d\u0443\u043c\u0430\u0440\u0430\u0432\u0430\u043d\u044b \u0441\u043f\u0456\u0441", "Heading 1": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 1", "Headings": "\u0417\u0430\u0433\u0430\u043b\u043e\u045e\u043a\u0456", "Increase indent": "\u041f\u0430\u0432\u044f\u043b\u0456\u0447\u044b\u0446\u044c \u0432\u043e\u0434\u0441\u0442\u0443\u043f", "Formats": "\u0424\u0430\u0440\u043c\u0430\u0442", "Headers": "\u0417\u0430\u0433\u0430\u043b\u043e\u045e\u043a\u0456", "Select all": "\u0412\u044b\u043b\u0443\u0447\u044b\u0446\u044c \u0443\u0441\u0451", "Header 3": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 3", "Blocks": "\u0411\u043b\u043e\u043a\u0456", "Undo": "\u0412\u044f\u0440\u043d\u0443\u0446\u044c", "Strikethrough": "\u0417\u0430\u043a\u0440\u044d\u0441\u043b\u0435\u043d\u044b", "Bullet list": "\u041c\u0430\u0440\u043a\u0456\u0440\u0430\u0432\u0430\u043d\u044b \u0441\u043f\u0456\u0441", "Header 1": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 1", "Superscript": "\u0412\u0435\u0440\u0445\u043d\u0456 \u0456\u043d\u0434\u044d\u043a\u0441", "Clear formatting": "\u0410\u0447\u044b\u0441\u0446\u0456\u0446\u044c \u0444\u0430\u0440\u043c\u0430\u0442", "Font Sizes": "\u041f\u0430\u043c\u0435\u0440 \u0448\u0440\u044b\u0444\u0442\u0430", "Subscript": "\u041d\u0456\u0436\u043d\u0456 \u0456\u043d\u0434\u044d\u043a\u0441", "Header 6": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 6", "Redo": "\u0410\u0434\u043c\u044f\u043d\u0456\u0446\u044c", "Paragraph": "\u041f\u0430\u0440\u0430\u0433\u0440\u0430\u0444", "Ok": "Ok", "Bold": "\u0422\u043b\u0443\u0441\u0442\u044b", "Code": "\u041a\u043e\u0434", "Italic": "\u041a\u0443\u0440\u0441\u0456\u045e", "Align center": "\u041f\u0430 \u0446\u044d\u043d\u0442\u0440\u044b", "Header 5": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 5", "Heading 6": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 6", "Heading 3": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 3", "Decrease indent": "\u041f\u0430\u043c\u0435\u043d\u0448\u044b\u0446\u044c \u0432\u043e\u0434\u0441\u0442\u0443\u043f", "Header 4": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0423\u0441\u0442\u0430\u045e\u043a\u0430 \u0437\u0434\u0437\u044f\u0439\u0441\u043d\u044f\u0435\u0446\u0446\u0430 \u045e \u0432\u044b\u0433\u043b\u044f\u0434\u0437\u0435 \u043f\u0440\u043e\u0441\u0442\u0430\u0433\u0430 \u0442\u044d\u043a\u0441\u0442\u0443, \u043f\u0430\u043a\u0443\u043b\u044c \u043d\u0435 \u0430\u0434\u043a\u043b\u044e\u0447\u044b\u0446\u044c \u0434\u0430\u0434\u0437\u0435\u043d\u0443\u044e \u043e\u043f\u0446\u044b\u044e.", "Underline": "\u041f\u0430\u0434\u043a\u0440\u044d\u0441\u043b\u0435\u043d\u044b", "Cancel": "\u0410\u0434\u043c\u044f\u043d\u0456\u0446\u044c", "Justify": "\u041f\u0430 \u0448\u044b\u0440\u044b\u043d\u0456", "Inline": "\u0420\u0430\u0434\u043a\u043e\u0432\u044b", "Copy": "\u041a\u0430\u043f\u0456\u0440\u0430\u0432\u0430\u0446\u044c", "Align left": "\u041f\u0430 \u043b\u0435\u0432\u044b\u043c \u043a\u0440\u0430\u0456", "Visual aids": "\u041f\u0430\u043a\u0430\u0437\u0432\u0430\u0446\u044c \u043a\u043e\u043d\u0442\u0443\u0440\u044b", "Lower Greek": "\u041c\u0430\u043b\u044b\u044f \u0433\u0440\u044d\u0447\u0430\u0441\u043a\u0456\u044f \u043b\u0456\u0442\u0430\u0440\u044b", "Square": "\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u044b", "Default": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u044b", "Lower Alpha": "\u041c\u0430\u043b\u044b\u044f \u043b\u0430\u0446\u0456\u043d\u0441\u043a\u0456\u044f \u043b\u0456\u0442\u0430\u0440\u044b", "Circle": "\u0410\u043a\u0440\u0443\u0436\u043d\u0430\u0441\u0446\u0456", "Disc": "\u041a\u0440\u0443\u0433\u0456", "Upper Alpha": "\u0417\u0430\u0433\u0430\u043b\u043e\u045e\u043d\u044b\u044f \u043b\u0430\u0446\u0456\u043d\u0441\u043a\u0456\u044f \u043b\u0456\u0442\u0430\u0440\u044b", "Upper Roman": "\u0417\u0430\u0433\u0430\u043b\u043e\u045e\u043d\u044b\u044f \u0440\u044b\u043c\u0441\u043a\u0456\u044f \u043b\u0456\u0447\u0431\u044b", "Lower Roman": "\u041c\u0430\u043b\u044b\u044f \u0440\u044b\u043c\u0441\u043a\u0456\u044f \u043b\u0456\u0447\u0431\u044b", "Name": "\u0406\u043c\u044f", "Anchor": "\u042f\u043a\u0430\u0440", "You have unsaved changes are you sure you want to navigate away?": "\u0423 \u0432\u0430\u0441 \u0451\u0441\u0446\u044c \u043d\u0435\u0437\u0430\u0445\u0430\u0432\u0430\u043d\u044b\u044f \u0437\u043c\u0435\u043d\u044b. \u0412\u044b \u045e\u043f\u044d\u045e\u043d\u0435\u043d\u044b\u044f, \u0448\u0442\u043e \u0445\u043e\u0447\u0430\u0446\u0435 \u0432\u044b\u0439\u0441\u0446\u0456?", "Restore last draft": "\u0410\u0434\u043d\u0430\u045e\u043b\u0435\u043d\u043d\u0435 \u0430\u043f\u043e\u0448\u043d\u044f\u0433\u0430 \u043f\u0440\u0430\u0435\u043a\u0442\u0430", "Special character": "\u0421\u043f\u0435\u0446\u044b\u044f\u043b\u044c\u043d\u044b\u044f \u0441\u0456\u043c\u0432\u0430\u043b\u044b", "Source code": "\u0417\u044b\u0445\u043e\u0434\u043d\u044b \u043a\u043e\u0434", "Color": "\u041a\u043e\u043b\u0435\u0440", "Right to left": "\u0421\u043f\u0440\u0430\u0432\u0430 \u043d\u0430\u043b\u0435\u0432\u0430", "Left to right": "\u0417\u043b\u0435\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u0430", "Emoticons": "\u0414\u0430\u0434\u0430\u0446\u044c \u0441\u043c\u0430\u0439\u043b", "Robots": "\u0420\u043e\u0431\u0430\u0442\u044b", "Document properties": "\u0423\u043b\u0430\u0441\u0446\u0456\u0432\u0430\u0441\u0446\u0456 \u0434\u0430\u043a\u0443\u043c\u0435\u043d\u0442\u0430", "Title": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a", "Keywords": "\u041a\u043b\u044e\u0447\u0430\u0432\u044b\u044f \u0441\u043b\u043e\u0432\u044b", "Encoding": "\u041a\u0430\u0434\u044b\u0440\u043e\u045e\u043a\u0430", "Description": "\u0410\u043f\u0456\u0441\u0430\u043d\u043d\u0435", "Author": "\u0410\u045e\u0442\u0430\u0440", "Fullscreen": "\u041f\u043e\u045e\u043d\u0430\u044d\u043a\u0440\u0430\u043d\u043d\u044b \u0440\u044d\u0436\u044b\u043c", "Horizontal line": "\u0413\u0430\u0440\u044b\u0437\u0430\u043d\u0442\u0430\u043b\u044c\u043d\u0430\u044f \u043b\u0456\u043d\u0456\u044f", "Horizontal space": "\u0413\u0430\u0440\u044b\u0437\u0430\u043d\u0442\u0430\u043b\u044c\u043d\u044b \u0456\u043d\u0442\u044d\u0440\u0432\u0430\u043b", "Insert\/edit image": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c\/\u0440\u044d\u0434\u0430\u0433\u0430\u0432\u0430\u0446\u044c \u0432\u044b\u044f\u0432\u0443", "General": "\u0410\u0433\u0443\u043b\u044c\u043d\u0430\u0435", "Advanced": "\u041f\u0430\u0448\u044b\u0440\u0430\u043d\u0430\u0435", "Source": "\u041a\u0440\u044b\u043d\u0456\u0446\u0430", "Border": "\u041c\u044f\u0436\u0430", "Constrain proportions": "\u0417\u0430\u0445\u0430\u0432\u0430\u0446\u044c \u043f\u0440\u0430\u043f\u043e\u0440\u0446\u044b\u0456", "Vertical space": "\u0412\u0435\u0440\u0442\u044b\u043a\u0430\u043b\u044c\u043d\u044b \u0456\u043d\u0442\u044d\u0440\u0432\u0430\u043b", "Image description": "\u0410\u043f\u0456\u0441\u0430\u043d\u043d\u0435 \u0432\u044b\u044f\u0432\u044b", "Style": "\u0421\u0442\u044b\u043b\u044c", "Dimensions": "\u041f\u0430\u043c\u0435\u0440", "Insert image": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0432\u044b\u044f\u0432\u0443", "Insert date\/time": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0434\u0430\u0442\u0443\/\u0447\u0430\u0441", "Remove link": "\u0412\u044b\u0434\u0430\u043b\u0456\u0446\u044c \u0441\u043f\u0430\u0441\u044b\u043b\u043a\u0443", "Url": "\u0410\u0434\u0440\u0430\u0441 \u0441\u043f\u0430\u0441\u044b\u043b\u043a\u0456", "Text to display": "\u0422\u044d\u043a\u0441\u0442 \u0441\u043f\u0430\u0441\u044b\u043b\u043a\u0456", "Anchors": "\u042f\u043a\u0430\u0440\u044b", "Insert link": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0441\u043f\u0430\u0441\u044b\u043b\u043a\u0443", "New window": "\u0423 \u043d\u043e\u0432\u044b\u043c \u0430\u043a\u043d\u0435", "None": "\u041d\u044f\u043c\u0430", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u0423\u0432\u0435\u0434\u0437\u0435\u043d\u044b \u0430\u0434\u0440\u0430\u0441 \u043f\u0430\u0434\u043e\u0431\u043d\u044b \u043d\u0430 \u0437\u043d\u0435\u0448\u043d\u044e\u044e \u0441\u043f\u0430\u0441\u044b\u043b\u043a\u0443. \u0416\u0430\u0434\u0430\u0435\u0446\u0435 \u0434\u0430\u0434\u0430\u0446\u044c \u043d\u0435\u0430\u0431\u0445\u043e\u0434\u043d\u044b http:\/\/ \u043f\u0440\u044d\u0444\u0456\u043a\u0441?", "Target": "\u0410\u0434\u043a\u0440\u044b\u0432\u0430\u0446\u044c \u0441\u043f\u0430\u0441\u044b\u043b\u043a\u0443", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0423\u0432\u0435\u0434\u0437\u0435\u043d\u044b \u0430\u0434\u0440\u0430\u0441 \u043f\u0430\u0434\u043e\u0431\u043d\u044b \u043d\u0430 \u0430\u0434\u0440\u0430\u0441 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u0439 \u043f\u043e\u0448\u0442\u044b. \u0416\u0430\u0434\u0430\u0435\u0446\u0435 \u0434\u0430\u0434\u0430\u0446\u044c \u043d\u0435\u0430\u0431\u0445\u043e\u0434\u043d\u044b mailto: \u043f\u0440\u044d\u0444\u0456\u043a\u0441?", "Insert\/edit link": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c\/\u0440\u044d\u0434\u0430\u0433\u0430\u0432\u0430\u0446\u044c \u0441\u043f\u0430\u0441\u044b\u043b\u043a\u0443", "Insert\/edit video": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c\/\u0440\u044d\u0434\u0430\u0433\u0430\u0432\u0430\u0446\u044c \u0432\u0456\u0434\u044d\u0430", "Poster": "\u0412\u044b\u044f\u0432\u0430", "Alternative source": "\u0410\u043b\u044c\u0442\u044d\u0440\u043d\u0430\u0442\u044b\u045e\u043d\u0430\u044f \u043a\u0440\u044b\u043d\u0456\u0446\u0430", "Paste your embed code below:": "\u0423\u0441\u0442\u0430\u045e\u0446\u0435 \u0432\u0430\u0448 \u043a\u043e\u0434 \u043d\u0456\u0436\u044d\u0439:", "Insert video": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0432\u0456\u0434\u044d\u0430", "Embed": "\u041a\u043e\u0434 \u0434\u043b\u044f \u045e\u0441\u0442\u0430\u045e\u043a\u0456", "Nonbreaking space": "\u041d\u0435\u043f\u0430\u0440\u044b\u045e\u043d\u044b \u043f\u0440\u0430\u0431\u0435\u043b", "Page break": "\u0420\u0430\u0437\u0440\u044b\u045e \u0441\u0442\u0430\u0440\u043e\u043d\u043a\u0456", "Paste as text": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u044f\u043a \u0442\u044d\u043a\u0441\u0442", "Preview": "\u041f\u0440\u0430\u0434\u043f\u0440\u0430\u0433\u043b\u044f\u0434", "Print": "\u0414\u0440\u0443\u043a", "Save": "\u0417\u0430\u0445\u0430\u0432\u0430\u0446\u044c", "Could not find the specified string.": "\u0417\u0430\u0434\u0430\u0434\u0437\u0435\u043d\u044b \u0440\u0430\u0434\u043e\u043a \u043d\u0435 \u0437\u043d\u043e\u0439\u0434\u0437\u0435\u043d\u044b", "Replace": "\u0417\u043c\u044f\u043d\u0456\u0446\u044c", "Next": "\u0423\u043d\u0456\u0437", "Whole words": "\u0421\u043b\u043e\u0432\u044b \u0446\u0430\u043b\u043a\u0430\u043c", "Find and replace": "\u041f\u043e\u0448\u0443\u043a \u0456 \u0437\u0430\u043c\u0435\u043d\u0430", "Replace with": "\u0417\u043c\u044f\u043d\u0456\u0446\u044c \u043d\u0430", "Find": "\u0417\u043d\u0430\u0439\u0441\u0446\u0456", "Replace all": "\u0417\u043c\u044f\u043d\u0456\u0446\u044c \u0443\u0441\u0435", "Match case": "\u0423\u043b\u0456\u0447\u0432\u0430\u0446\u044c \u0440\u044d\u0433\u0456\u0441\u0442\u0440", "Prev": "\u0423\u0432\u0435\u0440\u0445", "Spellcheck": "\u041f\u0440\u0430\u0432\u0435\u0440\u043a\u0430 \u043f\u0440\u0430\u0432\u0430\u043f\u0456\u0441\u0443", "Finish": "\u0421\u043a\u043e\u043d\u0447\u044b\u0446\u044c", "Ignore all": "\u0406\u0433\u043d\u0430\u0440\u0430\u0432\u0430\u0446\u044c \u0443\u0441\u0435", "Ignore": "\u0406\u0433\u043d\u0430\u0440\u0430\u0432\u0430\u0446\u044c", "Add to Dictionary": "\u0414\u0430\u0434\u0430\u0446\u044c \u0443 \u0441\u043b\u043e\u045e\u043d\u0456\u043a", "Insert row before": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0440\u0430\u0434\u043e\u043a \u0437\u0432\u0435\u0440\u0445\u0443", "Rows": "\u0420\u0430\u0434\u043a\u0456", "Height": "\u0412\u044b\u0448\u044b\u043d\u044f", "Paste row after": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0440\u0430\u0434\u043e\u043a \u0437\u043d\u0456\u0437\u0443", "Alignment": "\u0412\u044b\u0440\u0430\u045e\u043d\u043e\u045e\u0432\u0430\u043d\u043d\u0435", "Border color": "\u041a\u043e\u043b\u0435\u0440 \u043c\u044f\u0436\u044b", "Column group": "\u0413\u0440\u0443\u043f\u0430 \u0441\u043b\u0443\u043f\u043a\u043e\u045e", "Row": "\u0420\u0430\u0434\u043e\u043a", "Insert column before": "\u0414\u0430\u0434\u0430\u0446\u044c \u0441\u043b\u0443\u043f\u043e\u043a \u0437\u043b\u0435\u0432\u0430", "Split cell": "\u0420\u0430\u0437\u0431\u0456\u0446\u044c \u044f\u0447\u044d\u0439\u043a\u0443", "Cell padding": "\u0423\u043d\u0443\u0442\u0440\u0430\u043d\u044b \u0432\u043e\u0434\u0441\u0442\u0443\u043f", "Cell spacing": "\u0417\u043d\u0435\u0448\u043d\u0456 \u0432\u043e\u0434\u0441\u0442\u0443\u043f", "Row type": "\u0422\u044b\u043f \u0440\u0430\u0434\u043a\u0430", "Insert table": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0442\u0430\u0431\u043b\u0456\u0446\u0443", "Body": "\u0426\u0435\u043b\u0430", "Caption": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a", "Footer": "\u041d\u0456\u0437", "Delete row": "\u0412\u044b\u0434\u0430\u043b\u0456\u0446\u044c \u0440\u0430\u0434\u043e\u043a", "Paste row before": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0440\u0430\u0434\u043e\u043a \u0437\u0432\u0435\u0440\u0445\u0443", "Scope": "\u0421\u0444\u0435\u0440\u0430", "Delete table": "\u0412\u044b\u0434\u0430\u043b\u0456\u0446\u044c \u0442\u0430\u0431\u043b\u0456\u0446\u0443", "H Align": "\u0413\u0430\u0440. \u0432\u044b\u0440\u0430\u045e\u043d\u043e\u045e\u0432\u0430\u043d\u043d\u0435", "Top": "\u0412\u0435\u0440\u0445", "Header cell": "\u0417\u0430\u0433\u0430\u043b\u043e\u0432\u0430\u043a", "Column": "\u0421\u043b\u0443\u043f\u043e\u043a", "Row group": "\u0413\u0440\u0443\u043f\u0430 \u0440\u0430\u0434\u043a\u043e\u045e", "Cell": "\u042f\u0447\u044d\u0439\u043a\u0430", "Middle": "\u0421\u044f\u0440\u044d\u0434\u0437\u0456\u043d\u0430", "Cell type": "\u0422\u044b\u043f \u044f\u0447\u044d\u0439\u043a\u0456", "Copy row": "\u041a\u0430\u043f\u0456\u044f\u0432\u0430\u0446\u044c \u0440\u0430\u0434\u043e\u043a", "Row properties": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u0440\u0430\u0434\u043a\u0430", "Table properties": "\u0423\u043b\u0430\u0441\u0446\u0456\u0432\u0430\u0441\u0446\u0456 \u0442\u0430\u0431\u043b\u0456\u0446\u044b", "Bottom": "\u041d\u0456\u0437", "V Align": "\u0412\u0435\u0440. \u0432\u044b\u0440\u0430\u045e\u043d\u043e\u045e\u0432\u0430\u043d\u043d\u0435", "Header": "\u0428\u0430\u043f\u043a\u0430", "Right": "\u041f\u0430 \u043f\u0440\u0430\u0432\u044b\u043c \u043a\u0440\u0430\u0456", "Insert column after": "\u0414\u0430\u0434\u0430\u0446\u044c \u0441\u043b\u0443\u043f\u043e\u043a \u0441\u043f\u0440\u0430\u0432\u0430", "Cols": "\u0421\u043b\u0443\u043f\u043a\u0456", "Insert row after": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0440\u0430\u0434\u043e\u043a \u0437\u043d\u0456\u0437\u0443", "Width": "\u0428\u044b\u0440\u044b\u043d\u044f", "Cell properties": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b \u044f\u0447\u044d\u0439\u043a\u0456", "Left": "\u041f\u0430 \u043b\u0435\u0432\u044b\u043c \u043a\u0440\u0430\u0456", "Cut row": "\u0412\u044b\u0440\u0430\u0437\u0430\u0446\u044c \u0440\u0430\u0434\u043e\u043a", "Delete column": "\u0412\u044b\u0434\u0430\u043b\u0456\u0446\u044c \u0441\u043b\u0443\u043f\u043e\u043a", "Center": "\u041f\u0430 \u0446\u044d\u043d\u0442\u0440\u044b", "Merge cells": "\u0410\u0431'\u044f\u0434\u043d\u0430\u0446\u044c \u044f\u0447\u044d\u0439\u043a\u0456", "Insert template": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c \u0448\u0430\u0431\u043b\u043e\u043d", "Templates": "\u0428\u0430\u0431\u043b\u043e\u043d\u044b", "Background color": "\u041a\u043e\u043b\u0435\u0440 \u0444\u043e\u043d\u0443", "Custom...": "\u041a\u0430\u0440\u044b\u0441\u0442\u0430\u0446\u043a\u0456...", "Custom color": "\u041a\u0430\u0440\u044b\u0441\u0442\u0430\u0446\u043a\u0456 \u043a\u043e\u043b\u0435\u0440", "No color": "\u0411\u0435\u0437 \u043a\u043e\u043b\u0435\u0440\u0443", "Text color": "\u041a\u043e\u043b\u0435\u0440 \u0442\u044d\u043a\u0441\u0442\u0443", "Show blocks": "\u041f\u0430\u043a\u0430\u0437\u0432\u0430\u0446\u044c \u0431\u043b\u043e\u043a\u0456", "Show invisible characters": "\u041f\u0430\u043a\u0430\u0437\u0432\u0430\u0446\u044c \u043d\u044f\u0431\u0430\u0447\u043d\u044b\u044f \u0441\u0456\u043c\u0432\u0430\u043b\u044b", "Words: {0}": "\u041a\u043e\u043b\u044c\u043a\u0430\u0441\u0446\u044c \u0441\u043b\u043e\u045e: {0}", "Insert": "\u0423\u0441\u0442\u0430\u0432\u0456\u0446\u044c", "File": "\u0424\u0430\u0439\u043b", "Edit": "\u0417\u043c\u044f\u043d\u0456\u0446\u044c", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0422\u044d\u043a\u0441\u0442\u0430\u0432\u0430\u0435 \u043f\u043e\u043b\u0435. \u041d\u0430\u0446\u0456\u0441\u043d\u0456\u0446\u0435 ALT-F9, \u043a\u0430\u0431 \u0432\u044b\u043a\u043b\u0456\u043a\u0430\u0446\u044c \u043c\u0435\u043d\u044e, ALT-F10 - \u043f\u0430\u043d\u044d\u043b\u044c \u043f\u0440\u044b\u043b\u0430\u0434\u0430\u045e, ALT-0 - \u0434\u043b\u044f \u0432\u044b\u043a\u043b\u0456\u043a\u0443 \u0434\u0430\u043f\u0430\u043c\u043e\u0433\u0456.", "Tools": "\u041f\u0440\u044b\u043b\u0430\u0434\u044b", "View": "\u0412\u044b\u0433\u043b\u044f\u0434", "Table": "\u0422\u0430\u0431\u043b\u0456\u0446\u0430", "Format": "\u0424\u0430\u0440\u043c\u0430\u0442" });langs/bs.js000060400000017771152455403670006636 0ustar00tinymce.addI18n('bs',{ "Cut": "Izre\u017ei", "Heading 5": "Naslov 5", "Header 2": "Zaglavlje 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "Va\u0161 preglednik ne podr\u017eava direktan pristup me\u0111uspremniku (clipboard). Molimo Vas da umjesto toga koristite kratice na tastaturi Ctrl+X\/C\/V.", "Heading 4": "Naslov 4", "Div": "Div", "Heading 2": "Naslov 2", "Paste": "Zalijepi", "Close": "Zatvori", "Font Family": "Vrsta pisma", "Pre": "Pre", "Align right": "Poravnaj desno", "New document": "Novi dokument", "Blockquote": "Blockquote", "Numbered list": "Numerisana lista", "Heading 1": "Naslov 1", "Headings": "Naslovi", "Increase indent": "Pove\u0107aj uvla\u010denje", "Formats": "Formati", "Headers": "Zaglavlja", "Select all": "Ozna\u010di sve", "Header 3": "Zaglavlje 3", "Blocks": "Blokovi", "Undo": "Poni\u0161ti", "Strikethrough": "Crta kroz sredinu", "Bullet list": "Lista", "Header 1": "Zaglavlje 1", "Superscript": "Eksponent", "Clear formatting": "Ukloni oblikovanje", "Font Sizes": "Veli\u010dine fonta", "Subscript": "Indeks", "Header 6": "Zaglavlje 6", "Redo": "Vrati", "Paragraph": "Paragraf", "Ok": "U redu", "Bold": "Podebljano", "Code": "Kod", "Italic": "Kurziv", "Align center": "Poravnaj po sredini", "Header 5": "Zaglavlje 5", "Heading 6": "Naslov 6", "Heading 3": "Naslov 3", "Decrease indent": "Smanji uvla\u010denje", "Header 4": "Zaglavlje 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "Akcija zalijepi od sada lijepi \u010disti tekst. Sadr\u017eaj \u0107e biti zaljepljen kao \u010disti tekst sve dok ne isklju\u010dite ovu opciju.", "Underline": "Linija ispod", "Cancel": "Odustani", "Justify": "Obostrano poravnanje", "Inline": "Unutra\u0161nje", "Copy": "Kopiraj", "Align left": "Poravnaj lijevo", "Visual aids": "Vizualna pomo\u0107", "Lower Greek": "Mala gr\u010dka slova", "Square": "Kvadrat", "Default": "Zadano", "Lower Alpha": "Mala slova", "Circle": "Krug", "Disc": "Disk", "Upper Alpha": "Velika slova", "Upper Roman": "Velika rimska slova", "Lower Roman": "Mala rimska slova", "Name": "Ime", "Anchor": "Sidro", "You have unsaved changes are you sure you want to navigate away?": "Postoje izmjene koje nisu snimljene, jeste li sigurni da \u017eelite iza\u0107i?", "Restore last draft": "Vrati posljednju skicu", "Special character": "Poseban znak", "Source code": "Izvorni kod", "B": "B", "R": "R", "G": "G", "Color": "Boja", "Right to left": "S desna na lijevo", "Left to right": "S lijeva na desno", "Emoticons": "Emotikoni", "Robots": "Roboti pretra\u017eiva\u010da", "Document properties": "Svojstva dokumenta", "Title": "Naslov", "Keywords": "Klju\u010dne rije\u010di", "Encoding": "Kodna stranica", "Description": "Opis", "Author": "Autor", "Fullscreen": "Cijeli ekran", "Horizontal line": "Horizontalna linija", "Horizontal space": "Horizontalan razmak", "Insert\/edit image": "Ubaci\/izmijeni sliku", "Insert\/Edit code sample": "Ubaci\/izmijeni uzorak koda", "General": "Op\u0107enito", "Advanced": "Napredno", "Source": "Izvor", "Border": "Ivica", "Constrain proportions": "Zadr\u017ei proporcije", "Vertical space": "Vertikalni razmak", "Image description": "Opis slike", "Style": "Stil", "Dimensions": "Dimenzije", "Insert image": "Ubaci sliku", "Zoom in": "Pove\u0107aj", "Contrast": "Kontrast", "Back": "Nazad", "Gamma": "Gamma", "Flip horizontally": "Obrni horizontalno", "Resize": "Promjeni veli\u010dinu", "Sharpen": "Izo\u0161travanje", "Zoom out": "Smanji", "Insert image": "Ubaci sliku", "Apply": "Primijeni", "Brightness": "Svjetlina", "Rotate clockwise": "Rotiraj desno", "Rotate counterclockwise": "Rotiraj lijevo", "Edit image": "Uredi sliku", "Color levels": "Nivoi boje", "Crop": "Obre\u017ei", "Orientation": "Orijentacija", "Flip vertically": "Obrni vertikalno", "Invert": "Invertuj", "Insert date\/time": "Ubaci datum\/vrijeme", "Remove link": "Ukloni poveznicu", "Url": "Url", "Text to display": "Tekst za prikaz", "Anchors": "Kra\u0107e poveznice", "Insert link": "Ubaci poveznicu", "New window": "Novi prozor", "None": "Ni\u0161ta", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "URL koji ste unijeli izgleda da je eksterni link. \u017delite li dodati potrebni http:\/\/ prefiks?", "Target": "Meta", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "URL koji ste unijeli izgleda da je adresa e-po\u0161te. \u017delite li dodati potrebni mailto: prefiks?", "Insert\/edit link": "Umetni\/izmijeni link", "Insert\/edit video": "Umetni\/izmijeni video", "Poster": "Poster", "Alternative source": "Alternativni izvor", "Paste your embed code below:": "Umetnite va\u0161 kod za ugradnju ispod:", "Insert video": "Umetni video", "Embed": "Ugradi", "Nonbreaking space": "Neprekidaju\u0107i razmak", "Page break": "Prijelom stranice", "Paste as text": "Zalijepi kao tekst", "Preview": "Pregled", "Print": "Ispis", "Save": "Spremi", "Could not find the specified string.": "Tra\u017eeni tekst nije prona\u0111en", "Replace": "Zamijeni", "Next": "Sljede\u0107i", "Whole words": "Cijele rije\u010di", "Find and replace": "Prona\u0111i i zamijeni", "Replace with": "Zamijeni sa", "Find": "Tra\u017ei", "Replace all": "Zamijeni sve", "Match case": "Pazi na mala i velika slova", "Prev": "Prethodni", "Spellcheck": "Provjeri pravopis", "Finish": "Zavr\u0161i", "Ignore all": "Zanemari sve", "Ignore": "Zanemari", "Add to Dictionary": "Dodaj u rje\u010dnik", "Insert row before": "Umetni redak prije", "Rows": "Redovi", "Height": "Visina", "Paste row after": "Zalijepi redak nakon", "Alignment": "Poravnanje", "Border color": "Boja ivice", "Column group": "Grupirane kolone", "Row": "Redak", "Insert column before": "Umetni kolonu prije", "Split cell": "Razdvoji polja", "Cell padding": "Razmak unutar polja", "Cell spacing": "Razmak izme\u0111u polja", "Row type": "Vrsta redka", "Insert table": "Umetni tablicu", "Body": "Sadr\u017eaj", "Caption": "Naslov", "Footer": "Podno\u017eje", "Delete row": "Izbri\u0161i redak", "Paste row before": "Zalijepi redak prije", "Scope": "Doseg", "Delete table": "Izbri\u0161i tablicu", "H Align": "H Poravnavanje", "Top": "Vrh", "Header cell": "Polje zaglavlja", "Column": "Kolona", "Row group": "Grupirani redovi", "Cell": "Polje", "Middle": "Sredina", "Cell type": "Vrsta polja", "Copy row": "Kopiraj redak", "Row properties": "Svojstva redka", "Table properties": "Svojstva tablice", "Bottom": "Dno", "V Align": "V Poravnavanje", "Header": "Zaglavlje", "Right": "Desno", "Insert column after": "Umetni kolonu poslije", "Cols": "Stupci", "Insert row after": "Umetni redak poslije", "Width": "\u0160irina", "Cell properties": "Svojstva polja", "Left": "Lijevo", "Cut row": "Izre\u017ei redak", "Delete column": "Izbri\u0161i kolonu", "Center": "Sredina", "Merge cells": "Spoji polja", "Insert template": "Umetni predlo\u017eak", "Templates": "Predlo\u0161ci", "Background color": "Boja pozadine", "Custom...": "Prilago\u0111eno...", "Custom color": "Prilago\u0111ena boja", "No color": "Bez boje", "Text color": "Boja teksta", "Show blocks": "Prika\u017ei blokove", "Show invisible characters": "Prika\u017ei nevidljive znakove", "Words: {0}": "Rije\u010di: {0}", "Insert": "Umetni", "File": "Datoteka", "Edit": "Izmijeni", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "Pritisni ALT-F9 za izbornik. Pritisni ALT-F10 za alatnu traku. Pritisni ALT-0 za pomo\u0107", "Tools": "Alati", "View": "Pogled", "Table": "Tablica", "Format": "Format", "Id": "Id", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "Id treba da po\u010dinje sa slovom, i pored slova mogu se koristiti samo brojevi, crtice, ta\u010dke, zarezi ili donje crte.", "Insert/Edit code sample": "Ubaci/Izmijeni primjer koda", "Language": "Jezik", "Image": "Image", "Date/time": "Datum/vrijeme", "Link": "Link", "Paste or type a link": "Zalijepi ili unesi link", "Insert/Edit Media": "Ubaci/Izmijeni medij", "Media": "Medij", "Table of Contents": "Sadr\u017eaj" });langs/uk.js000060400000056553152455403670006652 0ustar00tinymce.addI18n('uk',{ "Cut": "\u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438", "Heading 5": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 5", "Header 2": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 2", "Your browser doesn't support direct access to the clipboard. Please use the Ctrl+X\/C\/V keyboard shortcuts instead.": "\u0412\u0430\u0448 \u0431\u0440\u0430\u0443\u0437\u0435\u0440 \u043d\u0435 \u043f\u0456\u0434\u0442\u0440\u0438\u043c\u0443\u0454 \u043f\u0440\u044f\u043c\u0438\u0439 \u0434\u043e\u0441\u0442\u0443\u043f \u0434\u043e \u0431\u0443\u0444\u0435\u0440\u0443 \u043e\u0431\u043c\u0456\u043d\u0443. \u0411\u0443\u0434\u044c \u043b\u0430\u0441\u043a\u0430, \u0432\u0438\u043a\u043e\u0440\u0438\u0441\u0442\u043e\u0432\u0443\u0439\u0442\u0435 Ctrl+X\/C\/V \u0437\u0430\u043c\u0456\u0441\u0442\u044c \u0441\u043f\u043e\u043b\u0443\u0447\u0435\u043d\u043d\u044f \u043a\u043b\u0430\u0432\u0456\u0448.", "Heading 4": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 4", "Div": "\u0411\u043b\u043e\u043a", "Heading 2": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 2", "Paste": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438", "Close": "\u0417\u0430\u043a\u0440\u0438\u0442\u0438", "Font Family": "\u0428\u0440\u0438\u0444\u0442 \u0437\u043c\u0456\u0441\u0442\u0443", "Pre": "\u041f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u0454 \u0444\u043e\u0440\u043c\u0430\u0442\u0443\u0432\u0430\u043d\u043d\u044f", "Align right": "\u041f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "New document": "\u041d\u043e\u0432\u0438\u0439 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442", "Blockquote": "\u0426\u0438\u0442\u0430\u0442\u0430", "Numbered list": "\u041d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", "Heading 1": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 1", "Headings": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Increase indent": "\u0417\u0431\u0456\u043b\u044c\u0448\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043f", "Formats": "\u0424\u043e\u0440\u043c\u0430\u0442\u0438", "Headers": "Headers", "Select all": "\u0412\u0438\u0434\u0456\u043b\u0438\u0442\u0438 \u0432\u0441\u0435", "Header 3": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 3", "Blocks": "\u0411\u043b\u043e\u043a\u0438", "Undo": "\u0412\u0456\u0434\u043c\u0456\u043d\u0438\u0442\u0438", "Strikethrough": "\u0417\u0430\u043a\u0440\u0435\u0441\u043b\u0435\u043d\u0438\u0439", "Bullet list": "\u041d\u0435\u043d\u0443\u043c\u0435\u0440\u043e\u0432\u0430\u043d\u0438\u0439 \u0441\u043f\u0438\u0441\u043e\u043a", "Header 1": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 1", "Superscript": "\u0412\u0435\u0440\u0445\u043d\u0456\u0439 \u0456\u043d\u0434\u0435\u043a\u0441", "Clear formatting": "\u041e\u0447\u0438\u0441\u0442\u0438\u0442\u0438 \u0444\u043e\u0440\u043c\u0430\u0442\u0443\u0432\u0430\u043d\u043d\u044f", "Font Sizes": "\u0420\u043e\u0437\u043c\u0456\u0440 \u0448\u0440\u0438\u0444\u0442\u0443", "Subscript": "\u041d\u0438\u0436\u043d\u0456\u0439 \u0456\u043d\u0434\u0435\u043a\u0441", "Header 6": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 6", "Redo": "\u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u0438", "Paragraph": "\u041f\u0430\u0440\u0430\u0433\u0440\u0430\u0444", "Ok": "\u0413\u0430\u0440\u0430\u0437\u0434", "Bold": "\u0416\u0438\u0440\u043d\u0438\u0439", "Code": "\u041a\u043e\u0434", "Italic": "\u041a\u0443\u0440\u0441\u0438\u0432", "Align center": "\u041f\u043e \u0446\u0435\u043d\u0442\u0440\u0443", "Header 5": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 5", "Heading 6": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 6", "Heading 3": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 3", "Decrease indent": "\u0417\u043c\u0435\u043d\u0448\u0438\u0442\u0438\u0442\u0438 \u0432\u0456\u0434\u0441\u0442\u0443\u043f", "Header 4": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a 4", "Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.": "\u0412\u0441\u0442\u0430\u0432\u043a\u0430 \u0437\u0434\u0456\u0439\u0441\u043d\u044e\u0454\u0442\u044c\u0441\u044f \u0443 \u0432\u0438\u0433\u043b\u044f\u0434\u0456 \u043f\u0440\u043e\u0441\u0442\u043e\u0433\u043e \u0442\u0435\u043a\u0441\u0442\u0443, \u043f\u043e\u043a\u0438 \u043d\u0435 \u0432\u0456\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u0438 \u0434\u0430\u043d\u0443 \u043e\u043f\u0446\u0456\u044e.", "Underline": "\u041f\u0456\u0434\u043a\u0440\u0435\u0441\u043b\u0435\u043d\u0438\u0439", "Cancel": "\u0412\u0456\u0434\u043c\u0456\u043d\u0438\u0442\u0438", "Justify": "\u0412\u0438\u0440\u0456\u0432\u043d\u044e\u0432\u0430\u043d\u043d\u044f", "Inline": "\u0412\u0431\u0443\u0434\u043e\u0432\u0430\u043d\u0456", "Copy": "\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438", "Align left": "\u041f\u043e \u043b\u0456\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "Visual aids": "\u041d\u0430\u043e\u0447\u043d\u0456 \u043f\u0440\u0438\u043b\u0430\u0434\u0434\u044f", "Lower Greek": "\u041c\u0430\u043b\u0456 \u0433\u0440\u0435\u0446\u044c\u043a\u0456 \u0431\u0443\u043a\u0432\u0438", "Square": "\u041a\u0432\u0430\u0434\u0440\u0430\u0442\u0438", "Default": "\u0421\u0442\u0430\u043d\u0434\u0430\u0440\u0442\u043d\u0438\u0439", "Lower Alpha": "\u041c\u0430\u043b\u0456 \u043b\u0430\u0442\u0438\u043d\u0441\u044c\u043a\u0456 \u0431\u0443\u043a\u0432\u0438", "Circle": "\u041e\u043a\u0440\u0443\u0436\u043d\u043e\u0441\u0442\u0456", "Disc": "\u041a\u0440\u0443\u0433\u0438", "Upper Alpha": "\u0412\u0435\u043b\u0438\u043a\u0456 \u043b\u0430\u0442\u0438\u043d\u0441\u044c\u043a\u0456 \u0431\u0443\u043a\u0432\u0438", "Upper Roman": "\u0420\u0438\u043c\u0441\u044c\u043a\u0456 \u0446\u0438\u0444\u0440\u0438", "Lower Roman": "\u041c\u0430\u043b\u0456 \u0440\u0438\u043c\u0441\u044c\u043a\u0456 \u0446\u0438\u0444\u0440\u0438", "Id should start with a letter, followed only by letters, numbers, dashes, dots, colons or underscores.": "\u041a\u043e\u0434 \u043c\u0430\u0454 \u043f\u043e\u0447\u0438\u043d\u0430\u0442\u0438\u0441\u044f \u0437 \u043b\u0456\u0442\u0435\u0440\u0438 \u0456 \u043c\u043e\u0436\u0435 \u043c\u0456\u0441\u0442\u0438\u0442\u0438 \u043b\u0438\u0448\u0435 \u0441\u0438\u043c\u0432\u043e\u043b\u0438 \u043b\u0456\u0442\u0435\u0440, \u0446\u0438\u0444\u0440, \u0434\u0435\u0444\u0456\u0441\u0443, \u043a\u0440\u0430\u043f\u043a\u0438, \u043a\u043e\u043c\u0438 \u0430\u0431\u043e \u043d\u0438\u0436\u043d\u044c\u043e\u0433\u043e \u043f\u0456\u0434\u043a\u0440\u0435\u0441\u043b\u0435\u043d\u043d\u044f.", "Name": "\u041d\u0430\u0437\u0432\u0430", "Anchor": "\u042f\u043a\u0456\u0440", "Id": "\u041a\u043e\u0434", "You have unsaved changes are you sure you want to navigate away?": "\u0423 \u0412\u0430\u0441 \u0454 \u043d\u0435\u0437\u0431\u0435\u0440\u0435\u0436\u0435\u043d\u0456 \u0437\u043c\u0456\u043d\u0438. \u0412\u0438 \u0432\u043f\u0435\u0432\u043d\u0435\u043d\u0456, \u0449\u043e \u0445\u043e\u0447\u0435\u0442\u0435 \u043f\u0456\u0442\u0438?", "Restore last draft": "\u0412\u0456\u0434\u043d\u043e\u0432\u043b\u0435\u043d\u043d\u044f \u043e\u0441\u0442\u0430\u043d\u043d\u044c\u043e\u0433\u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0443", "Special character": "\u0421\u043f\u0435\u0446\u0456\u0430\u043b\u044c\u043d\u0456 \u0441\u0438\u043c\u0432\u043e\u043b\u0438", "Source code": "\u0412\u0438\u0445\u0456\u0434\u043d\u0438\u0439 \u043a\u043e\u0434", "Language": "\u041c\u043e\u0432\u0430", "Insert\/Edit code sample": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438\/\u043d\u0430\u043f\u0438\u0441\u0430\u0442\u0438 \u043f\u0440\u0438\u043a\u043b\u0430\u0434 \u043a\u043e\u0434\u0443", "B": "B", "R": "R", "G": "G", "Color": "\u043a\u043e\u043b\u0456\u0440", "Right to left": "\u0421\u043f\u0440\u0430\u0432\u0430 \u043d\u0430\u043b\u0456\u0432\u043e", "Left to right": "\u0417\u043b\u0456\u0432\u0430 \u043d\u0430\u043f\u0440\u0430\u0432\u043e", "Emoticons": "\u0415\u043c\u043e\u0446\u0456\u0457", "Robots": "\u0420\u043e\u0431\u043e\u0442\u0438", "Document properties": "\u0412\u043b\u0430\u0441\u0442\u0438\u0432\u043e\u0441\u0442\u0456 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430", "Title": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Keywords": "\u041a\u043b\u044e\u0447\u043e\u0432\u0456 \u0441\u043b\u043e\u0432\u0430", "Encoding": "\u041a\u043e\u0434\u0443\u0432\u0430\u043d\u043d\u044f", "Description": "\u041e\u043f\u0438\u0441", "Author": "\u0410\u0432\u0442\u043e\u0440", "Fullscreen": "\u041f\u043e\u0432\u043d\u043e\u0435\u043a\u0440\u0430\u043d\u043d\u0438\u0439 \u0440\u0435\u0436\u0438\u043c", "Horizontal line": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0430 \u043b\u0456\u043d\u0456\u044f", "Horizontal space": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0438\u0439 \u0456\u043d\u0442\u0435\u0440\u0432\u0430\u043b", "Insert\/edit image": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438\/\u0437\u043c\u0456\u043d\u0438\u0442\u0438 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "General": "\u0417\u0430\u0433\u0430\u043b\u044c\u043d\u0456", "Advanced": "\u0420\u043e\u0437\u0448\u0438\u0440\u0435\u043d\u0456", "Source": "\u0414\u0436\u0435\u0440\u0435\u043b\u043e", "Border": "\u041c\u0435\u0436\u0430", "Constrain proportions": "\u0417\u0431\u0435\u0440\u0456\u0433\u0430\u0442\u0438 \u043f\u0440\u043e\u043f\u043e\u0440\u0446\u0456\u0457", "Vertical space": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0438\u0439 \u0456\u043d\u0442\u0435\u0440\u0432\u0430\u043b", "Image description": "\u041e\u043f\u0438\u0441 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "Style": "\u0421\u0442\u0438\u043b\u044c", "Dimensions": "\u0420\u043e\u0437\u043c\u0456\u0440", "Insert image": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "Image": "\u0417\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "Zoom in": "\u041d\u0430\u0431\u043b\u0438\u0437\u0438\u0442\u0438", "Contrast": "\u041a\u043e\u043d\u0442\u0440\u0430\u0441\u0442", "Back": "\u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u0438\u0441\u044f", "Gamma": "\u0413\u0430\u043c\u043c\u0430", "Flip horizontally": "\u0412\u0456\u0434\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0438 \u043f\u043e \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u0456", "Resize": "\u0417\u043c\u0456\u043d\u0438\u0442\u0438 \u0440\u043e\u0437\u043c\u0456\u0440", "Sharpen": "\u0427\u0456\u0442\u043a\u0456\u0441\u0442\u044c", "Zoom out": "\u0412\u0456\u0434\u0434\u0430\u043b\u0438\u0442\u0438", "Image options": "\u041d\u0430\u043b\u0430\u0448\u0442\u0443\u0432\u0430\u043d\u043d\u044f \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "Apply": "\u0417\u0430\u0441\u0442\u043e\u0441\u0443\u0432\u0430\u0442\u0438", "Brightness": "\u042f\u0441\u043a\u0440\u0430\u0432\u0456\u0441\u0442\u044c", "Rotate clockwise": "\u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u0438 \u0437\u0430 \u0433\u043e\u0434\u0438\u043d\u043d\u0438\u043a\u043e\u0432\u043e\u044e \u0441\u0442\u0440\u0456\u043b\u043a\u043e\u044e", "Rotate counterclockwise": "\u041f\u043e\u0432\u0435\u0440\u043d\u0443\u0442\u0438 \u043f\u0440\u043e\u0442\u0438 \u0433\u043e\u0434\u0438\u043d\u043d\u0438\u043a\u043e\u0432\u043e\u0457 \u0441\u0442\u0440\u0456\u043b\u043a\u0438", "Edit image": "\u0420\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0437\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "Color levels": "\u0420\u0456\u0432\u043d\u0456 \u043a\u043e\u043b\u044c\u043e\u0440\u0456\u0432", "Crop": "\u041e\u0431\u0440\u0456\u0437\u0430\u0442\u0438", "Orientation": "\u041e\u0440\u0456\u0454\u043d\u0442\u0430\u0446\u0456\u044f", "Flip vertically": "\u0412\u0456\u0434\u043e\u0431\u0440\u0430\u0437\u0438\u0442\u0438 \u043f\u043e \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u0456", "Invert": "\u0406\u043d\u0432\u0435\u0440\u0441\u0456\u044f", "Date\/time": "\u0414\u0430\u0442\u0430\/\u0447\u0430\u0441", "Insert date\/time": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0434\u0430\u0442\u0443\/\u0447\u0430\u0441", "Remove link": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", "Url": "\u0410\u0434\u0440\u0435\u0441\u0430 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", "Text to display": "\u0422\u0435\u043a\u0441\u0442 \u0434\u043b\u044f \u0432\u0456\u0434\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "Anchors": "\u042f\u043a\u043e\u0440\u0456", "Insert link": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", "Link": "\u041f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", "New window": "\u0423 \u043d\u043e\u0432\u043e\u043c\u0443 \u0432\u0456\u043a\u043d\u0456", "None": "\u041d\u0456", "The URL you entered seems to be an external link. Do you want to add the required http:\/\/ prefix?": "\u0421\u0445\u043e\u0436\u0435, \u0449\u043e \u0432\u0438 \u0432\u0432\u0435\u043b\u0438 \u0437\u043e\u0432\u043d\u0456\u0448\u043d\u0454 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f. \u0412\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043e\u0434\u0430\u0442\u0438 http:\/\/ \u043f\u0440\u0435\u0444\u0456\u043a\u0441?", "Paste or type a link": "\u041d\u0430\u043f\u0438\u0441\u0430\u0442\u0438 \u0430\u0431\u043e \u0432\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", "Target": "\u0412\u0456\u0434\u043a\u0440\u0438\u0432\u0430\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", "The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?": "\u0421\u0445\u043e\u0436\u0435, \u0449\u043e \u0432\u0438 \u0432\u0432\u0435\u043b\u0438 \u0430\u0434\u0440\u0435\u0441\u0443 \u0435\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u0457 \u043f\u043e\u0448\u0442\u0438. \u0412\u0438 \u0431\u0430\u0436\u0430\u0454\u0442\u0435 \u0434\u043e\u0434\u0430\u0442\u0438 mailto: \u043f\u0440\u0435\u0444\u0456\u043a\u0441?", "Insert\/edit link": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438\/\u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u043f\u043e\u0441\u0438\u043b\u0430\u043d\u043d\u044f", "Insert\/edit video": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438\/\u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0432\u0456\u0434\u0435\u043e", "Media": "\u041c\u0435\u0434\u0456\u0430\u0434\u0430\u043d\u0456", "Alternative source": "\u0410\u043b\u044c\u0442\u0435\u0440\u043d\u0430\u0442\u0438\u0432\u043d\u0435 \u0434\u0436\u0435\u0440\u0435\u043b\u043e", "Paste your embed code below:": "\u0412\u0441\u0442\u0430\u0432\u0442\u0435 \u0432\u0430\u0448 \u043a\u043e\u0434 \u043d\u0438\u0436\u0447\u0435:", "Insert video": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0432\u0456\u0434\u0435\u043e", "Poster": "\u0417\u043e\u0431\u0440\u0430\u0436\u0435\u043d\u043d\u044f", "Insert\/edit media": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438\/\u0440\u0435\u0434\u0430\u0433\u0443\u0432\u0430\u0442\u0438 \u0430\u0443\u0434\u0456\u043e", "Embed": "\u041a\u043e\u0434 \u0434\u043b\u044f \u0432\u0441\u0442\u0430\u0432\u043a\u0438", "Nonbreaking space": "\u041d\u0435\u0440\u043e\u0437\u0440\u0438\u0432\u043d\u0438\u0439 \u043f\u0440\u043e\u0431\u0456\u043b", "Page break": "\u0420\u043e\u0437\u0440\u0438\u0432 \u0441\u0442\u043e\u0440\u0456\u043d\u043a\u0438", "Paste as text": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u044f\u043a \u0442\u0435\u043a\u0441\u0442", "Preview": "\u041f\u043e\u043f\u0435\u0440\u0435\u0434\u043d\u0456\u0439 \u043f\u0435\u0440\u0435\u0433\u043b\u044f\u0434", "Print": "\u0414\u0440\u0443\u043a\u0443\u0432\u0430\u0442\u0438", "Save": "\u0417\u0431\u0435\u0440\u0435\u0433\u0442\u0438", "Could not find the specified string.": "\u0412\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0440\u044f\u0434\u043e\u043a \u043d\u0435 \u0437\u043d\u0430\u0439\u0434\u0435\u043d\u043e", "Replace": "\u0417\u0430\u043c\u0456\u043d\u0438\u0442\u0438", "Next": "\u0412\u043d\u0438\u0437", "Whole words": "\u0426\u0456\u043b\u0456 \u0441\u043b\u043e\u0432\u0430", "Find and replace": "\u041f\u043e\u0448\u0443\u043a \u0456 \u0437\u0430\u043c\u0456\u043d\u0430", "Replace with": "\u0417\u0430\u043c\u0456\u043d\u0438\u0442\u0438 \u043d\u0430", "Find": "\u0417\u043d\u0430\u0439\u0442\u0438", "Replace all": "\u0417\u0430\u043c\u0456\u043d\u0438\u0442\u0438 \u0432\u0441\u0435", "Match case": "\u0412\u0440\u0430\u0445\u043e\u0432\u0443\u0432\u0430\u0442\u0438 \u0440\u0435\u0433\u0456\u0441\u0442\u0440", "Prev": "\u0412\u0433\u043e\u0440\u0443", "Spellcheck": "\u041f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0430 \u043e\u0440\u0444\u043e\u0433\u0440\u0430\u0444\u0456\u0457", "Finish": "\u0417\u0430\u0432\u0435\u0440\u0448\u0438\u0442\u0438", "Ignore all": "\u0406\u0433\u043d\u043e\u0440\u0443\u0432\u0430\u0442\u0438 \u0432\u0441\u0435", "Ignore": "\u0406\u0433\u043d\u043e\u0440\u0443\u0432\u0430\u0442\u0438", "Add to Dictionary": "\u0414\u043e\u0434\u0430\u0442\u0438 \u0434\u043e \u0421\u043b\u043e\u0432\u043d\u0438\u043a\u0430", "Insert row before": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043f\u043e\u0440\u043e\u0436\u043d\u0456\u0439 \u0440\u044f\u0434\u043e\u043a \u0437\u0432\u0435\u0440\u0445\u0443", "Rows": "\u0420\u044f\u0434\u043a\u0438", "Height": "\u0412\u0438\u0441\u043e\u0442\u0430", "Paste row after": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0440\u044f\u0434\u043e\u043a \u0437\u043d\u0438\u0437\u0443", "Alignment": "\u0412\u0438\u0440\u0456\u0432\u043d\u044e\u0432\u0430\u043d\u043d\u044f", "Border color": "\u043a\u043e\u043b\u0456\u0440 \u0440\u0430\u043c\u043a\u0438", "Column group": "\u0413\u0440\u0443\u043f\u0430 \u0441\u0442\u043e\u0432\u043f\u0446\u0456\u0432", "Row": "\u0420\u044f\u0434\u043e\u043a", "Insert column before": "\u0414\u043e\u0434\u0430\u0442\u0438 \u0441\u0442\u043e\u0432\u043f\u0435\u0446\u044c \u043b\u0456\u0432\u043e\u0440\u0443\u0447", "Split cell": "\u0420\u043e\u0437\u0431\u0438\u0442\u0438 \u043a\u043e\u043c\u0456\u0440\u043a\u0443", "Cell padding": "\u041f\u043e\u043b\u044f \u043a\u043e\u043c\u0456\u0440\u043e\u043a", "Cell spacing": "\u0412\u0456\u0434\u0441\u0442\u0430\u043d\u044c \u043c\u0456\u0436 \u043a\u043e\u043c\u0456\u0440\u043a\u0430\u043c\u0438", "Row type": "\u0422\u0438\u043f \u0440\u044f\u0434\u043a\u0430", "Insert table": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044e", "Body": "\u0422\u0456\u043b\u043e", "Caption": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Footer": "\u041d\u0438\u0436\u043d\u0456\u0439 \u043a\u043e\u043b\u043e\u043d\u0442\u0438\u0442\u0443\u043b", "Delete row": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0440\u044f\u0434\u043e\u043a", "Paste row before": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0440\u044f\u0434\u043e\u043a \u0437\u0432\u0435\u0440\u0445\u0443", "Scope": "\u0421\u0444\u0435\u0440\u0430", "Delete table": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0442\u0430\u0431\u043b\u0438\u0446\u044e", "H Align": "\u0413\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u0435 \u0432\u0438\u0440\u0456\u0432\u043d\u044e\u0432\u0430\u043d\u043d\u044f", "Top": "\u041f\u043e \u0432\u0435\u0440\u0445\u043d\u044c\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "Header cell": "\u0417\u0430\u0433\u043e\u043b\u043e\u0432\u043e\u043a", "Column": "\u0421\u0442\u043e\u0432\u043f\u0435\u0446\u044c", "Row group": "\u0413\u0440\u0443\u043f\u0430 \u0440\u044f\u0434\u043a\u0456\u0432", "Cell": "\u041a\u043e\u043c\u0456\u0440\u043a\u0430", "Middle": "\u041f\u043e \u0446\u0435\u043d\u0442\u0440\u0443", "Cell type": "\u0422\u0438\u043f \u043a\u043e\u043c\u0456\u0440\u043a\u0438", "Copy row": "\u041a\u043e\u043f\u0456\u044e\u0432\u0430\u0442\u0438 \u0440\u044f\u0434\u043e\u043a", "Row properties": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u0440\u044f\u0434\u043a\u0430", "Table properties": "\u0412\u043b\u0430\u0441\u0442\u0438\u0432\u043e\u0441\u0442\u0456 \u0442\u0430\u0431\u043b\u0438\u0446\u0456", "Bottom": "\u041f\u043e \u043d\u0438\u0436\u043d\u044c\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "V Align": "\u0412\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u0435 \u0432\u0438\u0440\u0456\u0432\u043d\u044e\u0432\u0430\u043d\u043d\u044f", "Header": "\u0412\u0435\u0440\u0445\u043d\u0456\u0439 \u043a\u043e\u043b\u043e\u043d\u0442\u0438\u0442\u0443\u043b", "Right": "\u041f\u043e \u043f\u0440\u0430\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "Insert column after": "\u0414\u043e\u0434\u0430\u0442\u0438 \u0441\u0442\u043e\u0432\u043f\u0435\u0446\u044c \u043f\u0440\u0430\u0432\u043e\u0440\u0443\u0447", "Cols": "\u0421\u0442\u043e\u0432\u043f\u0446\u0456", "Insert row after": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u043f\u043e\u0440\u043e\u0436\u043d\u0456\u0439 \u0440\u044f\u0434\u043e\u043a \u0437\u043d\u0438\u0437\u0443", "Width": "\u0428\u0438\u0440\u0438\u043d\u0430", "Cell properties": "\u041f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u0438 \u043a\u043e\u043c\u0456\u0440\u043a\u0438", "Left": "\u041f\u043e \u043b\u0456\u0432\u043e\u043c\u0443 \u043a\u0440\u0430\u044e", "Cut row": "\u0412\u0438\u0440\u0456\u0437\u0430\u0442\u0438 \u0440\u044f\u0434\u043e\u043a", "Delete column": "\u0412\u0438\u0434\u0430\u043b\u0438\u0442\u0438 \u0441\u0442\u043e\u0432\u043f\u0435\u0446\u044c", "Center": "\u041f\u043e \u0446\u0435\u043d\u0442\u0440\u0443", "Merge cells": "\u041e\u0431'\u0454\u0434\u043d\u0430\u0442\u0438 \u043a\u043e\u043c\u0456\u0440\u043a\u0438", "Insert template": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438 \u0448\u0430\u0431\u043b\u043e\u043d", "Templates": "\u0428\u0430\u0431\u043b\u043e\u043d\u0438", "Background color": "\u041a\u043e\u043b\u0456\u0440 \u0444\u043e\u043d\u0443", "Custom...": "\u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044c\u043a\u0438\u0439", "Custom color": "\u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0446\u044c\u043a\u0438\u0439 \u043a\u043e\u043b\u0456\u0440", "No color": "\u0431\u0435\u0437 \u043a\u043e\u043b\u044c\u043e\u0440\u0443", "Text color": "\u041a\u043e\u043b\u0456\u0440 \u0442\u0435\u043a\u0441\u0442\u0443", "Table of Contents": "\u0417\u043c\u0456\u0441\u0442", "Show blocks": "\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u0431\u043b\u043e\u043a\u0438", "Show invisible characters": "\u041f\u043e\u043a\u0430\u0437\u0443\u0432\u0430\u0442\u0438 \u043d\u0435\u0432\u0438\u0434\u0438\u043c\u0456 \u0441\u0438\u043c\u0432\u043e\u043b\u0438", "Words: {0}": "\u041a\u0456\u043b\u044c\u043a\u0456\u0441\u0442\u044c \u0441\u043b\u0456\u0432: {0}", "Insert": "\u0412\u0441\u0442\u0430\u0432\u0438\u0442\u0438", "File": "\u0424\u0430\u0439\u043b", "Edit": "\u0417\u043c\u0456\u043d\u0438\u0442\u0438", "Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help": "\u0422\u0435\u043a\u0441\u0442\u043e\u0432\u0435 \u043f\u043e\u043b\u0435. \u041d\u0430\u0442\u0438\u0441\u043d\u0456\u0442\u044c ALT-F9 \u0449\u043e\u0431 \u0432\u0438\u043a\u043b\u0438\u043a\u0430\u0442\u0438 \u043c\u0435\u043d\u044e, ALT-F10 \u043f\u0430\u043d\u0435\u043b\u044c \u0456\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0456\u0432, ALT-0 \u0434\u043b\u044f \u0432\u0438\u043a\u043b\u0438\u043a\u0443 \u0434\u043e\u043f\u043e\u043c\u043e\u0433\u0438.", "Tools": "\u0406\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u0438", "View": "\u0412\u0438\u0433\u043b\u044f\u0434", "Table": "\u0422\u0430\u0431\u043b\u0438\u0446\u044f", "Format": "\u0424\u043e\u0440\u043c\u0430\u0442" }); changelog.txt000060400000161234152455403670007252 0ustar00Version 4.5.12 (2020-07-03) Fixed so links with xlink:href attributes are filtered correctly to prevent XSS. #TINY-1626 Fixed the `selection.setContent()` API not running parser filters #TINY-4002 Fixed the `visualchars` plugin converting HTML-like text to DOM elements in certain cases #TINY-4507 Fixed HTML comments incorrectly being parsed in certain cases #TINY-4511 Fixed a security issue related to CDATA sanitization during parsing #TINY-4669 Fixed content in an iframe element parsing as dom elements instead of text content #TINY-5943 Version 4.5.11 (2019-05-16) Fixed bug where the editor would scroll to the top of the editable area if a dialog was closed in inline mode. #TINY-1073 Version 4.5.10 (2018-10-19) Changed the contextual toolbar shortcut to Ctrl+F9 since an Edge shortcut interfered with the previous one. Version 4.5.9 (2018-08-02) Fixed a bug where Edge 17 wouldn't be able to select images or tables. Version 4.5.8 (2017-10-05) Fixed bug where paste on Edge wouldn't paste UTF characters since Microsoft didn't implement the html5 clipboard api correctly. Fixed bug where it was hard to focus the editor on IE 10 since the body element didn't have full height. Fixed bug where malformed blob urls wouldn't be handled correctly by the editor. Version 4.5.7 (2017-04-25) Fixed bug with selection around inline contenteditable false would get collapsed incorrectly. Fixed bug where pasting on Microsoft Edge 40+ would produce clipboard fragment headers. Version 4.5.6 (2017-03-30) Fixed bug where it wasn't possible to select floated images in some cases. Version 4.5.5 (2017-03-07) Fixed text formatting bug with fontsize could not be changed after changing the text color. Version 4.5.4 (2017-02-23) Fixed bug where setBaseAndExtend would throw exceptions on Chrome 58 when selecting images. Fixed bug where deleting partially selected contents could remove all contents in some edge cases on WebKit. Version 4.5.3 (2017-02-01) Added keyboard navigation for menu buttons when the menu is in focus. Added api to the list plugin for setting custom classes/attributes on lists. Added validation for the anchor plugin input field according to W3C id naming specifications. Fixed bug where media placeholders were removed after resize with the forced_root_block setting set to false. Fixed bug where deleting selections with similar sibling nodes sometimes deleted the whole document. Fixed bug with inlite theme where several toolbars would appear scrolling when more than one instance of the editor was in use. Fixed bug where the editor would throw error with the fontselect plugin on hidden editor instances in Firefox. Fixed bug where the background color would not stretch to the font size. Fixed bug where font size would be removed when changing background color. Fixed bug where the undomanager trimmed away whitespace between nodes on undo/redo. Fixed bug where media_dimensions=false in media plugin caused the editor to throw an error. Fixed bug where IE was producing font/u elements within links on paste. Fixed bug where some button tooltips were broken when compat3x was in use. Fixed bug where backspace/delete/typeover would remove the caption element. Fixed bug where powerspell failed to function when compat3x was enabled. Fixed bug where it wasn't possible to apply sub/sup on text with large font size. Fixed bug where pre tags with spaces weren't treated as content. Fixed bug where Meta+A would select the entire document instead of all contents in nested ce=true elements. Version 4.5.2 (2017-01-04) Added missing keyboard shortcut description for the underline menu item in the format menu. Fixed bug where external blob urls wasn't properly handled by editor upload logic. Patch contributed by David Oviedo. Fixed bug where urls wasn't treated as a single word by the wordcount plugin. Fixed bug where nbsp characters wasn't treated as word delimiters by the wordcount plugin. Fixed bug where editor instance wasn't properly passed to the format preview logic. Patch contributed by NullQuery. Fixed bug where the fake caret wasn't hidden when you moved selection to a cE=false element. Fixed bug where it wasn't possible to edit existing code sample blocks. Fixed bug where it wasn't possible to delete editor contents if the selection included an empty block. Fixed bug where the formatter wasn't expanding words on some international characters. Patch contributed by Martin Larochelle. Fixed bug where the open link feature wasn't working correctly on IE 11. Fixed bug where enter before/after a cE=false block wouldn't properly padd the paragraph with an br element. Fixed so font size and font family select boxes always displays a value by using the runtime style as a fallback. Fixed so missing plugins will be logged to console as warnings rather than halting the initialization of the editor. Fixed so splitbuttons become normal buttons in advlist plugin if styles are empty. Patch contributed by René Schleusner. Fixed so you can multi insert rows/cols by selecting table cells and using insert rows/columns. Version 4.5.1 (2016-12-07) Fixed bug where the lists plugin wouldn't initialize without the advlist plugins if served from cdn. Fixed bug where selectors with "*" would cause the style format preview to throw an error. Fixed bug with toggling lists off on lists with empty list items would throw an error. Fixed bug where editing images would produce non existing blob uris. Fixed bug where the offscreen toc selection would be treated as the real toc element. Fixed bug where the aria level attribute for element path would have an incorrect start index. Fixed bug where the offscreen selection of cE=false that where very wide would be shown onscreen. Patch contributed by Steven Bufton. Fixed so the default_link_target gets applied to links created by the autolink plugin. Fixed so that the name attribute gets removed by the anchor plugin if editing anchors. Version 4.5.0 (2016-11-23) Added new toc plugin allows you to insert table of contents based on editor headings. Added new auto complete menu to all url fields. Adds history, link to anchors etc. Added new sidebar api that allows you to add custom sidebar panels and buttons to toggle these. Added new insert menu button that allows you to have multiple insert functions under the same menu button. Added new open link feature to ctrl+click, alt+enter and context menu. Added new media_embed_handler option to allow the media plugin to be populated with custom embeds. Added new support for editing transparent images using the image tools dialog. Added new images_reuse_filename option to allow filenames of images to be retained for upload. Added new security feature where links with target="_blank" will by default get rel="noopener noreferrer". Added new allow_unsafe_link_target to allow you to opt-out of the target="_blank" security feature. Added new style_formats_autohide option to automatically hide styles based on context. Added new codesample_content_css option to specify where the code sample prism css is loaded from. Added new support for Japanese/Chinese word count following the unicode standards on this. Added new fragmented undo levels this dramatically reduces flicker on contents with iframes. Added new live previews for complex elements like table or lists. Fixed bug where it wasn't possible to properly tab between controls in a dialog with a disabled form item control. Fixed bug where firefox would generate a rectangle on elements produced after/before a cE=false elements. Fixed bug with advlist plugin not switching list element format properly in some edge cases. Fixed bug where col/rowspans wasn't correctly computed by the table plugin in some cases. Fixed bug where the table plugin would thrown an error if object_resizing was disabled. Fixed bug where some invalid markup would cause issues when running in XHTML mode. Patch contributed by Charles Bourasseau. Fixed bug where the fullscreen class wouldn't be removed properly when closing dialogs. Fixed bug where the PastePlainTextToggle event wasn't fired by the paste plugin when the state changed. Fixed bug where table the row type wasn't properly updated in table row dialog. Patch contributed by Matthias Balmer. Fixed bug where select all and cut wouldn't place caret focus back to the editor in WebKit. Patch contributed by Daniel Jalkut. Fixed bug where applying cell/row properties to multiple cells/rows would reset other unchanged properties. Fixed bug where some elements in the schema would have redundant/incorrect children. Fixed bug where selector and target options would cause issues if used together. Fixed bug where drag/drop of images from desktop on chrome would thrown an error. Fixed bug where cut on WebKit/Blink wouldn't add an undo level. Fixed bug where IE 11 would scroll to the cE=false elements when they where selected. Fixed bug where keys like F5 wouldn't work when a cE=false element was selected. Fixed bug where the undo manager wouldn't stop the typing state when commands where executed. Fixed bug where unlink on wrapped links wouldn't work properly. Fixed bug with drag/drop of images on WebKit where the image would be deleted form the source editor. Fixed bug where the visual characters mode would be disabled when contents was extracted from the editor. Fixed bug where some browsers would toggle of formats applied to the caret when clicking in the editor toolbar. Fixed bug where the custom theme function wasn't working correctly. Fixed bug where image option for custom buttons required you to have icon specified as well. Fixed bug where the context menu and contextual toolbars would be visible at the same time and sometimes overlapping. Fixed bug where the noneditable plugin would double wrap elements when using the noneditable_regexp option. Fixed bug where tables would get padding instead of margin when you used the indent button. Fixed bug where the charmap plugin wouldn't properly insert non breaking spaces. Fixed bug where the color previews in color input boxes wasn't properly updated. Fixed bug where the list items of previous lists wasn't merged in the right order. Fixed bug where it wasn't possible to drag/drop inline-block cE=false elements on IE 11. Fixed bug where some table cell merges would produce incorrect rowspan/colspan. Fixed so the font size of the editor defaults to 14px instead of 11px this can be overridden by custom css. Fixed so wordcount is debounced to reduce cpu hogging on larger texts. Fixed so tinymce global gets properly exported as a module when used with some module bundlers. Fixed so it's possible to specify what css properties you want to preview on specific formats. Fixed so anchors are contentEditable=false while within the editor. Fixed so selected contents gets wrapped in a inline code element by the codesample plugin. Fixed so conditional comments gets properly stripped independent of case. Patch contributed by Georgii Dolzhykov. Fixed so some escaped css sequences gets properly handled. Patch contributed by Georgii Dolzhykov. Fixed so notifications with the same message doesn't get displayed at the same time. Fixed so F10 can be used as an alternative key to focus to the toolbar. Fixed various api documentation issues and typos. Removed layer plugin since it wasn't really ported from 3.x and there doesn't seem to be much use for it. Removed moxieplayer.swf from the media plugin since it wasn't used by the media plugin. Removed format state from the advlist plugin to be more consistent with common word processors. Version 4.4.3 (2016-09-01) Fixed bug where copy would produce an exception on Chrome. Fixed bug where deleting lists on IE 11 would merge in correct text nodes. Fixed bug where deleting partial lists with indentation wouldn't cause proper normalization. Version 4.4.2 (2016-08-25) Added new importcss_exclusive option to disable unique selectors per group. Added new group specific selector_converter option to importcss plugin. Added new codesample_languages option to apply custom languages to codesample plugin. Added new codesample_dialog_width/codesample_dialog_height options. Fixed bug where fullscreen button had an incorrect keyboard shortcut. Fixed bug where backspace/delete wouldn't work correctly from a block to a cE=false element. Fixed bug where smartpaste wasn't detecting links with special characters in them like tilde. Fixed bug where the editor wouldn't get proper focus if you clicked on a cE=false element. Fixed bug where it wasn't possible to copy/paste table rows that had merged cells. Fixed bug where merging cells could some times produce invalid col/rowspan attibute values. Fixed bug where getBody would sometimes thrown an exception now it just returns null if the iframe is clobbered. Fixed bug where drag/drop of cE=false element wasn't properly constrained to viewport. Fixed bug where contextmenu on Mac would collapse any selection to a caret. Fixed bug where rtl mode wasn't rendered properly when loading a language pack with the rtl flag. Fixed bug where Kamer word bounderies would be stripped from contents. Fixed bug where lists would sometimes render two dots or numbers on the same line. Fixed bug where the skin_url wasn't used by the inlite theme. Fixed so data attributes are ignored when comparing formats in the formatter. Fixed so it's possible to disable inline toolbars in the inlite theme. Fixed so template dialog gets resized if it doesn't fit the window viewport. Version 4.4.1 (2016-07-26) Added smart_paste option to paste plugin to allow disabling the paste behavior if needed. Fixed bug where png urls wasn't properly detected by the smart paste logic. Fixed bug where the element path wasn't working properly when multiple editor instances where used. Fixed bug with creating lists out of multiple paragraphs would just create one list item instead of multiple. Fixed bug where scroll position wasn't properly handled by the inlite theme to place the toolbar properly. Fixed bug where multiple instances of the editor using the inlite theme didn't render the toolbar properly. Fixed bug where the shortcut label for fullscreen mode didn't match the actual shortcut key. Fixed bug where it wasn't possible to select cE=false blocks using touch devices on for example iOS. Fixed bug where it was possible to select the child image within a cE=false on IE 11. Fixed so inserts of html containing lists doesn't merge with any existing lists unless it's a paste operation. Version 4.4.0 (2016-06-30) Added new inlite theme this is a more lightweight inline UI. Added smarter paste logic that auto detects urls in the clipboard and inserts images/links based on that. Added a better image resize algorithm for better image quality in the imagetools plugin. Fixed bug where it wasn't possible to drag/dropping cE=false elements on FF. Fixed bug where backspace/delete before/after a cE=false block would produce a new paragraph. Fixed bug where list style type css property wasn't preserved when indenting lists. Fixed bug where merging of lists where done even if the list style type was different. Fixed bug where the image_dataimg_filter function wasn't used when pasting images. Fixed bug where nested editable within a non editable element would cause scroll on focus in Chrome. Fixed so invalid targets for inline mode is blocked on initialization. We only support elements that can have children. Version 4.3.13 (2016-06-08) Added characters with a diacritical mark to charmap plugin. Patch contributed by Dominik Schilling. Added better error handling if the image proxy service would produce errors. Fixed issue with pasting list items into list items would produce nested list rather than a merged list. Fixed bug where table selection could get stuck in selection mode for inline editors. Fixed bug where it was possible to place the caret inside the resize grid elements. Fixed bug where it wasn't possible to place in elements horizontally adjacent cE=false blocks. Fixed bug where multiple notifications wouldn't be properly placed on screen. Fixed bug where multiple editor instance of the same id could be produces in some specific integrations. Version 4.3.12 (2016-05-10) Fixed bug where focus calls couldn't be made inside the editors PostRender event handler. Fixed bug where some translations wouldn't work as expected due to a bug in editor.translate. Fixed bug where the node change event could fire with a node out side the root of the editor. Fixed bug where Chrome wouldn't properly present the keyboard paste clipboard details when paste was clicked. Fixed bug where merged cells in tables couldn't be selected from right to left. Fixed bug where insert row wouldn't properly update a merged cells rowspan property. Fixed bug where the color input boxes preview field wasn't properly set on initialization. Fixed bug where IME composition inside table cells wouldn't work as expected on IE 11. Fixed so all shadow dom support is under and experimental flag due to flaky browser support. Version 4.3.11 (2016-04-25) Fixed bug where it wasn't possible to insert empty blocks though the API unless they where padded. Fixed bug where you couldn't type the Euro character on Windows. Fixed bug where backspace/delete from a cE=false element to a text block didn't work properly. Fixed bug where the text color default grid would render incorrectly. Fixed bug where the codesample plugin wouldn't load the css in the editor for multiple editors. Fixed so the codesample plugin textarea gets focused by default. Version 4.3.10 (2016-04-12) Fixed bug where the key "y" on WebKit couldn't be entered due to conflict with keycode for F10 on keypress. Version 4.3.9 (2016-04-12) Added support for focusing the contextual toolbars using keyboard. Added keyboard support for slider UI controls. You can no increase/decrease using arrow keys. Added url pattern matching for Dailymotion to media plugin. Patch contributed by Bertrand Darbon. Added body_class to template plugin preview. Patch contributed by Milen Petrinski. Added options to better override textcolor pickers with custom colors. Patch contributed by Xavier Boubert. Added visual arrows to inline contextual toolbars so that they point to the element being active. Fixed so toolbars for tables or other larger elements get better positioned below the scrollable viewport. Fixed bug where it was possible to click links inside cE=false blocks. Fixed bug where event targets wasn't properly handled in Safari Technical Preview. Fixed bug where drag/drop text in FF 45 would make the editor caret invisible. Fixed bug where the remove state wasn't properly set on editor instances when detected as clobbered. Fixed bug where offscreen selection of some cE=false elements would render onscreen. Patch contributed by Steven Bufton Fixed bug where enter would clone styles out side the root on editors inside a span. Patch contributed by ChristophKaser. Fixed bug where drag/drop of images into the editor didn't work correctly in FF. Fixed so the first item in panels for the imagetools dialog gets proper keyboard focus. Changed the Meta+Shift+F shortcut to Ctrl+Shift+F since Czech, Slovak, Polish languages used the first one for input. Version 4.3.8 (2016-03-15) Fixed bug where inserting HR at the end of a block element would produce an extra empty block. Fixed bug where links would be clickable when readonly mode was enabled. Fixed bug where the formatter would normalize to the wrong node on very specific content. Fixed bug where some nested list items couldn't be indented properly. Fixed bug where links where clickable in the preview dialog. Fixed so the alt attribute doesn't get padded with an empty value by default. Fixed so nested alignment works more correctly. You will now alter the alignment to the closest block parent. Version 4.3.7 (2016-03-02) Fixed bug where incorrect icons would be rendered for imagetools edit and color levels. Fixed bug where navigation using arrow keys inside a SelectBox didn't move up/down. Fixed bug where the visualblocks plugin would render borders round internal UI elements. Version 4.3.6 (2016-03-01) Added new paste_remember_plaintext_info option to allow a global disable of the plain text mode notification. Added new PastePlainTextToggle event that fires when plain text mode toggles on/off. Fixed bug where it wasn't possible to select media elements since the drag logic would snap it to mouse cursor. Fixed bug where it was hard to place the caret inside nested cE=true elements when the outer cE=false element was focused. Fixed bug where editors wouldn't properly initialize if both selector and mode where used. Fixed bug where IME input inside table cells would switch the IME off. Fixed bug where selection inside the first table cell would cause the whole table cell to get selected. Fixed bug where error handling of images being uploaded wouldn't properly handle faulty statuses. Fixed bug where inserting contents before a HR would cause an exception to be thrown. Fixed bug where copy/paste of Excel data would be inserted as an image. Fixed caret position issues with copy/paste of inline block cE=false elements. Fixed issues with various menu item focus bugs in Chrome. Where the focused menu bar item wasn't properly blurred. Fixed so the notifications have a solid background since it would be hard to read if there where text under it. Fixed so notifications gets animated similar to the ones used by dialogs. Fixed so larger images that gets pasted is handled better. Fixed so the window close button is more uniform on various platform and also increased it's hit area. Version 4.3.5 (2016-02-11) Npm version bump due to package not being fully updated. Version 4.3.4 (2016-02-11) Added new OpenWindow/CloseWindow events that gets fired when windows open/close. Added new NewCell/NewRow events that gets fired when table cells/rows are created. Added new Promise return value to tinymce.init makes it easier to handle initialization. Removed the jQuery version the jQuery plugin is now moved into the main package. Removed jscs from build process since eslint can now handle code style checking. Fixed various bugs with drag/drop of contentEditable:false elements. Fixed bug where deleting of very specific nested list items would result in an odd list. Fixed bug where lists would get merged with adjacent lists outside the editable inline root. Fixed bug where MS Edge would crash when closing a dialog then clicking a menu item. Fixed bug where table cell selection would add undo levels. Fixed bug where table cell selection wasn't removed when inline editor where removed. Fixed bug where table cell selection wouldn't work properly on nested tables. Fixed bug where table merge menu would be available when merging between thead and tbody. Fixed bug where table row/column resize wouldn't get properly removed when the editor was removed. Fixed bug where Chrome would scroll to the editor if there where a empty hash value in document url. Fixed bug where the cache suffix wouldn't work correctly with the importcss plugin. Fixed bug where selection wouldn't work properly on MS Edge on Windows Phone 10. Fixed so adjacent pre blocks gets joined into one pre block since that seems like the user intent. Fixed so events gets properly dispatched in shadow dom. Patch provided by Nazar Mokrynskyi. Version 4.3.3 (2016-01-14) Added new table_resize_bars configuration setting. This setting allows you to disable the table resize bars. Added new beforeInitialize event to tinymce.util.XHR lets you modify XHR properties before open. Patch contributed by Brent Clintel. Added new autolink_pattern setting to autolink plugin. Enables you to override the default autolink formats. Patch contributed by Ben Tiedt. Added new charmap option that lets you override the default charmap of the charmap plugin. Added new charmap_append option that lets you add new characters to the default charmap of the charmap plugin. Added new insertCustomChar event that gets fired when a character is inserted by the charmap plugin. Fixed bug where table cells started with a superfluous   in IE10+. Fixed bug where table plugin would retain all BR tags when cells were merged. Fixed bug where media plugin would strip underscores from youtube urls. Fixed bug where IME input would fail on IE 11 if you typed within a table. Fixed bug where double click selection of a word would remove the space before the word on insert contents. Fixed bug where table plugin would produce exceptions when hovering tables with invalid structure. Fixed bug where fullscreen wouldn't scroll back to it's original position when untoggled. Fixed so the template plugins templates setting can be a function that gets a callback that can provide templates. Version 4.3.2 (2015-12-14) Fixed bug where the resize bars for table cells were not affected by the object_resizing property. Fixed bug where the contextual table toolbar would appear incorrectly if TinyMCE was initialized inline inside a table. Fixed bug where resizing table cells did not fire a node change event or add an undo level. Fixed bug where double click selection of text on IE 11 wouldn't work properly. Fixed bug where codesample plugin would incorrectly produce br elements inside code elements. Fixed bug where media plugin would strip dashes from youtube urls. Fixed bug where it was possible to move the caret into the table resize bars. Fixed bug where drag/drop into a cE=false element was possible on IE. Version 4.3.1 (2015-11-30) Fixed so it's possible to disable the table inline toolbar by setting it to false or an empty string. Fixed bug where it wasn't possible to resize some tables using the drag handles. Fixed bug where unique id:s would clash for multiple editor instances and cE=false selections. Fixed bug where the same plugin could be initialized multiple times. Fixed bug where the table inline toolbars would be displayed at the same time as the image toolbars. Fixed bug where the table selection rect wouldn't be removed when selecting another control element. Version 4.3.0 (2015-11-23) Added new table column/row resize support. Makes it a lot more easy to resize the columns/rows in a table. Added new table inline toolbar. Makes it easier to for example add new rows or columns to a table. Added new notification API. Lets you display floating notifications to the end user. Added new codesample plugin that lets you insert syntax highlighted pre elements into the editor. Added new image_caption to images. Lets you create images with captions using a HTML5 figure/figcaption elements. Added new live previews of embeded videos. Lets you play the video right inside the editor. Added new setDirty method and "dirty" event to the editor. Makes it easier to track the dirty state change. Added new setMode method to Editor instances that lets you dynamically switch between design/readonly. Added new core support for contentEditable=false elements within the editor overrides the browsers broken behavior. Rewrote the noneditable plugin to use the new contentEditable false core logic. Fixed so the dirty state doesn't set set to false automatically when the undo index is set to 0. Fixed the Selection.placeCaretAt so it works better on IE when the coordinate is between paragraphs. Fixed bug where data-mce-bogus="all" element contents where counted by the word count plugin. Fixed bug where contentEditable=false elements would be indented by the indent buttons. Fixed bug where images within contentEditable=false would be selected in WebKit on mouse click. Fixed bug in DOMUntils split method where the replacement parameter wouldn't work on specific cases. Fixed bug where the importcss plugin would import classes from the skin content css file. Fixed so all button variants have a wrapping span for it's text to make it easier to skin. Fixed so it's easier to exit pre block using the arrow keys. Fixed bug where listboxes with fix widths didn't render correctly. Version 4.2.8 (2015-11-13) Fixed bug where it was possible to delete tables as the inline root element if all columns where selected. Fixed bug where the UI buttons active state wasn't properly updated due to recent refactoring of that logic. Version 4.2.7 (2015-10-27) Fixed bug where backspace/delete would remove all formats on the last paragraph character in WebKit/Blink. Fixed bug where backspace within a inline format element with a bogus caret container would move the caret. Fixed bug where backspace/delete on selected table cells wouldn't add an undo level. Fixed bug where script tags embedded within the editor could sometimes get a mce- prefix prepended to them Fixed bug where validate: false option could produce an error to be thrown from the Serialization step. Fixed bug where inline editing of a table as the root element could let the user delete that table. Fixed bug where inline editing of a table as the root element wouldn't properly handle enter key. Fixed bug where inline editing of a table as the root element would normalize the selection incorrectly. Fixed bug where inline editing of a list as the root element could let the user delete that list. Fixed bug where inline editing of a list as the root element could let the user split that list. Fixed bug where resize handles would be rendered on editable root elements such as table. Version 4.2.6 (2015-09-28) Added capability to set request headers when using XHRs. Added capability to upload local images automatically default delay is set to 30 seconds after editing images. Added commands ids mceEditImage, mceAchor and mceMedia to be avaiable from execCommand. Added Edge browser to saucelabs grunt task. Patch contributed by John-David Dalton. Fixed bug where blob uris not produced by tinymce would produce HTML invalid markup. Fixed bug where selection of contents of a nearly empty editor in Edge would sometimes fail. Fixed bug where color styles woudln't be retained on copy/paste in Blink/Webkit. Fixed bug where the table plugin would throw an error when inserting rows after a child table. Fixed bug where the template plugin wouldn't handle functions as variable replacements. Fixed bug where undo/redo sometimes wouldn't work properly when applying formatting collapsed ranges. Fixed bug where shift+delete wouldn't do a cut operation on Blink/WebKit. Fixed bug where cut action wouldn't properly store the before selection bookmark for the undo level. Fixed bug where backspace in side an empty list element on IE would loose editor focus. Fixed bug where the save plugin wouldn't enable the buttons when a change occurred. Fixed bug where Edge wouldn't initialize the editor if a document.domain was specified. Fixed bug where enter key before nested images would sometimes not properly expand the previous block. Fixed bug where the inline toolbars wouldn't get properly hidden when blurring the editor instance. Fixed bug where Edge would paste Chinese characters on some Windows 10 installations. Fixed bug where IME would loose focus on IE 11 due to the double trailing br bug fix. Fixed bug where the proxy url in imagetools was incorrect. Patch contributed by Wong Ho Wang. Version 4.2.5 (2015-08-31) Added fullscreen capability to embedded youtube and vimeo videos. Fixed bug where the uploadImages call didn't work on IE 10. Fixed bug where image place holders would be uploaded by uploadImages call. Fixed bug where images marked with bogus would be uploaded by the uploadImages call. Fixed bug where multiple calls to uploadImages would result in decreased performance. Fixed bug where pagebreaks were editable to imagetools patch contributed by Rasmus Wallin. Fixed bug where the element path could cause too much recursion exception. Fixed bug for domains containing ".min". Patch contributed by Loïc Février. Fixed so validation of external links to accept a number after www. Patch contributed by Victor Carvalho. Fixed so the charmap is exposed though execCommand. Patch contributed by Matthew Will. Fixed so that the image uploads are concurrent for improved performance. Fixed various grammar problems in inline documentation. Patches provided by nikolas. Version 4.2.4 (2015-08-17) Added picture as a valid element to the HTML 5 schema. Patch contributed by Adam Taylor. Fixed bug where contents would be duplicated on drag/drop within the same editor. Fixed bug where floating/alignment of images on Edge wouldn't work properly. Fixed bug where it wasn't possible to drag images on IE 11. Fixed bug where image selection on Edge would sometimes fail. Fixed bug where contextual toolbars icons wasn't rendered properly when using the toolbar_items_size. Fixed bug where searchreplace dialog doesn't get prefilled with the selected text. Fixed bug where fragmented matches wouldn't get properly replaced by the searchreplace plugin. Fixed bug where enter key wouldn't place the caret if was after a trailing space within an inline element. Fixed bug where the autolink plugin could produce multiple links for the same text on Gecko. Fixed bug where EditorUpload could sometimes throw an exception if the blob wasn't found. Fixed xss issues with media plugin not properly filtering out some script attributes. Version 4.2.3 (2015-07-30) Fixed bug where image selection wasn't possible on Edge due to incompatible setBaseAndExtend API. Fixed bug where image blobs urls where not properly destroyed by the imagetools plugin. Fixed bug where keyboard shortcuts wasn't working correctly on IE 8. Fixed skin issue where the borders of panels where not visible on IE 8. Version 4.2.2 (2015-07-22) Fixed bug where float panels were not being hidden on inline editor blur when fixed_toolbar_container config option was in use. Fixed bug where combobox states wasn't properly updated if contents where updated without keyboard. Fixed bug where pasting into textbox or combobox would move the caret to the end of text. Fixed bug where removal of bogus span elements before block elements would remove whitespace between nodes. Fixed bug where repositioning of inline toolbars where async and producing errors if the editor was removed from DOM to early. Patch by iseulde. Fixed bug where element path wasn't working correctly. Patch contributed by iseulde. Fixed bug where menus wasn't rendered correctly when custom images where added to a menu. Patch contributed by Naim Hammadi. Version 4.2.1 (2015-06-29) Fixed bug where back/forward buttons in the browser would render blob images as broken images. Fixed bug where Firefox would throw regexp to big error when replacing huge base64 chunks. Fixed bug rendering issues with resize and context toolbars not being placed properly until next animation frame. Fixed bug where the rendering of the image while cropping would some times not be centered correctly. Fixed bug where listbox items with submenus would me selected as active. Fixed bug where context menu where throwing an error when rendering. Fixed bug where resize both option wasn't working due to resent addClass API change. Patch contributed by Jogai. Fixed bug where a hideAll call for container rendered inline toolbars would throw an error. Fixed bug where onclick event handler on combobox could cause issues if element.id was a function by some polluting libraries. Fixed bug where listboxes wouldn't get proper selected sub menu item when using link_list or image_list. Fixed so the UI controls are as wide as 4.1.x to avoid wrapping controls in toolbars. Fixed so the imagetools dialog is adaptive for smaller screen sizes. Version 4.2.0 (2015-06-25) Added new flat default skin to make the UI more modern. Added new imagetools plugin, lets you crop/resize and apply filters to images. Added new contextual toolbars support to the API lets you add floating toolbars for specific CSS selectors. Added new promise feature fill as tinymce.util.Promise. Added new built in image upload feature lets you upload any base64 encoded image within the editor as files. Fixed bug where resize handles would appear in the right position in the wrong editor when switching between resizable content in different inline editors. Fixed bug where tables would not be inserted in inline mode due to previous float panel fix. Fixed bug where floating panels would remain open when focus was lost on inline editors. Fixed bug where cut command on Chrome would thrown a browser security exception. Fixed bug where IE 11 sometimes would report an incorrect size for images in the image dialog. Fixed bug where it wasn't possible to remove inline formatting at the end of block elements. Fixed bug where it wasn't possible to delete table cell contents when cell selection was vertical. Fixed bug where table cell wasn't emptied from block elements if delete/backspace where pressed in empty cell. Fixed bug where cmd+shift+arrow didn't work correctly on Firefox mac when selecting to start/end of line. Fixed bug where removal of bogus elements would sometimes remove whitespace between nodes. Fixed bug where the resize handles wasn't updated when the main window was resized. Fixed so script elements gets removed by default to prevent possible XSS issues in default config implementations. Fixed so the UI doesn't need manual reflows when using non native layout managers. Fixed so base64 encoded images doesn't slow down the editor on modern browsers while editing. Fixed so all UI elements uses touch events to improve mobile device support. Removed the touch click quirks patch for iOS since it did more harm than good. Removed the non proportional resize handles since. Unproportional resize can still be done by holding the shift key. Version 4.1.10 (2015-05-05) Fixed bug where plugins loaded with compat3x would sometimes throw errors when loading using the jQuery version. Fixed bug where extra empty paragraphs would get deleted in WebKit/Blink due to recent Quriks fix. Fixed bug where the editor wouldn't work properly on IE 12 due to some required browser sniffing. Fixed bug where formatting shortcut keys where interfering with Mac OS X screenshot keys. Fixed bug where the caret wouldn't move to the next/previous line boundary on Cmd+Left/Right on Gecko. Fixed bug where it wasn't possible to remove formats from very specific nested contents. Fixed bug where undo levels wasn't produced when typing letters using the shift or alt+ctrl modifiers. Fixed bug where the dirty state wasn't properly updated when typing using the shift or alt+ctrl modifiers. Fixed bug where an error would be thrown if an autofocused editor was destroyed quickly after its initialization. Patch provided by thorn0. Fixed issue with dirty state not being properly updated on redo operation. Fixed issue with entity decoder not handling incorrectly written numeric entities. Fixed issue where some PI element values wouldn't be properly encoded. Version 4.1.9 (2015-03-10) Fixed bug where indentation wouldn't work properly for non list elements. Fixed bug with image plugin not pulling the image dimensions out correctly if a custom document_base_url was used. Fixed bug where ctrl+alt+[1-9] would conflict with the AltGr+[1-9] on Windows. New shortcuts is ctrl+shift+[1-9]. Fixed bug with removing formatting on nodes in inline mode would sometimes include nodes outside the editor body. Fixed bug where extra nbsp:s would be inserted when you replaced a word surrounded by spaces using insertContent. Fixed bug with pasting from Google Docs would produce extra strong elements and line feeds. Version 4.1.8 (2015-03-05) Added new html5 sizes attribute to img elements used together with srcset. Added new elementpath option that makes it possible to disable the element path but keep the statusbar. Added new option table_style_by_css for the table plugin to set table styling with css rather than table attributes. Added new link_assume_external_targets option to prompt the user to prepend http:// prefix if the supplied link does not contain a protocol prefix. Added new image_prepend_url option to allow a custom base path/url to be added to images. Added new table_appearance_options option to make it possible to disable some options. Added new image_title option to make it possible to alter the title of the image, disabled by default. Fixed bug where selection starting from out side of the body wouldn't produce a proper selection range on IE 11. Fixed bug where pressing enter twice before a table moves the cursor in the table and causes a javascript error. Fixed bug where advanced image styles were not respected. Fixed bug where the less common Shift+Delete didn't produce a proper cut operation on WebKit browsers. Fixed bug where image/media size constrain logic would produce NaN when handling non number values. Fixed bug where internal classes where removed by the removeformat command. Fixed bug with creating links table cell contents with a specific selection would throw a exceptions on WebKit/Blink. Fixed bug where valid_classes option didn't work as expected according to docs. Patch provided by thorn0. Fixed bug where jQuery plugin would patch the internal methods multiple times. Patch provided by Drew Martin. Fixed bug where backspace key wouldn't delete the current selection of newly formatted content. Fixed bug where type over of inline formatting elements wouldn't properly keep the format on WebKit/Blink. Fixed bug where selection needed to be properly normalized on modern IE versions. Fixed bug where Command+Backspace didn't properly delete the whole line of text but the previous word. Fixed bug where UI active states wheren't properly updated on IE if you placed caret within the current range. Fixed bug where delete/backspace on WebKit/Blink would remove span elements created by the user. Fixed bug where delete/backspace would produce incorrect results when deleting between two text blocks with br elements. Fixed bug where captions where removed when pasting from MS Office. Fixed bug where lists plugin wouldn't properly remove fully selected nested lists. Fixed bug where the ttf font used for icons would throw an warning message on Gecko on Mac OS X. Fixed a bug where applying a color to text did not update the undo/redo history. Fixed so shy entities gets displayed when using the visualchars plugin. Fixed so removeformat removes ins/del by default since these might be used for strikethough. Fixed so multiple language packs can be loaded and added to the global I18n data structure. Fixed so transparent color selection gets treated as a normal color selection. Patch contributed by Alexander Hofbauer. Fixed so it's possible to disable autoresize_overflow_padding, autoresize_bottom_margin options by setting them to false. Fixed so the charmap plugin shows the description of the character in the dialog. Patch contributed by Jelle Hissink. Removed address from the default list of block formats since it tends to be missused. Fixed so the pre block format is called preformatted to make it more verbose. Fixed so it's possible to context scope translation strings this isn't needed most of the time. Fixed so the max length of the width/height input fields of the media dialog is 5 instead of 3. Fixed so drag/dropped contents gets properly processed by paste plugin since it's basically a paste. Patch contributed by Greg Fairbanks. Fixed so shortcut keys for headers is ctrl+alt+[1-9] instead of ctrl+[1-9] since these are for switching tabs in the browsers. Fixed so "u" doesn't get converted into a span element by the legacy input filter. Since this is now a valid HTML5 element. Fixed font families in order to provide appropriate web-safe fonts. Version 4.1.7 (2014-11-27) Added HTML5 schema support for srcset, source and picture. Patch contributed by mattheu. Added new cache_suffix setting to enable cache busting by producing unique urls. Added new paste_convert_word_fake_lists option to enable users to disable the fake lists convert logic. Fixed so advlist style changes adds undo levels for each change. Fixed bug where WebKit would sometimes produce an exception when the autolink plugin where looking for URLs. Fixed bug where IE 7 wouldn't be rendered properly due to to aggressive css compression. Fixed bug where DomQuery wouldn't accept window as constructor element. Fixed bug where the color picker in 3.x dialogs wouldn't work properly. Patch contributed by Callidior. Fixed bug where the image plugin wouldn't respect the document_base_url. Fixed bug where the jQuery plugin would fail to append to elements named array prototype names. Version 4.1.6 (2014-10-08) Fixed bug with clicking on the scrollbar of the iframe would cause a JS error to be thrown. Fixed bug where null would produce an exception if you passed it to selection.setRng. Fixed bug where Ctrl/Cmd+Tab would indent the current list item if you switched tabs in the browser. Fixed bug where pasting empty cells from Excel would result in a broken table. Fixed bug where it wasn't possible to switch back to default list style type. Fixed issue where the select all quirk fix would fire for other modifiers than Ctrl/Cmd combinations. Replaced jake with grunt since it is more mainstream and has better plugin support. Version 4.1.5 (2014-09-09) Fixed bug where sometimes the resize rectangles wouldn't properly render on images on WebKit/Blink. Fixed bug in list plugin where delete/backspace would merge empty LI elements in lists incorrectly. Fixed bug where empty list elements would result in empty LI elements without it's parent container. Fixed bug where backspace in empty caret formatted element could produce an type error exception of Gecko. Fixed bug where lists pasted from word with a custom start index above 9 wouldn't be properly handled. Fixed bug where tabfocus plugin would tab out of the editor instance even if the default action was prevented. Fixed bug where tabfocus wouldn't tab properly to other adjacent editor instances. Fixed bug where the DOMUtils setStyles wouldn't properly removed or update the data-mce-style attribute. Fixed bug where dialog select boxes would be placed incorrectly if document.body wasn't statically positioned. Fixed bug where pasting would sometimes scroll to the top of page if the user was using the autoresize plugin. Fixed bug where caret wouldn't be properly rendered by Chrome when clicking on the iframes documentElement. Fixed so custom images for menubutton/splitbutton can be provided. Patch contributed by Naim Hammadi. Fixed so the default action of windows closing can be prevented by blocking the default action of the close event. Fixed so nodeChange and focus of the editor isn't automatically performed when opening sub dialogs. Version 4.1.4 (2014-08-21) Added new media_filter_html option to media plugin that blocks any conditional comments, scripts etc within a video element. Added new content_security_policy option allows you to set custom policy for iframe contents. Patch contributed by Francois Chagnon. Fixed bug where activate/deactivate events wasn't firing properly when switching between editors. Fixed bug where placing the caret on iOS was difficult due to a WebKit bug with touch events. Fixed bug where the resize helper wouldn't render properly on older IE versions. Fixed bug where resizing images inside tables on older IE versions would sometimes fail depending mouse position. Fixed bug where editor.insertContent would produce an exception when inserting select/option elements. Fixed bug where extra empty paragraphs would be produced if block elements where inserted inside span elements. Fixed bug where the spellchecker menu item wouldn't be properly checked if spell checking was started before it was rendered. Fixed bug where the DomQuery filter function wouldn't remove non elements from collection. Fixed bug where document with custom document.domain wouldn't properly render the editor. Fixed bug where IE 8 would throw exception when trying to enter invalid color values into colorboxes. Fixed bug where undo manager could incorrectly add an extra undo level when custom resize handles was removed. Fixed bug where it wouldn't be possible to alter cell properties properly on table cells on IE 8. Fixed so the color picker button in table dialog isn't shown unless you include the colorpicker plugin or add your own custom color picker. Fixed so activate/deactivate events fire when windowManager opens a window since. Fixed so the table advtab options isn't separated by an underscore to normalize naming with image_advtab option. Fixed so the table cell dialog has proper padding when the advanced tab in disabled. Version 4.1.3 (2014-07-29) Added event binding logic to tinymce.util.XHR making it possible to override headers and settings before any request is made. Fixed bug where drag events wasn't fireing properly on older IE versions since the event handlers where bound to document. Fixed bug where drag/dropping contents within the editor on IE would force the contents into plain text mode even if it was internal content. Fixed bug where IE 7 wouldn't open menus properly due to a resize bug in the browser auto closing them immediately. Fixed bug where the DOMUtils getPos logic wouldn't produce a valid coordinate inside the body if the body was positioned non static. Fixed bug where the element path and format state wasn't properly updated if you had the wordcount plugin enabled. Fixed bug where a comment at the beginning of source would produce an exception in the formatter logic. Fixed bug where setAttrib/getAttrib on null would throw exception together with any hooked attributes like style. Fixed bug where table sizes wasn't properly retained when copy/pasting on WebKit/Blink. Fixed bug where WebKit/Blink would produce colors in RGB format instead of the forced HEX format when deleting contents. Fixed bug where the width attribute wasn't updated on tables if you changed the size inside the table dialog. Fixed bug where control selection wasn't properly handled when the caret was placed directly after an image. Fixed bug where selecting the contents of table cells using the selection.select method wouldn't place the caret properly. Fixed bug where the selection state for images wasn't removed when placing the caret right after an image on WebKit/Blink. Fixed bug where all events wasn't properly unbound when and editor instance was removed or destroyed by some external innerHTML call. Fixed bug where it wasn't possible or very hard to select images on iOS when the onscreen keyboard was visible. Fixed so auto_focus can take a boolean argument this will auto focus the last initialized editor might be useful for single inits. Fixed so word auto detect lists logic works better for faked lists that doesn't have specific markup. Fixed so nodeChange gets fired on mouseup as it used to before 4.1.1 we optimized that event to fire less often. Removed the finish menu item from spellchecker menu since it's redundant you can stop spellchecking by toggling menu item or button. Version 4.1.2 (2014-07-15) Added offset/grep to DomQuery class works basically the same as it's jQuery equivalent. Fixed bug where backspace/delete or setContent with an empty string would remove header data when using the fullpage plugin. Fixed bug where tinymce.remove with a selector not matching any editors would remove all editors. Fixed bug where resizing of the editor didn't work since the theme was calling setStyles instead of setStyle. Fixed bug where IE 7 would fail to append html fragments to iframe document when using DomQuery. Fixed bug where the getStyle DOMUtils method would produce an exception if it was called with null as it's element. Fixed bug where the paste plugin would remove the element if the none of the paste_webkit_styles rules matched the current style. Fixed bug where contextmenu table items wouldn't work properly on IE since it would some times fire an incorrect selection change. Fixed bug where the padding/border values wasn't used in the size calculation for the body size when using autoresize. Patch contributed by Matt Whelan. Fixed bug where conditional word comments wouldn't be properly removed when pasting plain text. Fixed bug where resizing would sometime fail on IE 11 when the mouseup occurred inside the resizable element. Fixed so the iframe gets initialized without any inline event handlers for better CSP support. Patch contributed by Matt Whelan. Fixed so the tinymce.dom.Sizzle is the latest version of sizzle this resolves the document context bug. Version 4.1.1 (2014-07-08) Fixed bug where pasting plain text on some WebKit versions would result in an empty line. Fixed bug where resizing images inside tables on IE 11 wouldn't work properly. Fixed bug where IE 11 would sometimes throw "Invalid argument" exception when editor contents was set to an empty string. Fixed bug where document.activeElement would throw exceptions on IE 9 when that element was hidden or removed from dom. Fixed bug where WebKit/Blink sometimes produced br elements with the Apple-interchange-newline class. Fixed bug where table cell selection wasn't properly removed when copy/pasting table cells. Fixed bug where pasting nested list items from Word wouldn't produce proper semantic nested lists. Fixed bug where right clicking using the contextmenu plugin on WebKit/Blink on Mac OS X would select the target current word or line. Fixed bug where it wasn't possible to alter table cell properties on IE 8 using the context menu. Fixed bug where the resize helper wouldn't be correctly positioned on older IE versions. Fixed bug where fullpage plugin would produce an error if you didn't specify a doctype encoding. Fixed bug where anchor plugin would get the name/id of the current element even if it wasn't anchor element. Fixed bug where visual aids for tables wouldn't be properly disabled when changing the border size. Fixed bug where some control selection events wasn't properly fired on older IE versions. Fixed bug where table cell selection on older IE versions would prevent resizing of images. Fixed bug with paste_data_images paste option not working properly on modern IE versions. Fixed bug where custom elements with underscores in the name wasn't properly parsed/serialized. Fixed bug where applying inline formats to nested list elements would produce an incorrect formatting result. Fixed so it's possible to hide items from elements path by using preventDefault/stopPropagation. Fixed so inline mode toolbar gets rendered right aligned if the editable element positioned to the documents right edge. Fixed so empty inline elements inside empty block elements doesn't get removed if configured to be kept intact. Fixed so DomQuery parentsUntil/prevUntil/nextUntil supports selectors/elements/filters etc. Fixed so legacyoutput plugin overrides fontselect and fontsizeselect controls and handles font elements properly. Version 4.1.0 (2014-06-18) Added new file_picker_callback option to replace the old file_browser_callback the latter will still work though. Added new custom colors to textcolor plugin will be displayed if a color picker is provided also shows the latest colors. Added new color_picker_callback option to enable you to add custom color pickers to the editor. Added new advanced tabs to table/cell/row dialogs to enable you to select colors for border/background. Added new colorpicker plugin that lets you select colors from a hsv color picker. Added new tinymce.util.Color class to handle color parsing and converting. Added new colorpicker UI widget element lets you add a hsv color picker to any form/window. Added new textpattern plugin that allows you to use markdown like text patterns to format contents. Added new resize helper element that shows the current width & height while resizing. Added new "once" method to Editor and EventDispatcher enables since callback execution events. Added new jQuery like class under tinymce.dom.DomQuery it's exposed on editor instances (editor.$) and globally under (tinymce.$). Fixed so the default resize method for images are proportional shift/ctrl can be used to make an unproportional size. Fixed bug where the image_dimensions option of the image plugin would cause exceptions when it tried to update the size. Fixed bug where table cell dialog class field wasn't properly updated when editing an a table cell with an existing class. Fixed bug where Safari on Mac would produce webkit-fake-url for pasted images so these are now removed. Fixed bug where the nodeChange event would get fired before the selection was changed when clicking inside the current selection range. Fixed bug where valid_classes option would cause exception when it removed internal prefixed classes like mce-item-. Fixed bug where backspace would cause navigation in IE 8 on an inline element and after a caret formatting was applied. Fixed so placeholder images produced by the media plugin gets selected when inserted/edited. Fixed so it's possible to drag in images when the paste_data_images option is enabled. Might be useful for mail clients. Fixed so images doesn't get a width/height applied if the image_dimensions option is set to false useful for responsive contents. Fixed so it's possible to pass in an optional arguments object for the nodeChanged function to be passed to all nodechange event listeners. Fixed bug where media plugin embed code didn't update correctly. js/tinymce-builder.js000060400000024173152455403670010630 0ustar00/** * @copyright (C) 2016 Open Source Matters, Inc. * @license GNU General Public License version 2 or later; see LICENSE.txt */ ;(function($) { "use strict"; /** * Fake TinyMCE object to allow to use TinyMCE translation for the button labels * * @since 3.7.0 */ window.tinymce = { langCode: 'en', langStrings: {}, addI18n: function (code, strings){ this.langCode = code; this.langStrings = strings || {}; }, translate: function (string){ return this.langStrings[string] ? this.langStrings[string] : string; } }; /** * Joomla TinyMCE Builder * * @param {HTMLElement} container * @param {Object} options * @constructor * * @since 3.7.0 */ var JoomlaTinyMCEBuilder = function(container, options) { this.$container = $(container); this.options = options; // Find source containers this.$sourceMenu = this.$container.find('.tinymce-builder-menu.source'); this.$sourceToolbar = this.$container.find('.tinymce-builder-toolbar.source'); // Find target containers this.$targetMenu = this.$container.find('.tinymce-builder-menu.target'); this.$targetToolbar = this.$container.find('.tinymce-builder-toolbar.target'); // Render Source elements this.$sourceMenu.each(function(i, element){ this.renderBar(element, 'menu'); }.bind(this)); this.$sourceToolbar.each(function(i, element){ this.renderBar(element, 'toolbar'); }.bind(this)); // Render Target elements this.$targetMenu.each(function(i, element){ this.renderBar(element, 'menu', null, true); }.bind(this)); this.$targetToolbar.each(function(i, element){ this.renderBar(element, 'toolbar', null, true); }.bind(this)); // Set up "drag&drop" stuff var $copyHelper = null, removeIntent = false, self = this; this.$sourceMenu.sortable({ connectWith: this.$targetMenu, items: '.mce-btn', cancel: '', placeholder: 'mce-btn ui-state-highlight', start: function(event, ui) { self.$targetMenu.addClass('drop-area-highlight'); }, helper: function(event, el) { $copyHelper = el.clone().insertAfter(el); return el; }, stop: function() { $copyHelper && $copyHelper.remove(); self.$targetMenu.removeClass('drop-area-highlight'); } }); this.$sourceToolbar.sortable({ connectWith: this.$targetToolbar, items: '.mce-btn', cancel: '', placeholder: 'mce-btn ui-state-highlight', start: function(event, ui) { self.$targetToolbar.addClass('drop-area-highlight'); }, helper: function(event, el) { $copyHelper = el.clone().insertAfter(el); return el; }, stop: function() { $copyHelper && $copyHelper.remove(); self.$targetToolbar.removeClass('drop-area-highlight'); } }); $().add(this.$targetMenu).add(this.$targetToolbar).sortable({ items: '.mce-btn', cancel: '', placeholder: 'mce-btn ui-state-highlight', receive: function(event, ui) { $copyHelper = null; var $el = ui.item, $cont = $(this); self.appendInput($el, $cont.data('group'), $cont.data('set')) }, over: function (event, ui) { removeIntent = false; }, out: function (event, ui) { removeIntent = true; }, beforeStop: function (event, ui) { if(removeIntent){ ui.item.remove(); } } }); // Bind actions buttons this.$container.on('click', '.button-action', function(event){ var $btn = $(event.target), action = $btn.data('action'), options = $btn.data(); if (this[action]) { this[action].call(this, options); } else { throw new Error('Unsupported action ' + action); } }.bind(this)); }; /** * Render the toolbar/menubar * * @param {HTMLElement} container The toolbar container * @param {String} type The type toolbar or menu * @param {Array|null} value The value * @param {Boolean} withInput Whether append input * * @since 3.7.0 */ JoomlaTinyMCEBuilder.prototype.renderBar = function(container, type, value, withInput) { var $container = $(container), group = $container.data('group'), set = $container.data('set'), items = type === 'menu' ? this.options.menus : this.options.buttons, value = value ? value : ($container.data('value') || []), item, name, $btn; for ( var i = 0, l = value.length; i < l; i++ ) { name = value[i]; item = items[name]; if (!item) { continue; } $btn = this.createButton(name, item, type); $container.append($btn); // Enable tooltip if ($btn.tooltip) { $btn.tooltip({trigger: 'hover'}); } // Add input if (withInput) { this.appendInput($btn, group, set); } } }; /** * Create the element needed for renderBar() * @param {String} name * @param {Object} info * @param {String} type * * @return {jQuery} * * @since 3.7.0 */ JoomlaTinyMCEBuilder.prototype.createButton = function(name, info, type){ var $element = $('

', { 'class': 'mce-btn', 'data-name': name, 'data-toggle': 'tooltip', 'title': tinymce.translate(info.label) }); var $btn = $(' plugins/example/plugin.min.js000060400000001222152455403670012302 0ustar00tinymce.PluginManager.add("example",function(e,t){e.addButton("example",{text:"My button",icon:!1,onclick:function(){e.windowManager.open({title:"Example plugin",body:[{type:"textbox",name:"title",label:"Title"}],onsubmit:function(t){e.insertContent("Title: "+t.data.title)}})}}),e.addMenuItem("example",{text:"Example plugin",context:"tools",onclick:function(){e.windowManager.open({title:"TinyMCE site",url:t+"/dialog.html",width:600,height:400,buttons:[{text:"Insert",onclick:function(){var t=e.windowManager.getWindows()[0];e.insertContent(t.getContentWindow().document.getElementById("content").value),t.close()}},{text:"Close",onclick:"close"}]})}})});plugins/emoticons/plugin.min.js000060400000001617152455403670012657 0ustar00tinymce.PluginManager.add("emoticons",function(e,t){function n(){var e;return e='',tinymce.each(r,function(n){e+="",tinymce.each(n,function(n){var r=t+"/img/smiley-"+n+".gif";e+=''}),e+=""}),e+="
"}var r=[["cool","cry","embarassed","foot-in-mouth"],["frown","innocent","kiss","laughing"],["money-mouth","sealed","smile","surprised"],["tongue-out","undecided","wink","yell"]];e.addButton("emoticons",{type:"panelbutton",panel:{role:"application",autohide:!0,html:n,onclick:function(t){var n=e.dom.getParent(t.target,"a");n&&(e.insertContent(''+n.getAttribute('),this.hide())}},tooltip:"Emoticons"})});plugins/emoticons/img/smiley-smile.gif000060400000000530152455403670014106 0ustar00GIF89ay`Ɩz ʶj2NYнR= 6hTīغqGļ.17¦2Z& !,@'Pix,2 go1Beh@@RCB2\ D0!&x;A9 B"A\'Yظ{)X 6:< 0  F)sr#P:, P S . +-059  6  ~ [bU*H ;plugins/emoticons/img/smiley-yell.gif000060400000000520152455403670013741 0ustar00GIF89a2e{ NYѿ(R4 4ʶj+3͎nT<غ9sJqHļժ*lL §!,'RicJRVAI*hq]ǣ590 q FCLZ1&h 51̢Ir:Eo(* Ku p  E  r%R9Z =AKGO)DM5!;plugins/emoticons/img/smiley-money-mouth.gif000060400000000501152455403670015254 0ustar00GIF89a)¨"¬QnX6Rj1>^* n9$J3s VMw9ZF>2B噚6Ѿ&ӿrx$~!,'TicJn0Q*I041n~( D>tsh8",n0f!$lw2*ۑW]Hm %x%D%opu% Q Y 4  #B  *N!;plugins/emoticons/img/smiley-laughing.gif000060400000000527152455403670014601 0ustar00GIF89a¦2,Nr^HYҾëjSļGغq7uZӺ.ʶj2yc1R= Z!,@'SihHT#OI8], q&Ḛ`8A(1. g02NBIp$:{PW 8s    E)sr# 9, {Q .. 8+45   ~bS*  G\ J;plugins/emoticons/img/smiley-wink.gif000060400000000536152455403670013753 0ustar00GIF89a)Ɲ 2ʶjNYdzP: , ,u\Gqغļ6־2Y( :!,@'Ri0Z fk 2JXe4JPHRC"8=#0%qtWCI$ho¢P4V  6 :< 1  F)ts#@MB:,    ..+-15961 w*H`@0T!;plugins/emoticons/img/smiley-undecided.gif000060400000000521152455403670014721 0ustar00GIF89a*Ɗyʶj%NYֺdN 2 -GqغB/ê9ļYVC 7vbο$!,'QicJJF !E*I4LA AId#8A&@HUD h[0NT} `r  y   tw %“[  A KG P)DN5!;plugins/emoticons/img/smiley-cry.gif000060400000000511152455403670013571 0ustar00GIF89a.. P2!O#r簗!ϻ8rX ž{ֵưR> vʶjZj!,'XicJR#@a* y!dQ®~0pAƀ<+ fPer>zြXc| % %q  %       \ { A9;=# ݄5N!;plugins/emoticons/img/smiley-frown.gif000060400000000524152455403670014133 0ustar00GIF89aA'Ơ2ʶjNXν"7hT -qZA غGīļ7Z"%x`0!,'QicJJ&!E*Y08ԡAA`& 4!x<đ0"FU$Jc&%`..cރ1w~bp  z r r  x% ] ̘ AKGP)DN5!;plugins/emoticons/img/smiley-tongue-out.gif000060400000000510152455403670015101 0ustar00GIF89a& Ɨ} ʶj#NҾXR=  2.::nXFqغZ/'ļ71"RT!,'TicJV4QQ*Y42M aQ($H@(Dh4U$qQ*&5 P\e ptE9*-aWW xn vE %  \ A-1N)5!;plugins/emoticons/img/smiley-cool.gif000060400000000542152455403670013734 0ustar00GIF89a z\V<N:8ѿ#[[WY#!1,//, & ɿbA_z`  !,'UicJRqGBU*ѣiOt`Be]GUZCqn P@~=@pLAx;d@~}{r} hr=       E   %  4  A F M) DK fP(J;plugins/emoticons/img/smiley-sealed.gif000060400000000503152455403670014232 0ustar00GIF89a ھRIͷJʶj5 (\lU Nû?:o"ֶR= /!,@'SiZRT"B-8]"p&fy2f0NbN~#a4ɫ3wIՕ$rO 8on$*?A9o,.NZr.tO7[, ][_x ;E* Q G )!;plugins/emoticons/img/smiley-innocent.gif000060400000000520152455403670014611 0ustar00GIF89a8*˭q˱ZU쳏 8wi٫T̵ qN*aK z0-VھB2u"!,'RixeHdbK,R=ɣ !Q<6Ph'0*di;pgP:t|NR RUR}   m _Q w     %ΗQS* P 8)"RX( ĸD!,@'Pixh:Ti]9)ښļ9ֽ)Y!,'TicJVsRQ*Y!IrT3!x Cp#ʂ!X׫Q*y$0.9@8nH5q}M a}  { /  H    J % S \  A  HJ P) DN 5!;plugins/emoticons/img/smiley-foot-in-mouth.gif000060400000000526152455403670015507 0ustar00GIF89aƖ~ʶj MR: Zѽ1mT +HغoļO'ª60:" 6& 7!,@'Pix6M1C]Xbr xd0B&Ţj21 E"d PwQ=5  9;b   E)sr#? c9,O~ . x. +-58  \ |bT* GB;plugins/contextmenu/plugin.min.js000060400000002153152455403670013224 0ustar00tinymce.PluginManager.add("contextmenu",function(e){var t,n,r=e.settings.contextmenu_never_use_native,i=function(e){return e.ctrlKey&&!r},o=function(){return tinymce.Env.mac&&tinymce.Env.webkit},a=function(){return n===!0};return e.on("mousedown",function(t){o()&&2===t.button&&!i(t)&&e.selection.isCollapsed()&&e.once("contextmenu",function(t){e.selection.placeCaretAt(t.clientX,t.clientY)})}),e.on("contextmenu",function(r){var o;if(!i(r)){if(r.preventDefault(),o=e.settings.contextmenu||"link openlink image inserttable | cell row column deletetable",t)t.show();else{var a=[];tinymce.each(o.split(/[ ,]/),function(t){var n=e.menuItems[t];"|"==t&&(n={text:t}),n&&(n.shortcut="",a.push(n))});for(var s=0;s0)tinymce.util.Tools.each(t,function(t){var n=h(e,t);n&&t.item.menu.push(n)});else{var n=h(e,null);n&&m.add(n)}}}),p(g,function(e){e.item.menu.length>0&&m.add(e.item)}),t.control.renderNew()}),f.convertSelectorToFormat=o});plugins/advlist/plugin.min.js000060400000004053152455403670012322 0ustar00tinymce.PluginManager.add("advlist",function(e){function t(t){return e.$.contains(e.getBody(),t)}function n(e){return e&&/^(OL|UL|DL)$/.test(e.nodeName)&&t(e)}function r(e,t){var n=[];return t&&tinymce.each(t.split(/[ ,]/),function(e){n.push({text:e.replace(/\-/g," ").replace(/\b\w/g,function(e){return e.toUpperCase()}),data:"default"==e?"":e})}),n}function i(t,n){e.undoManager.transact(function(){var r,i=e.dom,o=e.selection;if(r=i.getParent(o.getNode(),"ol,ul"),!r||r.nodeName!=t||n===!1){var a={"list-style-type":n?n:""};e.execCommand("UL"==t?"InsertUnorderedList":"InsertOrderedList",!1,a)}r=i.getParent(o.getNode(),"ol,ul"),r&&tinymce.util.Tools.each(i.select("ol,ul",r).concat([r]),function(e){e.nodeName!==t&&n!==!1&&(e=i.rename(e,t)),i.setStyle(e,"listStyleType",n?n:null),e.removeAttribute("data-mce-style")}),e.focus()})}function o(t){var n=e.dom.getStyle(e.dom.getParent(e.selection.getNode(),"ol,ul"),"listStyleType")||"";t.control.items().each(function(e){e.active(e.settings.data===n)})}var a,s,l=function(e,t){var n=e.settings.plugins?e.settings.plugins:"";return tinymce.util.Tools.inArray(n.split(/[ ,]/),t)!==-1};a=r("OL",e.getParam("advlist_number_styles","default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman")),s=r("UL",e.getParam("advlist_bullet_styles","default,circle,disc,square"));var c=function(t){return function(){var r=this;e.on("NodeChange",function(e){var i=tinymce.util.Tools.grep(e.parents,n);r.active(i.length>0&&i[0].nodeName===t)})}};l(e,"lists")&&(e.addCommand("ApplyUnorderedListStyle",function(e,t){i("UL",t["list-style-type"])}),e.addCommand("ApplyOrderedListStyle",function(e,t){i("OL",t["list-style-type"])}),e.addButton("numlist",{type:a.length>0?"splitbutton":"button",tooltip:"Numbered list",menu:a,onPostRender:c("OL"),onshow:o,onselect:function(e){i("OL",e.control.settings.data)},onclick:function(){i("OL",!1)}}),e.addButton("bullist",{type:s.length>0?"splitbutton":"button",tooltip:"Bullet list",onPostRender:c("UL"),menu:s,onshow:o,onselect:function(e){i("UL",e.control.settings.data)},onclick:function(){i("UL",!1)}}))});plugins/print/plugin.min.js000060400000000445152455403670012011 0ustar00tinymce.PluginManager.add("print",function(e){e.addCommand("mcePrint",function(){e.getWin().print()}),e.addButton("print",{title:"Print",cmd:"mcePrint"}),e.addShortcut("Meta+P","","mcePrint"),e.addMenuItem("print",{text:"Print",cmd:"mcePrint",icon:"print",shortcut:"Meta+P",context:"file"})});plugins/textpattern/plugin.min.js000060400000005271152455403670013241 0ustar00tinymce.PluginManager.add("textpattern",function(e){function t(){return c&&(l.sort(function(e,t){return e.start.length>t.start.length?-1:e.start.length"),r=new RegExp(n.replace(/[\?\.\*\[\]\(\)\{\}\+\^\$\:]/g,function(e){return"\\"+e}),"gi"),i='';e.addCommand("mcePageBreak",function(){e.settings.pagebreak_split_block?e.insertContent("

"+i+"

"):e.insertContent(i)}),e.addButton("pagebreak",{title:"Page break",cmd:"mcePageBreak"}),e.addMenuItem("pagebreak",{text:"Page break",icon:"pagebreak",cmd:"mcePageBreak",context:"insert"}),e.on("ResolveName",function(n){"IMG"==n.target.nodeName&&e.dom.hasClass(n.target,t)&&(n.name="pagebreak")}),e.on("click",function(n){n=n.target,"IMG"===n.nodeName&&e.dom.hasClass(n,t)&&e.selection.select(n)}),e.on("BeforeSetContent",function(e){e.content=e.content.replace(r,i)}),e.on("PreInit",function(){e.serializer.addNodeFilter("img",function(t){for(var r,i,o=t.length;o--;)if(r=t[o],i=r.attr("class"),i&&i.indexOf("mce-pagebreak")!==-1){var a=r.parent;if(e.schema.getBlockElements()[a.name]&&e.settings.pagebreak_split_block){a.type=3,a.value=n,a.raw=!0,r.remove();continue}r.type=3,r.value=n,r.raw=!0}})})});plugins/textcolor/plugin.min.js000060400000010061152455403670012673 0ustar00tinymce.PluginManager.add("textcolor",function(e){function t(t){var n;return e.dom.getParents(e.selection.getStart(),function(e){var r;(r=e.style["forecolor"==t?"color":"background-color"])&&(n=r)}),n}function n(t){var n,r,i=[];for(r=["000000","Black","993300","Burnt orange","333300","Dark olive","003300","Dark green","003366","Dark azure","000080","Navy Blue","333399","Indigo","333333","Very dark gray","800000","Maroon","FF6600","Orange","808000","Olive","008000","Green","008080","Teal","0000FF","Blue","666699","Grayish blue","808080","Gray","FF0000","Red","FF9900","Amber","99CC00","Yellow green","339966","Sea green","33CCCC","Turquoise","3366FF","Royal blue","800080","Purple","999999","Medium gray","FF00FF","Magenta","FFCC00","Gold","FFFF00","Yellow","00FF00","Lime","00FFFF","Aqua","00CCFF","Sky blue","993366","Red violet","FFFFFF","White","FF99CC","Pink","FFCC99","Peach","FFFF99","Light yellow","CCFFCC","Pale green","CCFFFF","Pale cyan","99CCFF","Light sky blue","CC99FF","Plum"],r=e.settings.textcolor_map||r,r=e.settings[t+"_map"]||r,n=0;n
'+(n?"×":"")+"
"}var r,i,o,a,s,u,d,f,p=this,m=p._id,g=0;for(f=p.settings.origin,r=n(f),r.push({text:tinymce.translate("No color"),color:"transparent"}),o='',a=r.length-1,u=0;u",s=0;sa?o+="":(i=r[d],o+=t(i.color,i.text));o+=""}if(e.settings.color_picker_callback){for(o+='",o+="",s=0;s',i="";return r+e.dom.encode(n)+i}function c(e){var t=u(e);return'
'+t+"
"}function u(e){var t,n,r,i,o="",c=a(e),u=s(c)-1;if(!c.length)return"";for(o+=l(e.headerTag,tinymce.translate("Table of Contents")),t=0;t";else for(n=u;n
  • ";if(o+=''+r.title+"",i!==r.level&&i)for(n=r.level;n>i;n--)o+="
  • ";else o+="
  • ",i||(o+="");u=r.level}return o}var d,f=e.$,p={depth:3,headerTag:"h2",className:"mce-toc"},m=function(e){var t=0;return function(){var n=(new Date).getTime().toString(32);return e+n+(t++).toString(32)}},g=m("mcetoc_");e.on("PreInit",function(){var n=e.settings,r=parseInt(n.toc_depth,10)||0;d={depth:r>=1&&r<=9?r:p.depth,headerTag:t(n.toc_header)?n.toc_header:p.headerTag,className:n.toc_class?e.dom.encode(n.toc_class):p.className}}),e.on("PreProcess",function(e){var t=f("."+d.className,e.node);t.length&&(t.removeAttr("contentEditable"),t.find("[contenteditable]").removeAttr("contentEditable"))}),e.on("SetContent",function(){var e=f("."+d.className);e.length&&(e.attr("contentEditable",!1),e.children(":first-child").attr("contentEditable",!0))});var h=function(t){return!t.length||e.dom.getParents(t[0],".mce-offscreen-selection").length>0};e.addCommand("mceInsertToc",function(){var t=f("."+d.className);h(t)?e.insertContent(c(d)):e.execCommand("mceUpdateToc")}),e.addCommand("mceUpdateToc",function(){var t=f("."+d.className);t.length&&e.undoManager.transact(function(){t.html(u(d))})}),e.addButton("toc",{tooltip:"Table of Contents",cmd:"mceInsertToc",icon:"toc",onPostRender:r}),e.addButton("tocupdate",{tooltip:"Update",cmd:"mceUpdateToc",icon:"reload"}),e.addContextToolbar(n,"tocupdate"),e.addMenuItem("toc",{text:"Table of Contents",context:"insert",cmd:"mceInsertToc",onPostRender:r})});plugins/autoresize/plugin.min.js000060400000003557152455403670013056 0ustar00tinymce.PluginManager.add("autoresize",function(e){function t(){return e.plugins.fullscreen&&e.plugins.fullscreen.isFullscreen()}function n(r){var a,s,l,c,u,d,f,p,m,g,h,v,b=tinymce.DOM;if(s=e.getDoc()){if(l=s.body,c=s.documentElement,u=i.autoresize_min_height,!l||r&&"setcontent"===r.type&&r.initial||t())return void(l&&c&&(l.style.overflowY="auto",c.style.overflowY="auto"));f=e.dom.getStyle(l,"margin-top",!0),p=e.dom.getStyle(l,"margin-bottom",!0),m=e.dom.getStyle(l,"padding-top",!0),g=e.dom.getStyle(l,"padding-bottom",!0),h=e.dom.getStyle(l,"border-top-width",!0),v=e.dom.getStyle(l,"border-bottom-width",!0),d=l.offsetHeight+parseInt(f,10)+parseInt(p,10)+parseInt(m,10)+parseInt(g,10)+parseInt(h,10)+parseInt(v,10),(isNaN(d)||d<=0)&&(d=tinymce.Env.ie?l.scrollHeight:tinymce.Env.webkit&&0===l.clientHeight?0:l.offsetHeight),d>i.autoresize_min_height&&(u=d),i.autoresize_max_height&&d>i.autoresize_max_height?(u=i.autoresize_max_height,l.style.overflowY="auto",c.style.overflowY="auto"):(l.style.overflowY="hidden",c.style.overflowY="hidden",l.scrollTop=0),u!==o&&(a=u-o,b.setStyle(e.iframeElement,"height",u+"px"),o=u,tinymce.isWebKit&&a<0&&n(r))}}function r(t,i,o){tinymce.util.Delay.setEditorTimeout(e,function(){n({}),t--?r(t,i,o):o&&o()},i)}var i=e.settings,o=0;e.settings.inline||(i.autoresize_min_height=parseInt(e.getParam("autoresize_min_height",e.getElement().offsetHeight),10),i.autoresize_max_height=parseInt(e.getParam("autoresize_max_height",0),10),e.on("init",function(){var t,n;t=e.getParam("autoresize_overflow_padding",1),n=e.getParam("autoresize_bottom_margin",50),t!==!1&&e.dom.setStyles(e.getBody(),{paddingLeft:t,paddingRight:t}),n!==!1&&e.dom.setStyles(e.getBody(),{paddingBottom:n})}),e.on("nodechange setcontent keyup FullscreenStateChanged",n),e.getParam("autoresize_on_init",!0)&&e.on("init",function(){r(20,100,function(){r(5,1e3)})}),e.addCommand("mceAutoResize",n))});plugins/fullpage/plugin.min.js000060400000014244152455403670012456 0ustar00tinymce.PluginManager.add("fullpage",function(e){function t(){var t=n();e.windowManager.open({title:"Document properties",data:t,defaults:{type:"textbox",size:40},body:[{name:"title",label:"Title"},{name:"keywords",label:"Keywords"},{name:"description",label:"Description"},{name:"robots",label:"Robots"},{name:"author",label:"Author"},{name:"docencoding",label:"Encoding"}],onSubmit:function(e){r(tinymce.extend(t,e.data))}})}function n(){function t(e,t){var n=e.attr(t);return n||""}var n,r,o=i(),a={};return a.fontface=e.getParam("fullpage_default_fontface",""),a.fontsize=e.getParam("fullpage_default_fontsize",""),n=o.firstChild,7==n.type&&(a.xml_pi=!0,r=/encoding="([^"]+)"/.exec(n.value),r&&(a.docencoding=r[1])),n=o.getAll("#doctype")[0],n&&(a.doctype=""),n=o.getAll("title")[0],n&&n.firstChild&&(a.title=n.firstChild.value),u(o.getAll("meta"),function(e){var t,n=e.attr("name"),r=e.attr("http-equiv");n?a[n.toLowerCase()]=e.attr("content"):"Content-Type"==r&&(t=/charset\s*=\s*(.*)\s*/gi.exec(e.attr("content")),t&&(a.docencoding=t[1]))}),n=o.getAll("html")[0],n&&(a.langcode=t(n,"lang")||t(n,"xml:lang")),a.stylesheets=[],tinymce.each(o.getAll("link"),function(e){"stylesheet"==e.attr("rel")&&a.stylesheets.push(e.attr("href"))}),n=o.getAll("body")[0],n&&(a.langdir=t(n,"dir"),a.style=t(n,"style"),a.visited_color=t(n,"vlink"),a.link_color=t(n,"link"),a.active_color=t(n,"alink")),a}function r(t){function n(e,t,n){e.attr(t,n?n:void 0)}function r(e){a.firstChild?a.insert(e,a.firstChild):a.append(e)}var o,a,s,c,f,p=e.dom;o=i(),a=o.getAll("head")[0],a||(c=o.getAll("html")[0],a=new d("head",1),c.firstChild?c.insert(a,c.firstChild,!0):c.append(a)),c=o.firstChild,t.xml_pi?(f='version="1.0"',t.docencoding&&(f+=' encoding="'+t.docencoding+'"'),7!=c.type&&(c=new d("xml",7),o.insert(c,o.firstChild,!0)),c.value=f):c&&7==c.type&&c.remove(),c=o.getAll("#doctype")[0],t.doctype?(c||(c=new d("#doctype",10),t.xml_pi?o.insert(c,o.firstChild):r(c)),c.value=t.doctype.substring(9,t.doctype.length-1)):c&&c.remove(),c=null,u(o.getAll("meta"),function(e){"Content-Type"==e.attr("http-equiv")&&(c=e)}),t.docencoding?(c||(c=new d("meta",1),c.attr("http-equiv","Content-Type"),c.shortEnded=!0,r(c)),c.attr("content","text/html; charset="+t.docencoding)):c&&c.remove(),c=o.getAll("title")[0],t.title?(c?c.empty():(c=new d("title",1),r(c)),c.append(new d("#text",3)).value=t.title):c&&c.remove(),u("keywords,description,author,copyright,robots".split(","),function(e){var n,i,a=o.getAll("meta"),s=t[e];for(n=0;n"))}function i(){return new tinymce.html.DomParser({validate:!1,root_name:"#document"}).parse(l)}function o(t){function n(e){return e.replace(/<\/?[A-Z]+/g,function(e){return e.toLowerCase()})}var r,o,s,d,f=t.content,p="",m=e.dom;if(!t.selection&&!("raw"==t.format&&l||t.source_view&&e.getParam("fullpage_hide_in_source_view"))){0!==f.length||t.source_view||(f=tinymce.trim(l)+"\n"+tinymce.trim(f)+"\n"+tinymce.trim(c)),f=f.replace(/<(\/?)BODY/gi,"<$1body"),r=f.indexOf("",r),l=n(f.substring(0,r+1)),o=f.indexOf("\n"),s=i(),u(s.getAll("style"),function(e){e.firstChild&&(p+=e.firstChild.value)}),d=s.getAll("body")[0],d&&m.setAttribs(e.getBody(),{style:d.attr("style")||"",dir:d.attr("dir")||"",vLink:d.attr("vlink")||"",link:d.attr("link")||"",aLink:d.attr("alink")||""}),m.remove("fullpage_styles");var g=e.getDoc().getElementsByTagName("head")[0];p&&(m.add(g,"style",{id:"fullpage_styles"},p),d=m.get("fullpage_styles"),d.styleSheet&&(d.styleSheet.cssText=p));var h={};tinymce.each(g.getElementsByTagName("link"),function(e){"stylesheet"==e.rel&&e.getAttribute("data-mce-fullpage")&&(h[e.href]=e)}),tinymce.each(s.getAll("link"),function(e){var t=e.attr("href");return!t||(h[t]||"stylesheet"!=e.attr("rel")||m.add(g,"link",{rel:"stylesheet",text:"text/css",href:t,"data-mce-fullpage":"1"}),void delete h[t])}),tinymce.each(h,function(e){e.parentNode.removeChild(e)})}}function a(){var t,n="",r="";return e.getParam("fullpage_default_xml_pi")&&(n+='\n'),n+=e.getParam("fullpage_default_doctype",""),n+="\n\n\n",(t=e.getParam("fullpage_default_title"))&&(n+=""+t+"\n"),(t=e.getParam("fullpage_default_encoding"))&&(n+='\n'),(t=e.getParam("fullpage_default_font_family"))&&(r+="font-family: "+t+";"),(t=e.getParam("fullpage_default_font_size"))&&(r+="font-size: "+t+";"),(t=e.getParam("fullpage_default_text_color"))&&(r+="color: "+t+";"),n+="\n\n"}function s(t){t.selection||t.source_view&&e.getParam("fullpage_hide_in_source_view")||(t.content=tinymce.trim(l)+"\n"+tinymce.trim(t.content)+"\n"+tinymce.trim(c))}var l,c,u=tinymce.each,d=tinymce.html.Node;e.addCommand("mceFullPageProperties",t),e.addButton("fullpage",{title:"Document properties",cmd:"mceFullPageProperties"}),e.addMenuItem("fullpage",{text:"Document properties",cmd:"mceFullPageProperties",context:"file"}),e.on("BeforeSetContent",o),e.on("GetContent",s)});plugins/spellchecker/plugin.min.js000060400000023500152455403670013316 0ustar00!function(e,t){"use strict";function n(e,t){for(var n,r=[],o=0;o=l.end?(o=d,s=l.end-u):i&&c.push(d),!i&&d.length+u>l.start&&(i=d,a=l.start-u),u+=d.length),i&&o){if(d=r({startNode:i,startNodeIndex:a,endNode:o,endNodeIndex:s,innerNodes:c,match:l.text,matchIndex:f}),u-=o.length-s,i=null,o=null,c=[],l=n.shift(),f++,!l)break}else if(k[d.nodeName]&&!N[d.nodeName]||!d.firstChild){if(d.nextSibling){d=d.nextSibling;continue}}else if(!e(d)){d=d.firstChild;continue}for(;;){if(d.nextSibling){d=d.nextSibling;break}if(d.parentNode===t)break e;d=d.parentNode}}}function a(e){function t(t,n){var r=_[n];r.stencil||(r.stencil=e(r));var i=r.stencil.cloneNode(!1);return i.setAttribute("data-mce-index",n),t&&i.appendChild(E.doc.createTextNode(t)),i}return function(e){var n,r,i,o=e.startNode,a=e.endNode,s=e.matchIndex,l=E.doc;if(o===a){var c=o;i=c.parentNode,e.startNodeIndex>0&&(n=l.createTextNode(c.data.substring(0,e.startNodeIndex)),i.insertBefore(n,c));var u=t(e.match,s);return i.insertBefore(u,c),e.endNodeIndex0&&r.insertNode(n.dom.doc.createTextNode(t)),r}function x(){return _.splice(0,_.length),m(),this}var C,w,N,k,S,_=[],E=n.dom;return N=n.schema.getBlockElements(),k=n.schema.getWhiteSpaceElements(),S=n.schema.getShortEndedElements(),w=i(t),{text:w,matches:_,each:d,filter:u,reset:x,matchFromElement:g,elementFromMatch:h,find:p,add:v,wrap:f,unwrap:m,replace:y,rangeFromMatch:b,indexOf:c}}}),r("tinymce/spellcheckerplugin/Plugin",["tinymce/spellcheckerplugin/DomTextMatcher","tinymce/PluginManager","tinymce/util/Tools","tinymce/ui/Menu","tinymce/dom/DOMUtils","tinymce/util/XHR","tinymce/util/URI","tinymce/util/JSON"],function(e,t,n,r,i,o,a,s){t.add("spellchecker",function(l,c){function u(){return B.textMatcher||(B.textMatcher=new e(l.getBody(),l)),B.textMatcher}function d(e,t){var r=[];return n.each(t,function(e){r.push({selectable:!0,text:e.name,data:e.value})}),r}function f(e){for(var t in e)return!1;return!0}function p(e,t){var o=[],a=E[e];n.each(a,function(e){o.push({text:e,onclick:function(){l.insertContent(l.dom.encode(e)),l.dom.remove(t),b()}})}),o.push({text:"-"}),A&&o.push({text:"Add to Dictionary",onclick:function(){y(e,t)}}),o.push.apply(o,[{text:"Ignore",onclick:function(){x(e,t)}},{text:"Ignore all",onclick:function(){x(e,t,!0)}}]),R=new r({items:o,context:"contextmenu",onautohide:function(e){e.target.className.indexOf("spellchecker")!=-1&&e.preventDefault()},onhide:function(){R.remove(),R=null}}),R.renderTo(document.body);var s=i.DOM.getPos(l.getContentAreaContainer()),c=l.dom.getPos(t[0]),u=l.dom.getRoot();"BODY"==u.nodeName?(c.x-=u.ownerDocument.documentElement.scrollLeft||u.scrollLeft,c.y-=u.ownerDocument.documentElement.scrollTop||u.scrollTop):(c.x-=u.scrollLeft,c.y-=u.scrollTop),s.x+=c.x,s.y+=c.y,R.moveTo(s.x,s.y+t[0].offsetHeight)}function m(){return l.getParam("spellchecker_wordchar_pattern")||new RegExp('[^\\s!"#$%&()*+,-./:;<=>?@[\\]^_{|}`\xa7\xa9\xab\xae\xb1\xb6\xb7\xb8\xbb\xbc\xbd\xbe\xbf\xd7\xf7\xa4\u201d\u201c\u201e\xa0\u2002\u2003\u2009]+',"g")}function g(e,t,r,i){var u={method:e,lang:P.spellchecker_language},d="";u["addToDictionary"==e?"word":"text"]=t,n.each(u,function(e,t){d&&(d+="&"),d+=t+"="+encodeURIComponent(e)}),o.send({url:new a(c).toAbsolute(P.spellchecker_rpc_url),type:"post",content_type:"application/x-www-form-urlencoded",data:d,success:function(e){if(e=s.parse(e))e.error?i(e.error):r(e);else{var t=l.translate("Server response wasn't proper JSON.");i(t)}},error:function(){var e=l.translate("The spelling service was not found: (")+P.spellchecker_rpc_url+l.translate(")");i(e)}})}function h(e,t,n,r){var i=P.spellchecker_callback||g;i.call(B,e,t,n,r)}function v(){function e(e){l.notificationManager.open({text:e,type:"error"}),l.setProgressState(!1),C()}C()||(l.setProgressState(!0),h("spellcheck",u().text,S,e),l.focus())}function b(){l.dom.select("span.mce-spellchecker-word").length||C()}function y(e,t){l.setProgressState(!0),h("addToDictionary",e,function(){l.setProgressState(!1),l.dom.remove(t,!0),b()},function(e){l.notificationManager.open({text:e,type:"error"}),l.setProgressState(!1)})}function x(e,t,r){l.selection.collapse(),r?n.each(l.dom.select("span.mce-spellchecker-word"),function(t){t.getAttribute("data-mce-word")==e&&l.dom.remove(t,!0)}):l.dom.remove(t,!0),b()}function C(){if(u().reset(),B.textMatcher=null,T)return T=!1,l.fire("SpellcheckEnd"),!0}function w(e){var t=e.getAttribute("data-mce-index");return"number"==typeof t?""+t:t}function N(e){var t,r=[];if(t=n.toArray(l.getBody().getElementsByTagName("span")),t.length)for(var i=0;i0){var r=l.dom.createRng();r.setStartBefore(n[0]),r.setEndAfter(n[n.length-1]),l.selection.setRng(r),p(t.getAttribute("data-mce-word"),n)}}}),l.addMenuItem("spellchecker",{text:"Spellcheck",context:"tools",onclick:v,selectable:!0,onPostRender:function(){var e=this;e.active(T),l.on("SpellcheckStart SpellcheckEnd",function(){e.active(T)})}});var M={tooltip:"Spellcheck",onclick:v,onPostRender:function(){var e=this;l.on("SpellcheckStart SpellcheckEnd",function(){e.active(T)})}};_.length>1&&(M.type="splitbutton",M.menu=_,M.onshow=k,M.onselect=function(e){P.spellchecker_language=e.control.settings.data}),l.addButton("spellchecker",M),l.addCommand("mceSpellCheck",v),l.on("remove",function(){R&&(R.remove(),R=null)}),l.on("change",b),this.getTextMatcher=u,this.getWordCharPattern=m,this.markErrors=S,this.getLanguage=function(){return P.spellchecker_language},P.spellchecker_language=P.spellchecker_language||P.language||"en"})}),o(["tinymce/spellcheckerplugin/DomTextMatcher"])}(window);plugins/lists/plugin.min.js000060400000034450152455403670012016 0ustar00!function(){var e={},t=function(t){for(var n=e[t],i=n.deps,o=n.defn,a=i.length,s=new Array(a),l=0;l0)&&r},c=function(e,t){return e.isChildOf(t,e.getRoot())};return{isTextNode:e,isListNode:t,isListItemNode:n,isBr:r,isFirstChild:i,isLastChild:o,isTextBlock:a,isBogusBr:s,isEmpty:l,isChildOfBody:c}}),s("9",tinymce.dom.TreeWalker),s("a",tinymce.dom.RangeUtils),a("b",["2","4"],function(e,t){var n=function(n){return e.grep(n.selection.getSelectedBlocks(),function(e){return t.isListItemNode(e)})};return{getSelectedListItems:n}}),s("h",tinymce.dom.DOMUtils.DOM),a("d",["a","4"],function(e,t){var n=function(n,r){var i=e.getNode(n,r);if(t.isListItemNode(n)&&t.isTextNode(i)){var o=r>=n.childNodes.length?i.data.length:0;return{container:i,offset:o}}return{container:n,offset:r}},r=function(e){var t=e.cloneRange(),r=n(e.startContainer,e.startOffset);t.setStart(r.container,r.offset);var i=n(e.endContainer,e.endOffset);return t.setEnd(i.container,i.offset),t};return{getNormalizedEndPoint:n,normalizeRange:r}}),a("c",["h","4","d"],function(e,t,n){var r=function(t){var n={},r=function(r){var i,o,a;o=t[r?"startContainer":"endContainer"],a=t[r?"startOffset":"endOffset"],1===o.nodeType&&(i=e.create("span",{"data-mce-type":"bookmark"}),o.hasChildNodes()?(a=Math.min(a,o.childNodes.length-1),r?o.insertBefore(i,o.childNodes[a]):e.insertAfter(i,o.childNodes[a])):o.appendChild(i),o=i,a=0),n[r?"startContainer":"endContainer"]=o,n[r?"startOffset":"endOffset"]=a};return r(!0),t.collapsed||r(),n},i=function(t){function r(n){var r,i,o,a=function(e){for(var t=e.parentNode.firstChild,n=0;t;){if(t===e)return n;1===t.nodeType&&"bookmark"===t.getAttribute("data-mce-type")||n++,t=t.nextSibling}return-1};r=o=t[n?"startContainer":"endContainer"],i=t[n?"startOffset":"endOffset"],r&&(1===r.nodeType&&(i=a(r),r=r.parentNode,e.remove(o)),t[n?"startContainer":"endContainer"]=r,t[n?"startOffset":"endOffset"]=i)}r(!0),r();var i=e.createRng();return i.setStart(t.startContainer,t.startOffset),t.endContainer&&i.setEnd(t.endContainer,t.endOffset),n.normalizeRange(i)};return{createBookmark:r,resolveBookmark:i}}),a("e",["h","2","4"],function(e,t,n){var r=function(t,r){var i,o=r.parentNode;"LI"===o.nodeName&&o.firstChild===r&&(i=o.previousSibling,i&&"LI"===i.nodeName?(i.appendChild(r),n.isEmpty(t,o)&&e.remove(o)):e.setStyle(o,"listStyleType","none")),n.isListNode(o)&&(i=o.previousSibling,i&&"LI"===i.nodeName&&i.appendChild(r))},i=function(e,n){t.each(t.grep(e.select("ol,ul",n)),function(t){r(e,t)})};return{normalizeList:r,normalizeLists:i}}),s("f",tinymce.dom.BookmarkManager),s("j",tinymce.Env),a("i",["h","j"],function(e,t){var n=function(n,r,i){var o,a,s,l=e.createFragment(),c=n.schema.getBlockElements();if(n.settings.forced_root_block&&(i=i||n.settings.forced_root_block),i&&(a=e.create(i),a.tagName===n.settings.forced_root_block&&e.setAttribs(a,n.settings.forced_root_block_attrs),l.appendChild(a)),r)for(;o=r.firstChild;){var u=o.nodeName;s||"SPAN"===u&&"bookmark"===o.getAttribute("data-mce-type")||(s=!0),c[u]?(l.appendChild(o),a=null):i?(a||(a=e.create(i),l.appendChild(a)),a.appendChild(o)):l.appendChild(o)}return n.settings.forced_root_block?s||t.ie&&!(t.ie>10)||a.appendChild(e.create("br",{"data-mce-bogus":"1"})):l.appendChild(e.create("br")),l};return{createNewTextBlock:n}}),a("g",["h","2","i","4"],function(e,t,n,r){var i=function(i,o,a,s){var l,c,u,d,f=function(n){t.each(u,function(e){n.parentNode.insertBefore(e,a.parentNode)}),e.remove(n)};for(u=e.select('span[data-mce-type="bookmark"]',o),s=s||n.createNewTextBlock(i,a),l=e.createRng(),l.setStartAfter(a),l.setEndAfter(o),c=l.extractContents(),d=c.firstChild;d;d=d.firstChild)if("LI"===d.nodeName&&i.dom.isEmpty(d)){e.remove(d);break}i.dom.isEmpty(c)||e.insertAfter(c,o),e.insertAfter(s,o),r.isEmpty(i.dom,a.parentNode)&&f(a.parentNode),e.remove(a),r.isEmpty(i.dom,o)&&e.remove(o)};return{splitList:i}}),a("7",["h","4","c","b","g","e","i"],function(e,t,n,r,i,o,a){var s=function(n,r){t.isEmpty(n,r)&&e.remove(r)},l=function(n,r){var l,c=r.parentNode,u=c.parentNode;return c===n.getBody()||("DD"===r.nodeName?(e.rename(r,"DT"),!0):t.isFirstChild(r)&&t.isLastChild(r)?("LI"===u.nodeName?(e.insertAfter(r,u),s(n.dom,u),e.remove(c)):t.isListNode(u)?e.remove(c,!0):(u.insertBefore(a.createNewTextBlock(n,r),c),e.remove(c)),!0):t.isFirstChild(r)?("LI"===u.nodeName?(e.insertAfter(r,u),r.appendChild(c),s(n.dom,u)):t.isListNode(u)?u.insertBefore(r,c):(u.insertBefore(a.createNewTextBlock(n,r),c),e.remove(r)),!0):t.isLastChild(r)?("LI"===u.nodeName?e.insertAfter(r,u):t.isListNode(u)?e.insertAfter(r,c):(e.insertAfter(a.createNewTextBlock(n,r),c),e.remove(r)),!0):("LI"===u.nodeName?(c=u,l=a.createNewTextBlock(n,r,"LI")):l=t.isListNode(u)?a.createNewTextBlock(n,r,"LI"):a.createNewTextBlock(n,r),i.splitList(n,c,r,l),o.normalizeLists(n.dom,c.parentNode),!0))},c=function(e){var t=r.getSelectedListItems(e);if(t.length){var i,o,a=n.createBookmark(e.selection.getRng(!0)),s=e.getBody();for(i=t.length;i--;)for(var c=t[i].parentNode;c&&c!==s;){for(o=t.length;o--;)if(t[o]===c){t.splice(i,1);break}c=c.parentNode}for(i=0;i0))return l;for(a=n.schema.getNonEmptyElements(),1===l.nodeType&&(l=t.getNode(l,c)),s=new e(l,n.getBody()),o&&i.isBogusBr(n.dom,l)&&s.next();l=s[o?"next":"prev2"]();){if("LI"===l.nodeName&&!l.hasChildNodes())return l;if(a[l.nodeName])return l;if(3===l.nodeType&&l.data.length>0)return l}},u=function(e,t,n){var r,o,a=t.parentNode;if(i.isChildOfBody(e,t)&&i.isChildOfBody(e,n)){if(i.isListNode(n.lastChild)&&(o=n.lastChild),a===n.lastChild&&i.isBr(a.previousSibling)&&e.remove(a.previousSibling),r=n.lastChild,r&&i.isBr(r)&&t.hasChildNodes()&&e.remove(r),i.isEmpty(e,n,!0)&&e.$(n).empty(),!i.isEmpty(e,t,!0))for(;r=t.firstChild;)n.appendChild(r);o&&n.appendChild(o),e.remove(t),i.isEmpty(e,a)&&a!==e.getRoot()&&e.remove(a)}},d=function(e,t){var n,r,s,d=e.dom,f=e.selection,p=d.getParent(f.getStart(),"LI");if(p){if(n=p.parentNode,n===e.getBody()&&i.isEmpty(d,n))return!0;if(r=a.normalizeRange(f.getRng(!0)),s=d.getParent(c(e,r,t),"LI"),s&&s!==p){var m=o.createBookmark(r);return t?u(d,s,p):u(d,p,s),e.selection.setRng(o.resolveBookmark(m)),!0}if(!s&&!t&&l.removeList(e,n.nodeName))return!0}return!1},f=function(e,t){var n=e.dom,r=n.getParent(e.selection.getStart(),n.isBlock);if(r&&n.isEmpty(r)){var i=a.normalizeRange(e.selection.getRng(!0)),o=n.getParent(c(e,i,t),"LI");if(o)return e.undoManager.transact(function(){n.remove(r),l.mergeWithAdjacentLists(n,o.parentNode),e.selection.select(o,!0),e.selection.collapse(t)}),!0}return!1},p=function(e,t){return d(e,t)||f(e,t)},m=function(e){var t=e.dom.getParent(e.selection.getStart(),"LI,DT,DD");return!!(t||r.getSelectedListItems(e).length>0)&&(e.undoManager.transact(function(){e.execCommand("Delete"),s.normalizeLists(e.dom,e.getBody())}),!0)},g=function(e,t){return e.selection.isCollapsed()?p(e,t):m(e)},h=function(e){e.on("keydown",function(t){t.keyCode===n.BACKSPACE?g(e,!1)&&t.preventDefault():t.keyCode===n.DELETE&&g(e,!0)&&t.preventDefault()})};return{setup:h,backspaceDelete:g}}),a("6",["h","4","c","b"],function(e,t,n,r){var i=function(n,r){var i;if(t.isListNode(n)){for(;i=n.firstChild;)r.appendChild(i);e.remove(n)}},o=function(n){var r,o,a;return"DT"===n.nodeName?(e.rename(n,"DD"),!0):(r=n.previousSibling,r&&t.isListNode(r)?(r.appendChild(n),!0):r&&"LI"===r.nodeName&&t.isListNode(r.lastChild)?(r.lastChild.appendChild(n),i(n.lastChild,r.lastChild),!0):(r=n.nextSibling,r&&t.isListNode(r)?(r.insertBefore(n,r.firstChild),!0):(r=n.previousSibling,!(!r||"LI"!==r.nodeName)&&(o=e.create(n.parentNode.nodeName),a=e.getStyle(n.parentNode,"listStyleType"),a&&e.setStyle(o,"listStyleType",a),r.appendChild(o),o.appendChild(n),i(n.lastChild,o),!0))))},a=function(e){var t=r.getSelectedListItems(e);if(t.length){for(var i=n.createBookmark(e.selection.getRng(!0)),a=0;a0&&o[0].nodeName===n)})}},i=function(e,n){var r=e.settings.plugins?e.settings.plugins:"";return t.inArray(r.split(/[ ,]/),n)!==-1};i(e,"advlist")||(e.addButton("numlist",{title:"Numbered list",cmd:"InsertOrderedList",onPostRender:n("OL")}),e.addButton("bullist",{title:"Bullet list",cmd:"InsertUnorderedList",onPostRender:n("UL")})),e.addButton("indent",{icon:"indent",title:"Increase indent",cmd:"Indent",onPostRender:function(t){var n=t.control;e.on("nodechange",function(){for(var t=e.selection.getSelectedBlocks(),i=!1,o=0,a=t.length;!i&&o/g]),o(s.parse(i)),l}function o(e){function t(e,t,n){return t||n?"\xa0":" "}return e=r(s(e),[/^[\s\S]*]*>\s*|\s*<\/body[^>]*>[\s\S]*$/gi,/|/g,[/( ?)\u00a0<\/span>( ?)/g,t],/
    /g,/
    $/i])}function a(e){var t=0;return function(){return e+t++}}var s=function(e){var t="",n="",r=e.indexOf(t);if(r!==-1){var i=e.substr(r+t.length),o=i.indexOf(n);if(o!==-1&&/^<\/(p|h[1-6]|li)>/i.test(i.substr(o+n.length,5)))return i.substr(0,o)}return e},l=function(){return navigator.userAgent.indexOf(" Edge/")!==-1};return{filter:r,innerText:i,trimHtml:o,createIdGenerator:a,isMsEdge:l}}),r("tinymce/pasteplugin/SmartPaste",["tinymce/util/Tools"],function(e){var t=function(e){return/^https?:\/\/[\w\?\-\/+=.&%@~#]+$/i.test(e)},n=function(e){return t(e)&&/.(gif|jpe?g|png)$/.test(e)},r=function(e,t,n){return e.undoManager.extra(function(){n(e,t)},function(){e.insertContent('')}),!0},i=function(e,t,n){return e.undoManager.extra(function(){n(e,t)},function(){e.execCommand("mceInsertLink",!1,t)}),!0},o=function(e,n,r){return!(e.selection.isCollapsed()!==!1||!t(n))&&i(e,n,r)},a=function(e,t,i){return!!n(t)&&r(e,t,i)},s=function(e,t){return e.insertContent(t,{merge:e.settings.paste_merge_formats!==!1,paste:!0}),!0},l=function(t,n){e.each([o,a,s],function(e){return e(t,n,s)!==!0})},c=function(e,t){e.settings.smart_paste===!1?s(e,t):l(e,t)};return{isImageUrl:n,isAbsoluteUrl:t,insertContent:c}}),r("tinymce/pasteplugin/Clipboard",["tinymce/Env","tinymce/dom/RangeUtils","tinymce/util/VK","tinymce/util/Tools","tinymce/pasteplugin/Utils","tinymce/pasteplugin/SmartPaste","tinymce/util/Delay"],function(e,t,n,r,i,o,a){return function(s){function l(e){var t,n=s.dom;if(t=s.fire("BeforePastePreProcess",{content:e}),t=s.fire("PastePreProcess",t),e=t.content,!t.isDefaultPrevented()){if(s.hasEventListeners("PastePostProcess")&&!t.isDefaultPrevented()){var r=n.add(s.getBody(),"div",{style:"display:none"},e);t=s.fire("PastePostProcess",{node:r}),n.remove(r),e=t.node.innerHTML}t.isDefaultPrevented()||o.insertContent(s,e)}}function c(e){e=s.dom.encode(e).replace(/\r\n/g,"\n");var t,n=s.dom.getParent(s.selection.getStart(),s.dom.isBlock),r=s.settings.forced_root_block;r&&(t=s.dom.createHTML(r,s.settings.forced_root_block_attrs),t=t.substr(0,t.length-3)+">"),n&&/^(PRE|DIV)$/.test(n.nodeName)||!r?e=i.filter(e,[[/\n/g,"
    "]]):(e=i.filter(e,[[/\n\n/g,"

    "+t],[/^(.*<\/p>)(

    )$/,t+"$1"],[/\n/g,"
    "]]),e.indexOf("

    ")!=-1&&(e=t+e)),l(e)}function u(){function t(e){var t,n,i,o=e.startContainer;if(t=e.getClientRects(),t.length)return t[0];if(e.collapsed&&1==o.nodeType){for(i=o.childNodes[_.startOffset];i&&3==i.nodeType&&!i.data.length;)i=i.nextSibling;if(i)return"BR"==i.tagName&&(n=r.doc.createTextNode("\ufeff"),i.parentNode.insertBefore(n,i),e=r.createRng(),e.setStartBefore(n),e.setEndAfter(n),t=e.getClientRects(),r.remove(n)),t.length?t[0]:void 0}}var n,r=s.dom,i=s.getBody(),o=s.dom.getViewPort(s.getWin()),a=o.y,l=20;if(_=s.selection.getRng(),s.inline&&(n=s.selection.getScrollContainer(),n&&n.scrollTop>0&&(a=n.scrollTop)),_.getClientRects){var c=t(_);if(c)l=a+(c.top-r.getPos(i).y);else{l=a;var u=_.startContainer;u&&(3==u.nodeType&&u.parentNode!=i&&(u=u.parentNode),1==u.nodeType&&(l=r.getPos(u,n||i).y))}}S=r.add(s.getBody(),"div",{id:"mcepastebin",contentEditable:!0,"data-mce-bogus":"all",style:"position: absolute; top: "+l+"px;width: 10px; height: 10px; overflow: hidden; opacity: 0"},B),(e.ie||e.gecko)&&r.setStyle(S,"left","rtl"==r.getStyle(i,"direction",!0)?65535:-65535),r.bind(S,"beforedeactivate focusin focusout",function(e){e.stopPropagation()}),S.focus(),s.selection.select(S,!0)}function d(){if(S){for(var e;e=s.dom.get("mcepastebin");)s.dom.remove(e),s.dom.unbind(e);_&&s.selection.setRng(_)}S=_=null}function f(){var e,t,n,r,i="";for(e=s.dom.select("div[id=mcepastebin]"),t=0;t0&&n.indexOf(P)==-1&&(t["text/plain"]=n)}if(e.types)for(var r=0;r')}else l('')}function y(e,t){function n(n){var r,i,o,a=!1;if(n)for(r=0;r0}function N(e){return n.metaKeyPressed(e)&&86==e.keyCode||e.shiftKey&&45==e.keyCode}function k(){function t(e,t,n){var r;return w(e,"text/html")?r=e["text/html"]:(r=f(),r==B&&(n=!0)),r=i.trimHtml(r),S&&S.firstChild&&"mcepastebin"===S.firstChild.id&&(n=!0),d(),r.length||(n=!0),n&&(r=w(e,"text/plain")&&r.indexOf("

    ")==-1?e["text/plain"]:i.innerText(r)),r==B?void(t||s.windowManager.alert("Please use Ctrl+V/Cmd+V keyboard shortcuts to paste contents.")):void(n?c(r):l(r))}function n(e){var t=e["text/plain"];return!!t&&0===t.indexOf("file://")}s.on("keydown",function(t){function n(e){N(e)&&!e.isDefaultPrevented()&&d()}if(N(t)&&!t.isDefaultPrevented()){if(E=t.shiftKey&&86==t.keyCode,E&&e.webkit&&navigator.userAgent.indexOf("Version/")!=-1)return;if(t.stopImmediatePropagation(),R=(new Date).getTime(),e.ie&&E)return t.preventDefault(),void s.fire("paste",{ieFake:!0});d(),u(),s.once("keyup",n),s.once("paste",function(){s.off("keyup",n)})}});var r=function(){return _||s.selection.getRng()};s.on("paste",function(n){var i=(new Date).getTime(),o=m(n),l=(new Date).getTime()-i,c=(new Date).getTime()-R-l<1e3,p="text"==T.pasteFormat||E;return E=!1,n.isDefaultPrevented()||x(n)?void d():!g(o)&&y(n,r())?void d():(c||n.preventDefault(),!e.ie||c&&!n.ieFake||(u(),s.dom.bind(S,"paste",function(e){e.stopPropagation()}),s.getDoc().execCommand("Paste",!1,null),o["text/html"]=f()),void(w(o,"text/html")?(n.preventDefault(),t(o,c,p)):a.setEditorTimeout(s,function(){t(o,c,p)},0)))}),s.on("dragstart dragend",function(e){A="dragstart"==e.type}),s.on("drop",function(e){var t,r;if(r=C(e),!e.isDefaultPrevented()&&!A&&(t=p(e.dataTransfer),(g(t)&&!n(t)||!y(e,r))&&r&&s.settings.paste_filter_drop!==!1)){var o=t["mce-internal"]||t["text/html"]||t["text/plain"];o&&(e.preventDefault(),a.setEditorTimeout(s,function(){s.undoManager.transact(function(){t["mce-internal"]&&s.execCommand("Delete"),s.selection.setRng(r),o=i.trimHtml(o),t["text/html"]?l(o):c(o)})}))}}),s.on("dragover dragend",function(e){s.settings.paste_data_images&&e.preventDefault()})}var S,_,E,T=this,R=0,A=!1,B="%MCEPASTEBIN%",P="data:text/mce-internal,",D=i.createIdGenerator("mceclip");T.pasteHtml=l,T.pasteText=c,T.pasteImageData=y,s.on("preInit",function(){k(),s.parser.addNodeFilter("img",function(t,n,r){function i(e){return e.data&&e.data.paste===!0}function o(t){t.attr("data-mce-object")||u===e.transparentSrc||t.remove()}function a(e){return 0===e.indexOf("webkit-fake-url")}function l(e){return 0===e.indexOf("data:")}if(!s.settings.paste_data_images&&i(r))for(var c=t.length;c--;){var u=t[c].attributes.map.src;u&&(a(u)?o(t[c]):!s.settings.allow_html_data_urls&&l(u)&&o(t[c]))}})})}}),r("tinymce/pasteplugin/WordFilter",["tinymce/util/Tools","tinymce/html/DomParser","tinymce/html/Schema","tinymce/html/Serializer","tinymce/html/Node","tinymce/pasteplugin/Utils"],function(e,t,n,r,i,o){function a(e){return/1&&a.attr("start",""+o),e.wrap(a)),e.name="li",s>u&&c&&c.lastChild.append(a),u=s,r(e),n(e,/^\u00a0+/),n(e,/^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/),n(e,/^\u00a0+/)}for(var a,c,u=1,d=[],f=e.firstChild;"undefined"!=typeof f&&null!==f;)if(d.push(f),f=f.walk(),null!==f)for(;"undefined"!=typeof f&&f.parent!==e;)f=f.walk();for(var p=0;p]+id="?docs-internal-[^>]*>/gi,""),h=h.replace(/
    /gi,""),m=u.paste_retain_style_properties,m&&(g=e.makeMap(m.split(/[, ]/))),u.paste_enable_default_filters!==!1&&a(d.content)){d.wordContent=!0,h=o.filter(h,[//gi,/<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|img|meta|link|style|\w:\w+)(?=[\s\/>]))[^>]*>/gi,[/<(\/?)s>/gi,"<$1strike>"],[/ /gi,"\xa0"],[/([\s\u00a0]*)<\/span>/gi,function(e,t){return t.length>0?t.replace(/./," ").slice(Math.floor(t.length/2)).split("").join("\xa0"):""}]]);var v=u.paste_word_valid_elements;v||(v="-strong/b,-em/i,-u,-span,-p,-ol,-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width],th[colspan|rowspan|width],thead,tfoot,tbody");var b=new n({valid_elements:v,valid_children:"-li[p]"});e.each(b.elements,function(e){e.attributes["class"]||(e.attributes["class"]={},e.attributesOrder.push("class")),e.attributes.style||(e.attributes.style={},e.attributesOrder.push("style"))});var y=new t({},b);y.addAttributeFilter("style",function(e){for(var t,n=e.length;n--;)t=e[n],t.attr("style",p(t,t.attr("style"))),"span"==t.name&&t.parent&&!t.attributes.length&&t.unwrap()}),y.addAttributeFilter("class",function(e){for(var t,n,r=e.length;r--;)t=e[r],n=t.attr("class"),/^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(n)&&t.remove(),t.attr("class",null)}),y.addNodeFilter("del",function(e){for(var t=e.length;t--;)e[t].remove()}),y.addNodeFilter("a",function(e){for(var t,n,r,i=e.length;i--;)if(t=e[i],n=t.attr("href"),r=t.attr("name"),n&&n.indexOf("#_msocom_")!=-1)t.remove();else if(n&&0===n.indexOf("file://")&&(n=n.split("#")[1],n&&(n="#"+n)),n||r){if(r&&!/^_?(?:toc|edn|ftn)/i.test(r)){t.unwrap();continue}t.attr({href:n,name:r})}else t.unwrap()});var x=y.parse(h);u.paste_convert_word_fake_lists!==!1&&f(x),d.content=new r({validate:u.validate},b).serialize(x)}})}return c.isWordContent=a,c}),r("tinymce/pasteplugin/Quirks",["tinymce/Env","tinymce/util/Tools","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Utils"],function(e,t,n,r){return function(i){function o(e){i.on("BeforePastePreProcess",function(t){t.content=e(t.content)})}function a(e){i.on("PastePostProcess",function(t){e(t.node)})}function s(e){if(!n.isWordContent(e))return e;var o=[];t.each(i.schema.getBlockElements(),function(e,t){o.push(t)});var a=new RegExp("(?:
     [\\s\\r\\n]+|
    )*(<\\/?("+o.join("|")+")[^>]*>)(?:
     [\\s\\r\\n]+|
    )*","g");return e=r.filter(e,[[a,"$1"]]),e=r.filter(e,[[/

    /g,"

    "],[/
    /g," "],[/

    /g,"
    "]])}function l(e){if(n.isWordContent(e))return e;var t=i.settings.paste_webkit_styles;if(i.settings.paste_remove_styles_if_webkit===!1||"all"==t)return e;if(t&&(t=t.split(/[, ]/)),t){var r=i.dom,o=i.selection.getNode();e=e.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi,function(e,n,i,a){var s=r.parseStyle(i,"span"),l={};if("none"===t)return n+a;for(var c=0;c]+) style="([^"]*)"([^>]*>)/gi,"$1$3");return e=e.replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi,function(e,t,n,r){return t+' style="'+n+'"'+r})}function c(e){i.$("a",e).find("font,u").each(function(e,t){i.dom.remove(t,!0)})}e.webkit&&o(l),e.ie&&(o(s),a(c))}}),r("tinymce/pasteplugin/Plugin",["tinymce/PluginManager","tinymce/pasteplugin/Clipboard","tinymce/pasteplugin/WordFilter","tinymce/pasteplugin/Quirks"],function(e,t,n,r){var i;e.add("paste",function(o){function a(){return i||o.settings.paste_plaintext_inform===!1}function s(){if("text"==c.pasteFormat)c.pasteFormat="html",o.fire("PastePlainTextToggle",{state:!1});else if(c.pasteFormat="text",o.fire("PastePlainTextToggle",{state:!0}),!a()){var e=o.translate("Paste is now in plain text mode. Contents will now be pasted as plain text until you toggle this option off.");o.notificationManager.open({text:e,type:"info"}),i=!0}o.focus()}function l(){var e=this;e.active("text"===c.pasteFormat),o.on("PastePlainTextToggle",function(t){e.active(t.state)})}var c,u=this,d=o.settings;return/(^|[ ,])powerpaste([, ]|$)/.test(d.plugins)&&e.get("powerpaste")?void("undefined"!=typeof console&&console.log&&console.log("PowerPaste is incompatible with Paste plugin! Remove 'paste' from the 'plugins' option.")):(u.clipboard=c=new t(o),u.quirks=new r(o),u.wordFilter=new n(o),o.settings.paste_as_text&&(u.clipboard.pasteFormat="text"),d.paste_preprocess&&o.on("PastePreProcess",function(e){d.paste_preprocess.call(u,u,e)}),d.paste_postprocess&&o.on("PastePostProcess",function(e){d.paste_postprocess.call(u,u,e)}),o.addCommand("mceInsertClipboardContent",function(e,t){t.content&&u.clipboard.pasteHtml(t.content),t.text&&u.clipboard.pasteText(t.text)}),o.settings.paste_block_drop&&o.on("dragend dragover draggesture dragdrop drop drag",function(e){e.preventDefault(),e.stopPropagation()}),o.settings.paste_data_images||o.on("drop",function(e){var t=e.dataTransfer;t&&t.files&&t.files.length>0&&e.preventDefault()}),o.addCommand("mceTogglePlainTextPaste",s),o.addButton("pastetext",{icon:"pastetext",tooltip:"Paste as text",onclick:s,onPostRender:l}),void o.addMenuItem("pastetext",{text:"Paste as text",selectable:!0,active:c.pasteFormat,onclick:s,onPostRender:l}))})}),o(["tinymce/pasteplugin/Utils"])}(window);plugins/table/plugin.min.js000060400000134026152455403670011747 0ustar00!function(e,t){"use strict";function n(e,t){for(var n,r=[],a=0;a9)&&(t.hasChildNodes()||(t.innerHTML='
    '))}var n=function(e){return function(t,n){t&&(n=parseInt(n,10),1===n||0===n?t.removeAttribute(e,1):t.setAttribute(e,n,1))}},r=function(e){return function(t){return parseInt(t.getAttribute(e)||1,10)}};return{setColSpan:n("colSpan"),setRowSpan:n("rowspan"),getColSpan:r("colSpan"),getRowSpan:r("rowSpan"),setSpanVal:function(e,t,r){n(t)(e,r)},getSpanVal:function(e,t){return r(t)(e)},paddCell:t}}),r("tinymce/tableplugin/SplitCols",["tinymce/util/Tools","tinymce/tableplugin/Utils"],function(e,t){var n=function(e,t,n){return e[n]?e[n][t]:null},r=function(e,t,r){var i=n(e,t,r);return i?i.elm:null},i=function(e,t,i,o){var a,s,l=0,c=r(e,t,i);for(a=i;(o>0?a=0)&&(s=n(e,t,a),c===s.elm);a+=o)l++;return l},o=function(e,t,n){for(var r,i=e[n],o=t;o'),!1},"childNodes"),t=v(t,!1),h(t),s(t,"rowSpan",1),s(t,"colSpan",1),i?t.appendChild(i):r.paddCell(t),t}function _(){var e,t=re.createRng();return o(re.select("tr",c),function(e){0===e.cells.length&&re.remove(e)}),0===re.select("tr",c).length?(t.setStartBefore(c),t.setEndBefore(c),ne.setRng(t),void re.remove(c)):(o(re.select("thead,tbody,tfoot",c),function(e){0===e.rows.length&&re.remove(e)}),m(),void(ee&&(e=Z[Math.min(Z.length-1,ee.y)],e&&(ne.select(e[Math.min(e.length-1,ee.x)].elm,!0),ne.collapse(!0)))))}function E(e,t,n,r){var i,o,a,s,l;for(i=Z[t][e].elm.parentNode,a=1;a<=n;a++)if(i=re.getNext(i,"tr")){for(o=e;o>=0;o--)if(l=Z[t+a][o].elm,l.parentNode==i){for(s=1;s<=r;s++)re.insertAfter(S(l),l);break}if(o==-1)for(s=1;s<=r;s++)i.insertBefore(S(i.cells[0]),i.cells[0])}}function T(){o(Z,function(e,t){o(e,function(e,n){var r,i,o;if(C(e)&&(e=e.elm,r=a(e,"colspan"),i=a(e,"rowspan"),r>1||i>1)){for(s(e,"rowSpan",1),s(e,"colSpan",1),o=0;on)&&r.push(e[i]);return r}function A(t){return e.grep(t,function(e){return e.real===!1})}function B(e){for(var t=[],n=0;n1&&(N=1),s(p,"colSpan",w),s(p,"rowSpan",N),f=l;f<=u;f++)for(d=a;d<=c;d++)Z[f]&&Z[f][d]&&(t=Z[f][d].elm,t!=p&&(h=e.grep(t.childNodes),o(h,function(e){p.appendChild(e)}),h.length&&(h=e.grep(p.childNodes),v=0,o(h,function(e){"BR"==e.nodeName&&v++0&&Z[n-1][l]&&(f=Z[n-1][l].elm,p=a(f,"rowSpan"),p>1)){s(f,"rowSpan",p+1);continue}}else if(p=a(r,"rowspan"),p>1){s(r,"rowSpan",p+1);continue}d=S(r),s(d,"colSpan",r.colSpan),u.appendChild(d),i=r}u.hasChildNodes()&&(e?c.parentNode.insertBefore(u,c):re.insertAfter(u,c))}}function I(e,t){t=t||w().length||1;for(var n=0;n1?s(n,"colSpan",t-1):re.remove(n)}),t.push(r))})}),_()}function U(){function e(e){var t,n;o(e.cells,function(e){var n=a(e,"rowSpan");n>1&&(s(e,"rowSpan",n-1),t=q(e),E(t.x,t.y,1,1))}),t=q(e.cells[0]),o(Z[t.y],function(e){var t;e=e.elm,e!=n&&(t=a(e,"rowSpan"),t<=1?re.remove(e):s(e,"rowSpan",t-1),n=e)})}var t;t=w(),f(c)&&t.length==c.rows.length||(o(t.reverse(),function(t){e(t)}),_())}function V(){var e=w();if(!f(c)||e.length!=c.rows.length)return re.remove(e),_(),e}function $(){var e=w();return o(e,function(t,n){e[n]=v(t,!0)}),e}function j(t,n){var r,a,l;t&&(r=i.splitAt(Z,ee.x,ee.y,n),a=r.row,e.each(r.cells,h),l=e.map(t,function(e){return e.cloneNode(!0)}),n||l.reverse(),o(l,function(e){var t,r,i=e.cells.length;for(g(e),t=0;te&&(e=i),r>t&&(t=r),n.real&&(o=n.colspan-1,a=n.rowspan-1,o&&i+o>e&&(e=i+o),a&&r+a>t&&(t=r+a)))})}),{x:e,y:t}}function K(e){var t,n,r,i,o,a,s,l,c,u;if(te=q(e),ee&&te){for(t=Math.min(ee.x,te.x),n=Math.min(ee.y,te.y),r=Math.max(ee.x,te.x),i=Math.max(ee.y,te.y),o=r,a=i,u=n;u<=i;u++)for(c=t;c<=r;c++)e=Z[u][c],e.real&&(s=e.colspan-1,l=e.rowspan-1,s&&c+s>o&&(o=c+s),l&&u+l>a&&(a=u+l));for(d(),u=n;u<=a;u++)for(c=t;c<=o;c++)Z[u][c]&&re.setAttrib(Z[u][c].elm,"data-mce-selected","1")}}function G(e,t){var n,r,i;n=q(e),r=n.y*Q+n.x;do{if(r+=t,i=b(r%Q,Math.floor(r/Q)),!i)break;if(i.elm!=e)return ne.select(i.elm,!0),re.isEmpty(i.elm)&&ne.collapse(!0),!0}while(i.elm==e);return!1}function J(t){if(ee){var n=i.splitAt(Z,ee.x,ee.y,t);e.each(n.cells,h)}}var Z,Q,ee,te,ne=l.selection,re=ne.dom;c=c||re.getParent(ne.getStart(!0),"table"),m(),u=u||re.getParent(ne.getStart(!0),"th,td"),u&&(ee=q(u),te=X(),u=b(ee.x,ee.y)),e.extend(this,{deleteTable:k,split:T,merge:M,insertRow:L,insertRows:I,insertCol:O,insertCols:H,splitCols:J,deleteCols:W,deleteRows:U,cutRows:V,copyRows:$,pasteRows:j,getPos:q,setStartCell:Y,setEndCell:K,moveRelIdx:G,refresh:m})}}),r("tinymce/tableplugin/Quirks",["tinymce/util/VK","tinymce/util/Delay","tinymce/Env","tinymce/util/Tools","tinymce/tableplugin/Utils"],function(e,t,n,r,i){var o=r.each,a=i.getSpanVal;return function(s){function l(){function n(n){function r(e,t){var r=e?"previousSibling":"nextSibling",o=s.dom.getParent(t,"tr"),a=o[r];if(a)return v(s,t,a,e),n.preventDefault(),!0;var l=s.dom.getParent(o,"table"),d=o.parentNode,f=d.nodeName.toLowerCase();if("tbody"===f||f===(e?"tfoot":"thead")){var p=i(e,l,d,"tbody");if(null!==p)return c(e,p,t)}return u(e,o,r,l)}function i(e,t,n,r){var i=s.dom.select(">"+r,t),o=i.indexOf(n);if(e&&0===o||!e&&o===i.length-1)return l(e,t);if(o===-1){var a="thead"===n.tagName.toLowerCase()?0:i.length-1;return i[a]}return i[o+(e?-1:1)]}function l(e,t){var n=e?"thead":"tfoot",r=s.dom.select(">"+n,t);return 0!==r.length?r[0]:null}function c(e,t,r){var i=d(t,e);return i&&v(s,r,i,e),n.preventDefault(),!0}function u(e,t,i,o){var a=o[i];if(a)return f(a),!0;var l=s.dom.getParent(o,"td,th");if(l)return r(e,l,n);var c=d(t,!e);return f(c),n.preventDefault(),!1}function d(e,t){var n=e&&e[t?"lastChild":"firstChild"];return n&&"BR"===n.nodeName?s.dom.getParent(n,"td,th"):n}function f(e){s.selection.setCursorLocation(e,0)}function p(){return x==e.UP||x==e.DOWN}function m(e){var t=e.selection.getNode(),n=e.dom.getParent(t,"tr");return null!==n}function g(e){for(var t=0,n=e;n.previousSibling;)n=n.previousSibling,t+=a(n,"colspan");return t}function h(e,t){var n=0,r=0;return o(e.children,function(e,i){if(n+=a(e,"colspan"),r=i,n>t)return!1}),r}function v(e,t,n,r){var i=g(s.dom.getParent(t,"td,th")),o=h(n,i),a=n.childNodes[o],l=d(a,r);f(l||a)}function b(e){var t=s.selection.getNode(),n=s.dom.getParent(t,"td,th"),r=s.dom.getParent(e,"td,th");return n&&n!==r&&y(n,r)}function y(e,t){return s.dom.getParent(e,"TABLE")===s.dom.getParent(t,"TABLE")}var x=n.keyCode;if(p()&&m(s)){var C=s.selection.getNode();t.setEditorTimeout(s,function(){b(C)&&r(!n.shiftKey&&x===e.UP,C,n)},0)}}s.on("KeyDown",function(e){n(e)})}function c(){function e(e,t){var n,r=t.ownerDocument,i=r.createRange();return i.setStartBefore(t),i.setEnd(e.endContainer,e.endOffset),n=r.createElement("body"),n.appendChild(i.cloneContents()),0===n.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi,"-").replace(/<[^>]+>/g,"").length}s.on("KeyDown",function(t){var n,r,i=s.dom;37!=t.keyCode&&38!=t.keyCode||(n=s.selection.getRng(),r=i.getParent(n.startContainer,"table"),r&&s.getBody().firstChild==r&&e(n,r)&&(n=i.createRng(),n.setStartBefore(r),n.setEndBefore(r),s.selection.setRng(n),t.preventDefault()))})}function u(){s.on("KeyDown SetContent VisualAid",function(){var e;for(e=s.getBody().lastChild;e;e=e.previousSibling)if(3==e.nodeType){if(e.nodeValue.length>0)break}else if(1==e.nodeType&&("BR"==e.tagName||!e.getAttribute("data-mce-bogus")))break;e&&"TABLE"==e.nodeName&&(s.settings.forced_root_block?s.dom.add(s.getBody(),s.settings.forced_root_block,s.settings.forced_root_block_attrs,n.ie&&n.ie<10?" ":'
    '):s.dom.add(s.getBody(),"br",{"data-mce-bogus":"1"}))}),s.on("PreProcess",function(e){var t=e.node.lastChild;t&&("BR"==t.nodeName||1==t.childNodes.length&&("BR"==t.firstChild.nodeName||"\xa0"==t.firstChild.nodeValue))&&t.previousSibling&&"TABLE"==t.previousSibling.nodeName&&s.dom.remove(t)})}function d(){function e(e,t,n,r){var i,o,a,s=3,l=e.dom.getParent(t.startContainer,"TABLE");return l&&(i=l.parentNode),o=t.startContainer.nodeType==s&&0===t.startOffset&&0===t.endOffset&&r&&("TR"==n.nodeName||n==i),a=("TD"==n.nodeName||"TH"==n.nodeName)&&!r,o||a}function t(){var t=s.selection.getRng(),n=s.selection.getNode(),r=s.dom.getParent(t.startContainer,"TD,TH");if(e(s,t,n,r)){r||(r=n);for(var i=r.lastChild;i.lastChild;)i=i.lastChild;3==i.nodeType&&(t.setEnd(i,i.data.length),s.selection.setRng(t))}}s.on("KeyDown",function(){t()}),s.on("MouseDown",function(e){2!=e.button&&t()})}function f(){function t(e){s.selection.select(e,!0),s.selection.collapse(!0)}function n(e){s.$(e).empty(),i.paddCell(e)}s.on("keydown",function(i){if((i.keyCode==e.DELETE||i.keyCode==e.BACKSPACE)&&!i.isDefaultPrevented()){var o,a,l,c;if(o=s.dom.getParent(s.selection.getStart(),"table")){if(a=s.dom.select("td,th",o),l=r.grep(a,function(e){return!!s.dom.getAttrib(e,"data-mce-selected")}),0===l.length)return c=s.dom.getParent(s.selection.getStart(),"td,th"),void(s.selection.isCollapsed()&&c&&s.dom.isEmpty(c)&&(i.preventDefault(),n(c),t(c)));i.preventDefault(),s.undoManager.transact(function(){a.length==l.length?s.execCommand("mceTableDelete"):(r.each(l,n),t(l[0]))})}}})}function p(){var t=function(e){return e&&"CAPTION"==e.nodeName&&"TABLE"==e.parentNode.nodeName},r=function(e,t){var n=s.selection.getRng(),r=e.ownerDocument.createTextNode("\xa0");n.startOffset?e.insertBefore(r,e.firstChild):e.appendChild(r),t&&(s.selection.select(r,!0),s.selection.collapse(!0))},i=function(t){return(t.keyCode==e.DELETE||t.keyCode==e.BACKSPACE)&&!t.isDefaultPrevented()},o=function(e){return e.firstChild===e.lastChild&&e.firstChild},a=function(e){return e&&3===e.nodeType},l=function(e){var t=o(e);return a(t)&&1===t.data.length?t.data:null},c=function(e){var t=o(e),n=l(e);return t&&!a(t)||n&&!d(n)},u=function(e){return s.dom.isEmpty(e)||d(l(e))},d=function(e){return"\xa0"===e};s.on("keydown",function(e){if(i(e)){var o=s.dom.getParent(s.selection.getStart(),"caption");t(o)&&(n.ie&&(s.selection.isCollapsed()?c(o)&&r(o):(s.undoManager.transact(function(){s.execCommand("Delete"),u(o)&&r(o,!0)}),e.preventDefault())),u(o)&&e.preventDefault())}})}f(),p(),n.webkit&&(l(),d()),n.gecko&&(c(),u()),n.ie>9&&(c(),u())}}),r("tinymce/tableplugin/CellSelection",["tinymce/tableplugin/TableGrid","tinymce/dom/TreeWalker","tinymce/util/Tools"],function(e,t,n){return function(r,i){function o(e){r.getBody().style.webkitUserSelect="",(e||g)&&(r.$("td[data-mce-selected],th[data-mce-selected]").removeAttr("data-mce-selected"),g=!1)}function a(e,t){return!(!e||!t)&&e===m.getParent(t,"table")}function s(t){var n,o,s=t.target;if(!f&&!p&&s!==d&&(d=s,u&&c)){if(o=m.getParent(s,"td,th"),a(u,o)||(o=m.getParent(u,"td,th")),c===o&&!g)return;if(i(!0),a(u,o)){t.preventDefault(),l||(l=new e(r,u,c),r.getBody().style.webkitUserSelect="none"),l.setEndCell(o),g=!0,n=r.selection.getSel();try{n.removeAllRanges?n.removeAllRanges():n.empty()}catch(e){}}}}var l,c,u,d,f,p,m=r.dom,g=!0,h=function(){c=l=u=d=null,i(!1)};return r.on("SelectionChange",function(e){g&&e.stopImmediatePropagation()},!0),r.on("MouseDown",function(e){2==e.button||f||p||(o(),c=m.getParent(e.target,"td,th"),u=m.getParent(c,"table"))}),r.on("mouseover",s),r.on("remove",function(){m.unbind(r.getDoc(),"mouseover",s),o()}),r.on("MouseUp",function(){function e(e,r){var o=new t(e,e);do{if(3==e.nodeType&&0!==n.trim(e.nodeValue).length)return void(r?i.setStart(e,0):i.setEnd(e,e.nodeValue.length));if("BR"==e.nodeName)return void(r?i.setStartBefore(e):i.setEndBefore(e))}while(e=r?o.next():o.prev())}var i,o,a,s,u,d=r.selection;if(c){if(l&&(r.getBody().style.webkitUserSelect=""),o=m.select("td[data-mce-selected],th[data-mce-selected]"),o.length>0){i=m.createRng(),s=o[0],i.setStartBefore(s),i.setEndAfter(s),e(s,1),a=new t(s,m.getParent(o[0],"table"));do if("TD"==s.nodeName||"TH"==s.nodeName){if(!m.getAttrib(s,"data-mce-selected"))break;u=s}while(s=a.next());e(u),d.setRng(i)}r.nodeChanged(),h()}}),r.on("KeyUp Drop SetContent",function(e){o("setcontent"==e.type),h(),f=!1}),r.on("ObjectResizeStart ObjectResized",function(e){f="objectresized"!=e.type}),r.on("dragstart",function(){p=!0}),r.on("drop dragend",function(){p=!1}),{clear:o}}}),r("tinymce/tableplugin/Dialogs",["tinymce/util/Tools","tinymce/Env"],function(e,t){var n=e.each;return function(r){function i(){var e=r.settings.color_picker_callback;if(e)return function(){var t=this;e.call(r,function(e){t.value(e).fire("change")},t.value())}}function o(e){return{title:"Advanced",type:"form",defaults:{onchange:function(){d(e,this.parents().reverse()[0],"style"==this.name())}},items:[{label:"Style",name:"style",type:"textbox"},{type:"form",padding:0,formItemDefaults:{layout:"grid",alignH:["start","right"]},defaults:{size:7},items:[{label:"Border color",type:"colorbox",name:"borderColor",onaction:i()},{label:"Background color",type:"colorbox",name:"backgroundColor",onaction:i()}]}]}}function a(e){return e?e.replace(/px$/,""):""}function s(e){return/^[0-9]+$/.test(e)&&(e+="px"),e}function l(e){n("left center right".split(" "),function(t){r.formatter.remove("align"+t,{},e)})}function c(e){n("top middle bottom".split(" "),function(t){r.formatter.remove("valign"+t,{},e)})}function u(t,n,r){function i(t,r){return r=r||[],e.each(t,function(e){var t={text:e.text||e.title};e.menu?t.menu=i(e.menu):(t.value=e.value,n&&n(t)),r.push(t)}),r}return i(t,r||[])}function d(e,t,n){var r=t.toJSON(),i=e.parseStyle(r.style);n?(t.find("#borderColor").value(i["border-color"]||"")[0].fire("change"),t.find("#backgroundColor").value(i["background-color"]||"")[0].fire("change")):(i["border-color"]=r.borderColor,i["background-color"]=r.backgroundColor),t.find("#style").value(e.serializeStyle(e.parseStyle(e.serializeStyle(i))))}function f(e,t,n){var r=e.parseStyle(e.getAttrib(n,"style"));r["border-color"]&&(t.borderColor=r["border-color"]),r["background-color"]&&(t.backgroundColor=r["background-color"]),t.style=e.serializeStyle(r)}function p(e,t,r){var i=e.parseStyle(e.getAttrib(t,"style"));n(r,function(e){i[e.name]=e.value}),e.setAttrib(t,"style",e.serializeStyle(e.parseStyle(e.serializeStyle(i))))}var m=this;m.tableProps=function(){m.table(!0)},m.table=function(i){function c(){function n(e,t,r){if("TD"===e.tagName||"TH"===e.tagName)C.setStyle(e,t,r);else if(e.children)for(var i=0;i',g.insertBefore(i,g.firstChild)),l(g),w.align&&r.formatter.apply("align"+w.align,{},g),r.focus(),r.addVisual()})}function m(e,t){function n(e,n){for(var r=0;r1?g={width:"",height:"",scope:"","class":"",align:"",style:"",type:m.nodeName.toLowerCase()}:(g={width:a(v.getStyle(m,"width")||v.getAttrib(m,"width")),height:a(v.getStyle(m,"height")||v.getAttrib(m,"height")),scope:v.getAttrib(m,"scope"),"class":v.getAttrib(m,"class")},g.type=m.nodeName.toLowerCase(),n("left center right".split(" "),function(e){r.formatter.matchNode(m,"align"+e)&&(g.align=e)}),n("top middle bottom".split(" "),function(e){r.formatter.matchNode(m,"valign"+e)&&(g.valign=e)}),f(v,g,m)),r.settings.table_cell_class_list&&(h={name:"class",type:"listbox",label:"Class",values:u(r.settings.table_cell_class_list,function(e){e.value&&(e.textStyle=function(){return r.formatter.getCssText({block:"td",classes:[e.value]})})})});var y={type:"form",layout:"flex",direction:"column",labelGapCalc:"children",padding:0,items:[{type:"form",layout:"grid",columns:2,labelGapCalc:!1,padding:0,defaults:{type:"textbox",maxWidth:50},items:[{label:"Width",name:"width"},{label:"Height",name:"height"},{label:"Cell type",name:"type",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"Cell",value:"td"},{text:"Header cell",value:"th"}]},{label:"Scope",name:"scope",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Row",value:"row"},{text:"Column",value:"col"},{text:"Row group",value:"rowgroup"},{text:"Column group",value:"colgroup"}]},{label:"H Align",name:"align",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"V Align",name:"valign",type:"listbox",text:"None",minWidth:90,maxWidth:null,values:[{text:"None",value:""},{text:"Top",value:"top"},{text:"Middle",value:"middle"},{text:"Bottom",value:"bottom"}]}]},h]};r.settings.table_cell_advtab!==!1?r.windowManager.open({title:"Cell properties",bodyType:"tabpanel",data:g,body:[{title:"General",type:"form",items:y},o(v)],onsubmit:p}):r.windowManager.open({title:"Cell properties",data:g,body:y,onsubmit:p})}},m.row=function(){function t(e,t,n){(1===x.length||n)&&y.setAttrib(e,t,n)}function i(e,t,n){(1===x.length||n)&&y.setStyle(e,t,n)}function c(){var o,a,c;d(y,this),v=e.extend(v,this.toJSON()),r.undoManager.transact(function(){var e=v.type;n(x,function(n){t(n,"scope",v.scope),t(n,"style",v.style),t(n,"class",v["class"]),i(n,"height",s(v.height)),e!==n.parentNode.nodeName.toLowerCase()&&(o=y.getParent(n,"table"),a=n.parentNode,c=y.select(e,o)[0],c||(c=y.create(e),o.firstChild?o.insertBefore(c,o.firstChild):o.appendChild(c)),c.appendChild(n),a.hasChildNodes()||y.remove(a)),1===x.length&&l(n),v.align&&r.formatter.apply("align"+v.align,{},n)}),r.focus()})}var p,m,g,h,v,b,y=r.dom,x=[];p=r.dom.getParent(r.selection.getStart(),"table"),m=r.dom.getParent(r.selection.getStart(),"td,th"),n(p.rows,function(e){n(e.cells,function(t){if(y.getAttrib(t,"data-mce-selected")||t==m)return x.push(e),!1})}),g=x[0],g&&(x.length>1?v={height:"",scope:"","class":"",align:"",type:g.parentNode.nodeName.toLowerCase()}:(v={height:a(y.getStyle(g,"height")||y.getAttrib(g,"height")),scope:y.getAttrib(g,"scope"),"class":y.getAttrib(g,"class")},v.type=g.parentNode.nodeName.toLowerCase(),n("left center right".split(" "),function(e){r.formatter.matchNode(g,"align"+e)&&(v.align=e)}),f(y,v,g)),r.settings.table_row_class_list&&(h={name:"class",type:"listbox",label:"Class",values:u(r.settings.table_row_class_list,function(e){e.value&&(e.textStyle=function(){return r.formatter.getCssText({block:"tr",classes:[e.value]})})})}),b={type:"form",columns:2,padding:0,defaults:{type:"textbox"},items:[{type:"listbox",name:"type",label:"Row type",text:"Header",maxWidth:null,values:[{text:"Header",value:"thead"},{text:"Body",value:"tbody"},{text:"Footer",value:"tfoot"}]},{type:"listbox",name:"align",label:"Alignment",text:"None",maxWidth:null,values:[{text:"None",value:""},{text:"Left",value:"left"},{text:"Center",value:"center"},{text:"Right",value:"right"}]},{label:"Height",name:"height"},h]},r.settings.table_row_advtab!==!1?r.windowManager.open({title:"Row properties",data:v,bodyType:"tabpanel",body:[{title:"General",type:"form",items:b},o(y)],onsubmit:c}):r.windowManager.open({title:"Row properties",data:v,body:b,onsubmit:c}))}}}),r("tinymce/tableplugin/ResizeBars",["tinymce/util/Tools","tinymce/util/VK"],function(e,n){var r;return function(i){function o(e,t){return{index:e,y:i.dom.getPos(t).y}}function a(e,t){return{index:e,y:i.dom.getPos(t).y+t.offsetHeight}}function s(e,t){return{index:e,x:i.dom.getPos(t).x}}function l(e,t){return{index:e,x:i.dom.getPos(t).x+t.offsetWidth}}function c(){var e=i.getBody().dir;return"rtl"===e}function u(){return i.inline}function d(){return u?i.getBody().ownerDocument.body:i.getBody()}function f(e,t){return c()?l(e,t):s(e,t)}function p(e,t){return c()?s(e,t):l(e,t)}function m(e,t){return g(e,"width")/g(t,"width")*100}function g(e,t){var n=i.dom.getStyle(e,t,!0),r=parseInt(n,10);return r}function h(e){var t=g(e,"width"),n=g(e.parentElement,"width");return t/n*100}function v(e,t){var n=g(e,"width");return t/n*100}function b(e,t){var n=g(e.parentElement,"width");return t/n*100}function y(e,t,n){for(var r=[],i=1;i0?y(o,a,r):[],u=s.length>0?y(f,p,s):[];N(c,e.offsetWidth,l),k(u,e.offsetHeight,l)}function P(e,t,n,r){if(t<0||t>=e.length-1)return"";var i=e[t];if(i)i={value:i,delta:0};else for(var o=e.slice(0,t).reverse(),a=0;a0?i:o}function L(t,n,r){for(var i=R(t),o=e.map(i,function(e){return f(e.colIndex,e.element).x}),a=[],s=0;s1?P(o,s):M(i[s].element,n,r);c=c?c:we,a.push(c)}return a}function I(e){var t=D(e,"height"),n=parseInt(t,10);return V(t)&&(n=0),!isNaN(n)&&n>0?n:g(e,"height")}function O(t){for(var n=A(t),r=e.map(n,function(e){return o(e.rowIndex,e.element).y}),i=[],a=0;a1?P(r,a):I(n[a].element);l=l?l:Ne,i.push(l)}return i}function H(t,n,r,i,o){function a(t){return e.map(t,function(){return 0})}function s(){var e;if(o)e=[100-d[0]];else{var t=Math.max(i,d[0]+r);e=[t-d[0]]}return e}function l(e,t){var n,o=a(d.slice(0,e)),s=a(d.slice(t+1));if(r>=0){var l=Math.max(i,d[t]-r);n=o.concat([r,l-d[t]]).concat(s)}else{var c=Math.max(i,d[e]+r),u=d[e]-c;n=o.concat([c-d[e],u]).concat(s)}return n}function c(e,t){var n,o=a(d.slice(0,t));if(r>=0)n=o.concat([r]);else{var s=Math.max(i,d[t]+r);n=o.concat([s-d[t]])}return n}var u,d=t.slice(0);return u=0===t.length?[]:1===t.length?s():0===n?l(0,1):n>0&&n=1&&j(r,t,e)}else if(ee(ce)){var a=parseInt(i.dom.getAttrib(ce,he),10),s=i.dom.getPos(ce).y;e=parseInt(i.dom.getAttrib(ce,ge),10),t=s-a,Math.abs(t)>=1&&q(r,t,e)}C(r),i.nodeChanged()}}function Z(e,t){le=le?le:K(),se=!0,i.dom.addClass(e,ke),ce=e,G(le,t),i.dom.add(d(),le)}function Q(e){return i.dom.hasClass(e,ve)}function ee(e){return i.dom.hasClass(e,pe)}function te(e){ue=ue!==t?ue:e.clientX;var n=e.clientX-ue;ue=e.clientX;var r=i.dom.getPos(ce).x;i.dom.setStyle(ce,"left",r+n+"px")}function ne(e){de=de!==t?de:e.clientY;var n=e.clientY-de;de=e.clientY;var r=i.dom.getPos(ce).y;i.dom.setStyle(ce,"top",r+n+"px")}function re(e){ue=t,Z(e,te)}function ie(e){de=t,Z(e,ne)}function oe(e){var t=e.target,n=i.getBody();if(i.$.contains(n,r)||r===n)if(Q(t)){e.preventDefault();var o=i.dom.getPos(t).x;i.dom.setAttrib(t,xe,o),re(t)}else if(ee(t)){e.preventDefault();var a=i.dom.getPos(t).y;i.dom.setAttrib(t,he,a),ie(t)}else x()}var ae,se,le,ce,ue,de,fe="mce-resize-bar",pe="mce-resize-bar-row",me="row-resize",ge="data-row",he="data-initial-top",ve="mce-resize-bar-col",be="col-resize",ye="data-col",xe="data-initial-left",Ce=4,we=10,Ne=10,ke="mce-resize-bar-dragging",Se=new RegExp(/(\d+(\.\d+)?%)/),_e=new RegExp(/px|em/);return i.on("init",function(){i.dom.bind(d(),"mousedown",oe)}),i.on("ObjectResized",function(t){var n=t.target;if("TABLE"===n.nodeName){var r=[];e.each(n.rows,function(t){e.each(t.cells,function(e){var t=i.dom.getStyle(e,"width",!0);r.push({cell:e,width:t})})}),e.each(r,function(e){i.dom.setStyle(e.cell,"width",e.width),i.dom.setAttrib(e.cell,"width",null)})}}),i.on("mouseover",function(e){if(!se){var t=i.dom.getParent(e.target,"table");("TABLE"===e.target.nodeName||t)&&(r=t,C(t))}}),i.on("keydown",function(e){switch(e.keyCode){case n.LEFT:case n.RIGHT:case n.UP:case n.DOWN:x()}}),i.on("remove",function(){x(),i.dom.unbind(d(),"mousedown",oe)}),{adjustWidth:j,adjustHeight:q,clearBars:x,drawBars:B,determineDeltas:H,getTableGrid:_,getTableDetails:S,getWidths:L,getPixelHeights:O,isPercentageBasedSize:V,isPixelBasedSize:$,recalculateWidths:z,recalculateCellHeights:W,recalculateRowHeights:U}}}),r("tinymce/tableplugin/Plugin",["tinymce/tableplugin/TableGrid","tinymce/tableplugin/Quirks","tinymce/tableplugin/CellSelection","tinymce/tableplugin/Dialogs","tinymce/tableplugin/ResizeBars","tinymce/util/Tools","tinymce/dom/TreeWalker","tinymce/Env","tinymce/PluginManager"],function(e,t,n,r,i,o,a,s,l){function c(o){function a(e){return function(){o.execCommand(e)}}function l(e,t){var n,r,i,a;for(i='
    ',n=0;n",r=0;r"+(s.ie&&s.ie<10?" ":"
    ")+"";i+=""}return i+="
    ",o.undoManager.transact(function(){o.insertContent(i),a=o.dom.get("__mce"),o.dom.setAttrib(a,"id",null),o.$("tr",a).each(function(e,t){o.fire("newrow",{node:t}),o.$("th,td",t).each(function(e,t){o.fire("newcell",{node:t})})}),o.dom.setAttribs(a,o.settings.table_default_attributes||{}),o.dom.setStyles(a,o.settings.table_default_styles||{})}),a}function c(e,t,n){function r(){var r,i,a,s={},l=0;i=o.dom.select("td[data-mce-selected],th[data-mce-selected]"),r=i[0],r||(r=o.selection.getStart()),n&&i.length>0?(u(i,function(e){return s[e.parentNode.parentNode.nodeName]=1}),u(s,function(e){l+=e}),a=1!==l):a=!o.dom.getParent(r,t),e.disabled(a),o.selection.selectorChanged(t,function(t){e.disabled(!t)})}o.initialized?r():o.on("init",r)}function d(){c(this,"table")}function f(){c(this,"td,th")}function p(){c(this,"td,th",!0)}function m(){var e="";e='';for(var t=0;t<10;t++){e+="";for(var n=0;n<10;n++)e+='';e+=""}return e+="
    ",e+=''}function g(e,t,n){var r,i,a,s,l,c=n.getEl().getElementsByTagName("table")[0],u=n.isRtl()||"tl-tr"==n.parent().rel;for(c.nextSibling.innerHTML=e+1+" x "+(t+1),u&&(e=9-e),i=0;i<10;i++)for(r=0;r<10;r++)s=c.rows[i].childNodes[r].firstChild,l=(u?r>=e:r<=e)&&i<=t,o.dom.toggleClass(s,"mce-active",l),l&&(a=s);return a.parentNode}function h(){o.addButton("tableprops",{title:"Table properties",onclick:k.tableProps,icon:"table"}),o.addButton("tabledelete",{title:"Delete table",onclick:a("mceTableDelete")}),o.addButton("tablecellprops",{title:"Cell properties",onclick:a("mceTableCellProps")}),o.addButton("tablemergecells",{title:"Merge cells",onclick:a("mceTableMergeCells")}),o.addButton("tablesplitcells",{title:"Split cell",onclick:a("mceTableSplitCells")}),o.addButton("tableinsertrowbefore",{title:"Insert row before",onclick:a("mceTableInsertRowBefore")}),o.addButton("tableinsertrowafter",{title:"Insert row after",onclick:a("mceTableInsertRowAfter")}),o.addButton("tabledeleterow",{title:"Delete row",onclick:a("mceTableDeleteRow")}),o.addButton("tablerowprops",{title:"Row properties",onclick:a("mceTableRowProps")}),o.addButton("tablecutrow",{title:"Cut row",onclick:a("mceTableCutRow")}),o.addButton("tablecopyrow",{title:"Copy row",onclick:a("mceTableCopyRow")}),o.addButton("tablepasterowbefore",{title:"Paste row before",onclick:a("mceTablePasteRowBefore")}),o.addButton("tablepasterowafter",{title:"Paste row after",onclick:a("mceTablePasteRowAfter")}),o.addButton("tableinsertcolbefore",{title:"Insert column before",onclick:a("mceTableInsertColBefore")}),o.addButton("tableinsertcolafter",{title:"Insert column after",onclick:a("mceTableInsertColAfter")}),o.addButton("tabledeletecol",{title:"Delete column",onclick:a("mceTableDeleteCol")})}function v(e){var t=o.dom.is(e,"table")&&o.getBody().contains(e);return t}function b(){var e=o.settings.table_toolbar;""!==e&&e!==!1&&(e||(e="tableprops tabledelete | tableinsertrowbefore tableinsertrowafter tabledeleterow | tableinsertcolbefore tableinsertcolafter tabledeletecol"),o.addContextToolbar(v,e))}function y(){return C}function x(e){C=e}var C,w,N=this,k=new r(o);!o.settings.object_resizing||o.settings.table_resize_bars===!1||o.settings.object_resizing!==!0&&"table"!==o.settings.object_resizing||(w=i(o)),o.settings.table_grid===!1?o.addMenuItem("inserttable",{text:"Table",icon:"table",context:"table",onclick:k.table}):o.addMenuItem("inserttable",{text:"Table",icon:"table",context:"table",ariaHideMenu:!0,onclick:function(e){e.aria&&(this.parent().hideAll(),e.stopImmediatePropagation(),k.table())},onshow:function(){g(0,0,this.menu.items()[0])},onhide:function(){var e=this.menu.items()[0].getEl().getElementsByTagName("a");o.dom.removeClass(e,"mce-active"),o.dom.addClass(e[0],"mce-active")},menu:[{type:"container",html:m(),onPostRender:function(){this.lastX=this.lastY=0},onmousemove:function(e){var t,n,r=e.target;"A"==r.tagName.toUpperCase()&&(t=parseInt(r.getAttribute("data-mce-x"),10),n=parseInt(r.getAttribute("data-mce-y"),10),(this.isRtl()||"tl-tr"==this.parent().rel)&&(t=9-t),t===this.lastX&&n===this.lastY||(g(t,n,e.control),this.lastX=t,this.lastY=n))},onclick:function(e){var t=this;"A"==e.target.tagName.toUpperCase()&&(e.preventDefault(),e.stopPropagation(),t.parent().cancel(),o.undoManager.transact(function(){l(t.lastX+1,t.lastY+1)}),o.addVisual())}}]}),o.addMenuItem("tableprops",{text:"Table properties",context:"table",onPostRender:d,onclick:k.tableProps}),o.addMenuItem("deletetable",{text:"Delete table",context:"table",onPostRender:d,cmd:"mceTableDelete"}),o.addMenuItem("cell",{separator:"before",text:"Cell",context:"table",menu:[{text:"Cell properties",onclick:a("mceTableCellProps"),onPostRender:f},{text:"Merge cells",onclick:a("mceTableMergeCells"),onPostRender:p},{text:"Split cell",onclick:a("mceTableSplitCells"),onPostRender:f}]}),o.addMenuItem("row",{text:"Row",context:"table",menu:[{text:"Insert row before",onclick:a("mceTableInsertRowBefore"),onPostRender:f},{text:"Insert row after",onclick:a("mceTableInsertRowAfter"),onPostRender:f},{text:"Delete row",onclick:a("mceTableDeleteRow"),onPostRender:f},{text:"Row properties",onclick:a("mceTableRowProps"),onPostRender:f},{text:"-"},{text:"Cut row",onclick:a("mceTableCutRow"),onPostRender:f},{text:"Copy row",onclick:a("mceTableCopyRow"),onPostRender:f},{text:"Paste row before",onclick:a("mceTablePasteRowBefore"),onPostRender:f},{text:"Paste row after",onclick:a("mceTablePasteRowAfter"),onPostRender:f}]}),o.addMenuItem("column",{text:"Column",context:"table",menu:[{text:"Insert column before",onclick:a("mceTableInsertColBefore"),onPostRender:f},{text:"Insert column after",onclick:a("mceTableInsertColAfter"),onPostRender:f},{text:"Delete column",onclick:a("mceTableDeleteCol"),onPostRender:f}]});var S=[];u("inserttable tableprops deletetable | cell row column".split(" "),function(e){"|"==e?S.push({text:"-"}):S.push(o.menuItems[e])}),o.addButton("table",{type:"menubutton",title:"Table",menu:S}),s.isIE||o.on("click",function(e){e=e.target,"TABLE"===e.nodeName&&(o.selection.select(e),o.nodeChanged())}),N.quirks=new t(o),o.on("Init",function(){N.cellSelection=new n(o,function(e){e&&w&&w.clearBars()}),N.resizeBars=w}),o.on("PreInit",function(){o.serializer.addAttributeFilter("data-mce-cell-padding,data-mce-border,data-mce-border-color",function(e,t){for(var n=e.length;n--;)e[n].attr(t,null)})}),u({mceTableSplitCells:function(e){e.split()},mceTableMergeCells:function(e){var t;t=o.dom.getParent(o.selection.getStart(),"th,td"),o.dom.select("td[data-mce-selected],th[data-mce-selected]").length?e.merge():k.merge(e,t)},mceTableInsertRowBefore:function(e){e.insertRows(!0)},mceTableInsertRowAfter:function(e){e.insertRows()},mceTableInsertColBefore:function(e){e.insertCols(!0)},mceTableInsertColAfter:function(e){e.insertCols()},mceTableDeleteCol:function(e){e.deleteCols()},mceTableDeleteRow:function(e){e.deleteRows()},mceTableCutRow:function(e){C=e.cutRows()},mceTableCopyRow:function(e){C=e.copyRows()},mceTablePasteRowBefore:function(e){e.pasteRows(C,!0)},mceTablePasteRowAfter:function(e){e.pasteRows(C)},mceSplitColsBefore:function(e){e.splitCols(!0)},mceSplitColsAfter:function(e){e.splitCols(!1)},mceTableDelete:function(e){w&&w.clearBars(),e.deleteTable()}},function(t,n){o.addCommand(n,function(){var n=new e(o);n&&(t(n),o.execCommand("mceRepaint"),N.cellSelection.clear())})}),u({mceInsertTable:k.table,mceTableProps:function(){k.table(!0)},mceTableRowProps:k.row,mceTableCellProps:k.cell},function(e,t){o.addCommand(t,function(t,n){e(n)})}),h(),b(),o.settings.table_tab_navigation!==!1&&o.on("keydown",function(t){var n,r,i;9==t.keyCode&&(n=o.dom.getParent(o.selection.getStart(),"th,td"),n&&(t.preventDefault(),r=new e(o),i=t.shiftKey?-1:1,o.undoManager.transact(function(){!r.moveRelIdx(n,i)&&i>0&&(r.insertRow(),r.refresh(),r.moveRelIdx(n,i))})))}),N.insertTable=l,N.setClipboardRows=x,N.getClipboardRows=y}var u=o.each;l.add("table",c)})}(window);plugins/layer/plugin.min.js000060400000005447152455403670012000 0ustar00tinymce.PluginManager.add("layer",function(a){function b(a){do if(a.className&&a.className.indexOf("mceItemLayer")!=-1)return a;while(a=a.parentNode)}function c(b){var c=a.dom;tinymce.each(c.select("div,p",b),function(a){/^(absolute|relative|fixed)$/i.test(a.style.position)&&(a.hasVisual?c.addClass(a,"mceItemVisualAid"):c.removeClass(a,"mceItemVisualAid"),c.addClass(a,"mceItemLayer"))})}function d(c){var d,e,f=[],g=b(a.selection.getNode()),h=-1,i=-1;for(e=[],tinymce.walk(a.getBody(),function(a){1==a.nodeType&&/^(absolute|relative|static)$/i.test(a.style.position)&&e.push(a)},"childNodes"),d=0;d-1?(e[h].style.zIndex=f[i],e[i].style.zIndex=f[h]):f[h]>0&&(e[h].style.zIndex=f[h]-1)}else{for(d=0;df[h]){i=d;break}i>-1?(e[h].style.zIndex=f[i],e[i].style.zIndex=f[h]):e[h].style.zIndex=f[h]+1}a.execCommand("mceRepaint")}function e(){var b=a.dom,c=b.getPos(b.getParent(a.selection.getNode(),"*")),d=a.getBody();a.dom.add(d,"div",{style:{position:"absolute",left:c.x,top:c.y>20?c.y:20,width:100,height:100},class:"mceItemVisualAid mceItemLayer"},a.selection.getContent()||a.getLang("layer.content")),tinymce.Env.ie&&b.setHTML(d,d.innerHTML)}function f(){var c=b(a.selection.getNode());c||(c=a.dom.getParent(a.selection.getNode(),"DIV,P,IMG")),c&&("absolute"==c.style.position.toLowerCase()?(a.dom.setStyles(c,{position:"",left:"",top:"",width:"",height:""}),a.dom.removeClass(c,"mceItemVisualAid"),a.dom.removeClass(c,"mceItemLayer")):(c.style.left||(c.style.left="20px"),c.style.top||(c.style.top="20px"),c.style.width||(c.style.width=c.width?c.width+"px":"100px"),c.style.height||(c.style.height=c.height?c.height+"px":"100px"),c.style.position="absolute",a.dom.setAttrib(c,"data-mce-style",""),a.addVisual(a.getBody())),a.execCommand("mceRepaint"),a.nodeChanged())}a.addCommand("mceInsertLayer",e),a.addCommand("mceMoveForward",function(){d(1)}),a.addCommand("mceMoveBackward",function(){d(-1)}),a.addCommand("mceMakeAbsolute",function(){f()}),a.addButton("moveforward",{title:"layer.forward_desc",cmd:"mceMoveForward"}),a.addButton("movebackward",{title:"layer.backward_desc",cmd:"mceMoveBackward"}),a.addButton("absolute",{title:"layer.absolute_desc",cmd:"mceMakeAbsolute"}),a.addButton("insertlayer",{title:"layer.insertlayer_desc",cmd:"mceInsertLayer"}),a.on("init",function(){tinymce.Env.ie&&a.getDoc().execCommand("2D-Position",!1,!0)}),a.on("mouseup",function(c){var d=b(c.target);d&&a.dom.setAttrib(d,"data-mce-style","")}),a.on("mousedown",function(c){var d,e=c.target,f=a.getDoc();tinymce.Env.gecko&&(b(e)?"on"!==f.designMode&&(f.designMode="on",e=f.body,d=e.parentNode,d.removeChild(e),d.appendChild(e)):"on"==f.designMode&&(f.designMode="off"))}),a.on("NodeChange",c)});plugins/wordcount/plugin.min.js000060400000027373152455403670012712 0ustar00!function(){var e={},t=function(t){for(var n=e[t],i=n.deps,o=n.defn,a=i.length,s=new Array(a),l=0;le.length-1&&0!==n)&&((o!==t.ALETTER||a!==t.ALETTER)&&(i=e[n+2],(o!==t.ALETTER||a!==t.MIDLETTER&&a!==t.MIDNUMLET&&a!==t.AT||i!==t.ALETTER)&&(r=e[n-1],(o!==t.MIDLETTER&&o!==t.MIDNUMLET&&a!==t.AT||a!==t.ALETTER||r!==t.ALETTER)&&((o!==t.NUMERIC&&o!==t.ALETTER||a!==t.NUMERIC&&a!==t.ALETTER)&&((o!==t.MIDNUM&&o!==t.MIDNUMLET||a!==t.NUMERIC||r!==t.NUMERIC)&&((o!==t.NUMERIC||a!==t.MIDNUM&&a!==t.MIDNUMLET||i!==t.NUMERIC)&&(o!==t.EXTEND&&o!==t.FORMAT&&r!==t.EXTEND&&r!==t.FORMAT&&a!==t.EXTEND&&a!==t.FORMAT&&((o!==t.CR||a!==t.LF)&&(o===t.NEWLINE||o===t.CR||o===t.LF||(a===t.NEWLINE||a===t.CR||a===t.LF||(o!==t.KATAKANA||a!==t.KATAKANA)&&((a!==t.EXTENDNUMLET||o!==t.ALETTER&&o!==t.NUMERIC&&o!==t.KATAKANA&&o!==t.EXTENDNUMLET)&&((o!==t.EXTENDNUMLET||a!==t.ALETTER&&a!==t.NUMERIC&&a!==t.KATAKANA)&&o!==t.AT))))))))))))};return{isWordBoundary:n}}),a("3",["4","5","6"],function(e,t,n){var r=e.EMPTY_STRING,i=e.WHITESPACE,o=e.PUNCTUATION,a=function(e){return"http"===e||"https"===e},s=function(e,t){var n;for(n=t;n ':" "),e.dom.setAttrib(e.dom.select("span.mce-nbsp"),"data-mce-bogus","1")}),e.addButton("nonbreaking",{title:"Nonbreaking space",cmd:"mceNonBreaking"}),e.addMenuItem("nonbreaking",{text:"Nonbreaking space",cmd:"mceNonBreaking",context:"insert"}),t){var n=+t>1?+t:3;e.on("keydown",function(t){if(9==t.keyCode){if(t.shiftKey)return;t.preventDefault();for(var r=0;r0){var r=e[t];if(!r)throw"Invalid capture group";n+=e[0].indexOf(r),e[0]=r}return[n,n+e[0].length,[e[0]]]}function s(t){var n;if(3===t.nodeType)return t.data;if(m[t.nodeName]&&!p[t.nodeName])return"";if(n="",e(t))return"\n";if((p[t.nodeName]||g[t.nodeName])&&(n+="\n"),t=t.firstChild)do n+=s(t);while(t=t.nextSibling);return n}function l(t,n,r){var i,o,a,s,l=[],c=0,u=t,d=n.shift(),f=0;e:for(;;){if((p[u.nodeName]||g[u.nodeName]||e(u))&&c++,3===u.nodeType&&(!o&&u.length+c>=d[1]?(o=u,s=d[1]-c):i&&l.push(u),!i&&u.length+c>d[0]&&(i=u,a=d[0]-c),c+=u.length),i&&o){if(u=r({startNode:i,startNodeIndex:a,endNode:o,endNodeIndex:s,innerNodes:l,match:d[2],matchIndex:f}),c-=o.length-s,i=null,o=null,l=[],d=n.shift(),f++,!d)break}else if(m[u.nodeName]&&!p[u.nodeName]||!u.firstChild){if(u.nextSibling){u=u.nextSibling;continue}}else if(!e(u)){u=u.firstChild;continue}for(;;){if(u.nextSibling){u=u.nextSibling;break}if(u.parentNode===t)break e;u=u.parentNode}}}function c(e){var t;if("function"!=typeof e){var n=e.nodeType?e:f.createElement(e);t=function(e,t){var r=n.cloneNode(!1);return r.setAttribute("data-mce-index",t),e&&r.appendChild(f.createTextNode(e)),r}}else t=e;return function(e){var n,r,i,o=e.startNode,a=e.endNode,s=e.matchIndex;if(o===a){var l=o;i=l.parentNode,e.startNodeIndex>0&&(n=f.createTextNode(l.data.substring(0,e.startNodeIndex)),i.insertBefore(n,l));var c=t(e.match[0],s);return i.insertBefore(c,l),e.endNodeIndex0}var u=this,d=-1;u.init=function(e){e.addMenuItem("searchreplace",{text:"Find and replace",shortcut:"Meta+F",onclick:n,separator:"before",context:"edit"}),e.addButton("searchreplace",{tooltip:"Find and replace",shortcut:"Meta+F",onclick:n}),e.addCommand("SearchReplace",n),e.shortcuts.add("Meta+F","",n)},u.find=function(e,t,n){e=e.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&"),e=n?"\\b"+e+"\\b":e;var r=i(new RegExp(e,t?"g":"gi"));return r&&(d=-1,d=s(!0)),r},u.next=function(){var e=s(!0);e!==-1&&(d=e)},u.prev=function(){var e=s(!1);e!==-1&&(d=e)},u.replace=function(t,n,i){var s,f,p,m,g,h,v=d;for(n=n!==!1,p=e.getBody(),f=tinymce.grep(tinymce.toArray(p.getElementsByTagName("span")),c),s=0;sd&&f[s].setAttribute("data-mce-index",g-1)}return e.undoManager.add(),d=v,n?(h=a(v+1).length>0,u.next()):(h=a(v-1).length>0,u.prev()),!i&&h},u.done=function(t){var n,i,a,s;for(i=tinymce.toArray(e.getBody().getElementsByTagName("span")),n=0;n1&&(r=o[0],i=o[1]),e.push({text:r,value:i})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:e,fixedWidth:!0,onPostRender:function(){var e=this;t.on("NodeChange",function(){var n;n=t.dom.getParent(t.selection.getNode(),"font"),n?e.value(n.size):e.value("")})},onclick:function(e){e.control.settings.value&&t.execCommand("FontSize",!1,e.control.settings.value)}}}),t.addButton("fontselect",function(){function e(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}var n="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",i=[],o=e(t.settings.font_formats||n);return r.each(o,function(e,t){i.push({text:{raw:t[0]},value:t[1],textStyle:t[1].indexOf("dings")==-1?"font-family:"+t[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:i,fixedWidth:!0,onPostRender:function(){var e=this;t.on("NodeChange",function(){var n;n=t.dom.getParent(t.selection.getNode(),"font"),n?e.value(n.face):e.value("")})},onselect:function(e){e.control.settings.value&&t.execCommand("FontName",!1,e.control.settings.value)}}})})}(tinymce);plugins/visualchars/plugin.min.js000060400000002250152455403670013175 0ustar00tinymce.PluginManager.add("visualchars",function(e){function t(t){function n(e){return''+e+""}function o(){var e,t="";for(e in p)t+=e;return new RegExp("["+t+"]","g")}function a(){var e,t="";for(e in p)t&&(t+=","),t+="span.mce-"+p[e];return t}var s,l,c,u,d,f,p,m,g=e.getBody(),h=e.selection;if(p={"\xa0":"nbsp","\xad":"shy"},r=!r,i.state=r,e.fire("VisualChars",{state:r}),m=o(),t&&(f=h.getBookmark()),r)for(l=[],tinymce.walk(g,function(e){3==e.nodeType&&e.nodeValue&&m.test(e.nodeValue)&&l.push(e)},"childNodes"),c=0;c=0;c--)e.dom.remove(l[c],1);h.moveToBookmark(f)}function n(){var t=this;e.on("VisualChars",function(e){t.active(e.state)})}var r,i=this;e.addCommand("mceVisualChars",t),e.addButton("visualchars",{title:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n}),e.addMenuItem("visualchars",{text:"Show invisible characters",cmd:"mceVisualChars",onPostRender:n,selectable:!0,context:"view",prependToContext:!0})});plugins/anchor/plugin.min.js000060400000002244152455403670012126 0ustar00tinymce.PluginManager.add("anchor",function(e){var t=function(e){return!e.attr("href")&&(e.attr("id")||e.attr("name"))&&!e.firstChild},n=function(e){return function(n){for(var r=0;r0?a.charAt(r-1):"";if('"'===i)return t;if(">"===i){var o=a.lastIndexOf("<",r);if(o!==-1){var l=a.substring(o,r);if(l.indexOf('contenteditable="false"')!==-1)return t}}return''+e.dom.encode("string"==typeof n[1]?n[1]:n[0])+""}var r=o.length,a=t.content,s=tinymce.trim(i);if("raw"!=t.format){for(;r--;)a=a.replace(o[r],n);t.content=a}}var r,i,o,a="contenteditable";r=" "+tinymce.trim(e.getParam("noneditable_editable_class","mceEditable"))+" ",i=" "+tinymce.trim(e.getParam("noneditable_noneditable_class","mceNonEditable"))+" ";var s=t(r),l=t(i);o=e.getParam("noneditable_regexp"),o&&!o.length&&(o=[o]),e.on("PreInit",function(){o&&e.on("BeforeSetContent",n),e.parser.addAttributeFilter("class",function(e){for(var t,n=e.length;n--;)t=e[n],s(t)?t.attr(a,"true"):l(t)&&t.attr(a,"false")}),e.serializer.addAttributeFilter(a,function(e){for(var t,n=e.length;n--;)t=e[n],(s(t)||l(t))&&(o&&t.attr("data-mce-content")?(t.name="#text",t.type=3,t.raw=!0,t.value=t.attr("data-mce-content")):t.attr(a,null))})})});plugins/bbcode/plugin.min.js000060400000006100152455403670012065 0ustar00!function(){tinymce.create("tinymce.plugins.BBCodePlugin",{init:function(e){var t=this,n=e.getParam("bbcode_dialect","punbb").toLowerCase();e.on("beforeSetContent",function(e){e.content=t["_"+n+"_bbcode2html"](e.content)}),e.on("postProcess",function(e){e.set&&(e.content=t["_"+n+"_bbcode2html"](e.content)),e.get&&(e.content=t["_"+n+"_html2bbcode"](e.content))})},getInfo:function(){return{longname:"BBCode Plugin",author:"Ephox Corp",authorurl:"http://www.tinymce.com",infourl:"http://www.tinymce.com/wiki.php/Plugin:bbcode"}},_punbb_html2bbcode:function(e){function t(t,n){e=e.replace(t,n)}return e=tinymce.trim(e),t(/(.*?)<\/a>/gi,"[url=$1]$2[/url]"),t(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),t(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),t(/(.*?)<\/font>/gi,"[code][color=$1]$2[/color][/code]"),t(/(.*?)<\/font>/gi,"[quote][color=$1]$2[/color][/quote]"),t(/(.*?)<\/span>/gi,"[color=$1]$2[/color]"),t(/(.*?)<\/font>/gi,"[color=$1]$2[/color]"),t(/(.*?)<\/span>/gi,"[size=$1]$2[/size]"),t(/(.*?)<\/font>/gi,"$1"),t(//gi,"[img]$1[/img]"),t(/(.*?)<\/span>/gi,"[code]$1[/code]"),t(/(.*?)<\/span>/gi,"[quote]$1[/quote]"),t(/(.*?)<\/strong>/gi,"[code][b]$1[/b][/code]"),t(/(.*?)<\/strong>/gi,"[quote][b]$1[/b][/quote]"),t(/(.*?)<\/em>/gi,"[code][i]$1[/i][/code]"),t(/(.*?)<\/em>/gi,"[quote][i]$1[/i][/quote]"),t(/(.*?)<\/u>/gi,"[code][u]$1[/u][/code]"),t(/(.*?)<\/u>/gi,"[quote][u]$1[/u][/quote]"),t(/<\/(strong|b)>/gi,"[/b]"),t(/<(strong|b)>/gi,"[b]"),t(/<\/(em|i)>/gi,"[/i]"),t(/<(em|i)>/gi,"[i]"),t(/<\/u>/gi,"[/u]"),t(/(.*?)<\/span>/gi,"[u]$1[/u]"),t(//gi,"[u]"),t(/]*>/gi,"[quote]"),t(/<\/blockquote>/gi,"[/quote]"),t(/
    /gi,"\n"),t(//gi,"\n"),t(/
    /gi,"\n"),t(/

    /gi,""),t(/<\/p>/gi,"\n"),t(/ |\u00a0/gi," "),t(/"/gi,'"'),t(/</gi,"<"),t(/>/gi,">"),t(/&/gi,"&"),e},_punbb_bbcode2html:function(e){function t(t,n){e=e.replace(t,n)}return e=tinymce.trim(e),t(/\n/gi,"
    "),t(/\[b\]/gi,""),t(/\[\/b\]/gi,""),t(/\[i\]/gi,""),t(/\[\/i\]/gi,""),t(/\[u\]/gi,""),t(/\[\/u\]/gi,""),t(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,'$2'),t(/\[url\](.*?)\[\/url\]/gi,'$1'),t(/\[img\](.*?)\[\/img\]/gi,''),t(/\[color=(.*?)\](.*?)\[\/color\]/gi,'$2'),t(/\[code\](.*?)\[\/code\]/gi,'$1 '),t(/\[quote.*?\](.*?)\[\/quote\]/gi,'$1 '),e}}),tinymce.PluginManager.add("bbcode",tinymce.plugins.BBCodePlugin)}();plugins/directionality/plugin.min.js000060400000001326152455403670013677 0ustar00tinymce.PluginManager.add("directionality",function(e){function t(t){var n,r=e.dom,i=e.selection.getSelectedBlocks();i.length&&(n=r.getAttrib(i[0],"dir"),tinymce.each(i,function(e){r.getParent(e.parentNode,"*[dir='"+t+"']",r.getRoot())||(n!=t?r.setAttrib(e,"dir",t):r.setAttrib(e,"dir",null))}),e.nodeChanged())}function n(e){var t=[];return tinymce.each("h1 h2 h3 h4 h5 h6 div p".split(" "),function(n){t.push(n+"[dir="+e+"]")}),t.join(",")}e.addCommand("mceDirectionLTR",function(){t("ltr")}),e.addCommand("mceDirectionRTL",function(){t("rtl")}),e.addButton("ltr",{title:"Left to right",cmd:"mceDirectionLTR",stateSelector:n("ltr")}),e.addButton("rtl",{title:"Right to left",cmd:"mceDirectionRTL",stateSelector:n("rtl")})});plugins/codesample/plugin.min.js000060400000047550152455403670013001 0ustar00!function(e,t){"use strict";function n(e,t){for(var n,r=[],o=0;oe.length)break e;if(!(h instanceof i)){u.lastIndex=0;var v=u.exec(h);if(v){f&&(p=v[1].length);var b=v.index-1+p,v=v[0].slice(p),y=v.length,x=b+y,C=h.slice(0,b+1),w=h.slice(x+1),N=[g,1];C&&N.push(C);var k=new i(s,d?n.tokenize(v,d):v,m);N.push(k),w&&N.push(w),Array.prototype.splice.apply(o,N)}}}}}return o},hooks:{all:{},add:function(e,t){var r=n.hooks.all;r[e]=r[e]||[],r[e].push(t)},run:function(e,t){var r=n.hooks.all[e];if(r&&r.length)for(var i,o=0;i=r[o++];)i(t)}}},r=n.Token=function(e,t,n){this.type=e,this.content=t,this.alias=n};if(r.stringify=function(e,t,i){if("string"==typeof e)return e;if("Array"===n.util.type(e))return e.map(function(n){return r.stringify(n,t,e)}).join("");var o={type:e.type,content:r.stringify(e.content,t,i),tag:"span",classes:["token",e.type],attributes:{},language:t,parent:i};if("comment"==o.type&&(o.attributes.spellcheck="true"),e.alias){var a="Array"===n.util.type(e.alias)?e.alias:[e.alias];Array.prototype.push.apply(o.classes,a)}n.hooks.run("wrap",o);var s="";for(var l in o.attributes)s+=(s?" ":"")+l+'="'+(o.attributes[l]||"")+'"';return"<"+o.tag+' class="'+o.classes.join(" ")+'" '+s+">"+o.content+""},!t.document)return t.addEventListener?(t.addEventListener("message",function(e){var r=JSON.parse(e.data),i=r.language,o=r.code,a=r.immediateClose;t.postMessage(n.highlight(o,n.languages[i],i)),a&&t.close()},!1),t.Prism):t.Prism}();return"undefined"!=typeof module&&module.exports&&(module.exports=n),"undefined"!=typeof global&&(global.Prism=n),n.languages.markup={comment://,prolog:/<\?[\w\W]+?\?>/,doctype://,cdata://i,tag:{pattern:/<\/?[^\s>\/=.]+(?:\s+[^\s>\/=]+(?:=(?:("|')(?:\\\1|\\?(?!\1)[\w\W])*\1|[^\s'">=]+))?)*\s*\/?>/i,inside:{tag:{pattern:/^<\/?[^\s>\/]+/i,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"attr-value":{pattern:/=(?:('|")[\w\W]*?(\1)|[^\s>]+)/i,inside:{punctuation:/[=>"']/}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:/&#?[\da-z]{1,8};/i},n.hooks.add("wrap",function(e){"entity"===e.type&&(e.attributes.title=e.content.replace(/&/,"&"))}),n.languages.xml=n.languages.markup,n.languages.html=n.languages.markup,n.languages.mathml=n.languages.markup,n.languages.svg=n.languages.markup,n.languages.css={comment:/\/\*[\w\W]*?\*\//,atrule:{pattern:/@[\w-]+?.*?(;|(?=\s*\{))/i,inside:{rule:/@[\w-]+/}},url:/url\((?:(["'])(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1|.*?)\)/i,selector:/[^\{\}\s][^\{\};]*?(?=\s*\{)/,string:/("|')(\\(?:\r\n|[\w\W])|(?!\1)[^\\\r\n])*\1/,property:/(\b|\B)[\w-]+(?=\s*:)/i,important:/\B!important\b/i,"function":/[-a-z0-9]+(?=\()/i,punctuation:/[(){};:]/},n.languages.css.atrule.inside.rest=n.util.clone(n.languages.css),n.languages.markup&&(n.languages.insertBefore("markup","tag",{style:{pattern:/[\w\W]*?<\/style>/i,inside:{tag:{pattern:/|<\/style>/i,inside:n.languages.markup.tag.inside},rest:n.languages.css},alias:"language-css"}}),n.languages.insertBefore("inside","attr-value",{"style-attr":{pattern:/\s*style=("|').*?\1/i,inside:{"attr-name":{pattern:/^\s*style/i,inside:n.languages.markup.tag.inside},punctuation:/^\s*=\s*['"]|['"]\s*$/,"attr-value":{pattern:/.+/i,inside:n.languages.css}},alias:"language-css"}},n.languages.markup.tag)),n.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\w\W]*?\*\//,lookbehind:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0}],string:/(["'])(\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,"class-name":{pattern:/((?:\b(?:class|interface|extends|implements|trait|instanceof|new)\s+)|(?:catch\s+\())[a-z0-9_\.\\]+/i,lookbehind:!0,inside:{punctuation:/(\.|\\)/}},keyword:/\b(if|else|while|do|for|return|in|instanceof|function|new|try|throw|catch|finally|null|break|continue)\b/,"boolean":/\b(true|false)\b/,"function":/[a-z0-9_]+(?=\()/i,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)\b/i,operator:/--?|\+\+?|!=?=?|<=?|>=?|==?=?|&&?|\|\|?|\?|\*|\/|~|\^|%/,punctuation:/[{}[\];(),.:]/},n.languages.javascript=n.languages.extend("clike",{keyword:/\b(as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|false|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|true|try|typeof|var|void|while|with|yield)\b/,number:/\b-?(0x[\dA-Fa-f]+|0b[01]+|0o[0-7]+|\d*\.?\d+([Ee][+-]?\d+)?|NaN|Infinity)\b/,"function":/[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*(?=\()/i}),n.languages.insertBefore("javascript","keyword",{regex:{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\\\r\n])+\/[gimyu]{0,5}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}}),n.languages.insertBefore("javascript","class-name",{"template-string":{pattern:/`(?:\\`|\\?[^`])*`/,inside:{interpolation:{pattern:/\$\{[^}]+\}/,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:n.languages.javascript}},string:/[\s\S]+/}}}),n.languages.markup&&n.languages.insertBefore("markup","tag",{script:{pattern:/[\w\W]*?<\/script>/i,inside:{tag:{pattern:/|<\/script>/i,inside:n.languages.markup.tag.inside},rest:n.languages.javascript},alias:"language-javascript"}}),n.languages.js=n.languages.javascript,n.languages.c=n.languages.extend("clike",{keyword:/\b(asm|typeof|inline|auto|break|case|char|const|continue|default|do|double|else|enum|extern|float|for|goto|if|int|long|register|return|short|signed|sizeof|static|struct|switch|typedef|union|unsigned|void|volatile|while)\b/,operator:/\-[>-]?|\+\+?|!=?|<>?=?|==?|&&?|\|?\||[~^%?*\/]/,number:/\b-?(?:0x[\da-f]+|\d*\.?\d+(?:e[+-]?\d+)?)[ful]*\b/i}),n.languages.insertBefore("c","string",{macro:{pattern:/(^\s*)#\s*[a-z]+([^\r\n\\]|\\.|\\(?:\r\n?|\n))*/im,lookbehind:!0,alias:"property",inside:{string:{pattern:/(#\s*include\s*)(<.+?>|("|')(\\?.)+?\3)/,lookbehind:!0}}}}),delete n.languages.c["class-name"],delete n.languages.c["boolean"],n.languages.csharp=n.languages.extend("clike",{keyword:/\b(abstract|as|async|await|base|bool|break|byte|case|catch|char|checked|class|const|continue|decimal|default|delegate|do|double|else|enum|event|explicit|extern|false|finally|fixed|float|for|foreach|goto|if|implicit|in|int|interface|internal|is|lock|long|namespace|new|null|object|operator|out|override|params|private|protected|public|readonly|ref|return|sbyte|sealed|short|sizeof|stackalloc|static|string|struct|switch|this|throw|true|try|typeof|uint|ulong|unchecked|unsafe|ushort|using|virtual|void|volatile|while|add|alias|ascending|async|await|descending|dynamic|from|get|global|group|into|join|let|orderby|partial|remove|select|set|value|var|where|yield)\b/,string:[/@("|')(\1\1|\\\1|\\?(?!\1)[\s\S])*\1/,/("|')(\\?.)*?\1/],number:/\b-?(0x[\da-f]+|\d*\.?\d+)\b/i}),n.languages.insertBefore("csharp","keyword",{preprocessor:{pattern:/(^\s*)#.*/m,lookbehind:!0}}),n.languages.cpp=n.languages.extend("c",{keyword:/\b(alignas|alignof|asm|auto|bool|break|case|catch|char|char16_t|char32_t|class|compl|const|constexpr|const_cast|continue|decltype|default|delete|do|double|dynamic_cast|else|enum|explicit|export|extern|float|for|friend|goto|if|inline|int|long|mutable|namespace|new|noexcept|nullptr|operator|private|protected|public|register|reinterpret_cast|return|short|signed|sizeof|static|static_assert|static_cast|struct|switch|template|this|thread_local|throw|try|typedef|typeid|typename|union|unsigned|using|virtual|void|volatile|wchar_t|while)\b/,"boolean":/\b(true|false)\b/,operator:/[-+]{1,2}|!=?|<{1,2}=?|>{1,2}=?|\->|:{1,2}|={1,2}|\^|~|%|&{1,2}|\|?\||\?|\*|\/|\b(and|and_eq|bitand|bitor|not|not_eq|or|or_eq|xor|xor_eq)\b/}),n.languages.insertBefore("cpp","keyword",{"class-name":{pattern:/(class\s+)[a-z0-9_]+/i,lookbehind:!0}}),n.languages.java=n.languages.extend("clike",{keyword:/\b(abstract|continue|for|new|switch|assert|default|goto|package|synchronized|boolean|do|if|private|this|break|double|implements|protected|throw|byte|else|import|public|throws|case|enum|instanceof|return|transient|catch|extends|int|short|try|char|final|interface|static|void|class|finally|long|strictfp|volatile|const|float|native|super|while)\b/,number:/\b0b[01]+\b|\b0x[\da-f]*\.?[\da-fp\-]+\b|\b\d*\.?\d+(?:e[+-]?\d+)?[df]?\b/i,operator:{pattern:/(^|[^.])(?:\+[+=]?|-[-=]?|!=?|<>?>?=?|==?|&[&=]?|\|[|=]?|\*=?|\/=?|%=?|\^=?|[?:~])/m,lookbehind:!0}}),n.languages.php=n.languages.extend("clike",{keyword:/\b(and|or|xor|array|as|break|case|cfunction|class|const|continue|declare|default|die|do|else|elseif|enddeclare|endfor|endforeach|endif|endswitch|endwhile|extends|for|foreach|function|include|include_once|global|if|new|return|static|switch|use|require|require_once|var|while|abstract|interface|public|implements|private|protected|parent|throw|null|echo|print|trait|namespace|final|yield|goto|instanceof|finally|try|catch)\b/i,constant:/\b[A-Z0-9_]{2,}\b/,comment:{pattern:/(^|[^\\])(?:\/\*[\w\W]*?\*\/|\/\/.*)/,lookbehind:!0}}),n.languages.insertBefore("php","class-name",{"shell-comment":{pattern:/(^|[^\\])#.*/,lookbehind:!0,alias:"comment"}}),n.languages.insertBefore("php","keyword",{delimiter:/\?>|<\?(?:php)?/i,variable:/\$\w+\b/i,"package":{pattern:/(\\|namespace\s+|use\s+)[\w\\]+/,lookbehind:!0,inside:{punctuation:/\\/}}}),n.languages.insertBefore("php","operator",{property:{pattern:/(->)[\w]+/,lookbehind:!0}}),n.languages.markup&&(n.hooks.add("before-highlight",function(e){"php"===e.language&&(e.tokenStack=[],e.backupCode=e.code,e.code=e.code.replace(/(?:<\?php|<\?)[\w\W]*?(?:\?>)/gi,function(t){return e.tokenStack.push(t),"{{{PHP"+e.tokenStack.length+"}}}"}))}),n.hooks.add("before-insert",function(e){"php"===e.language&&(e.code=e.backupCode,delete e.backupCode)}),n.hooks.add("after-highlight",function(e){if("php"===e.language){for(var t,r=0;t=e.tokenStack[r];r++)e.highlightedCode=e.highlightedCode.replace("{{{PHP"+(r+1)+"}}}",n.highlight(t,e.grammar,"php").replace(/\$/g,"$$$$"));e.element.innerHTML=e.highlightedCode}}),n.hooks.add("wrap",function(e){"php"===e.language&&"markup"===e.type&&(e.content=e.content.replace(/(\{\{\{PHP[0-9]+\}\}\})/g,'$1'))}),n.languages.insertBefore("php","comment",{markup:{pattern:/<[^?]\/?(.*?)>/,inside:n.languages.markup},php:/\{\{\{PHP[0-9]+\}\}\}/})),n.languages.python={comment:{pattern:/(^|[^\\])#.*/,lookbehind:!0},string:/"""[\s\S]+?"""|'''[\s\S]+?'''|("|')(?:\\?.)*?\1/,"function":{pattern:/((?:^|\s)def[ \t]+)[a-zA-Z_][a-zA-Z0-9_]*(?=\()/g,lookbehind:!0},"class-name":{pattern:/(\bclass\s+)[a-z0-9_]+/i,lookbehind:!0},keyword:/\b(?:as|assert|async|await|break|class|continue|def|del|elif|else|except|exec|finally|for|from|global|if|import|in|is|lambda|pass|print|raise|return|try|while|with|yield)\b/,"boolean":/\b(?:True|False)\b/,number:/\b-?(?:0[bo])?(?:(?:\d|0x[\da-f])[\da-f]*\.?\d*|\.\d+)(?:e[+-]?\d+)?j?\b/i,operator:/[-+%=]=?|!=|\*\*?=?|\/\/?=?|<[<=>]?|>[=>]?|[&|^~]|\b(?:or|and|not)\b/,punctuation:/[{}[\];(),.:]/},function(e){e.languages.ruby=e.languages.extend("clike",{comment:/#(?!\{[^\r\n]*?\}).*/,keyword:/\b(alias|and|BEGIN|begin|break|case|class|def|define_method|defined|do|each|else|elsif|END|end|ensure|false|for|if|in|module|new|next|nil|not|or|raise|redo|require|rescue|retry|return|self|super|then|throw|true|undef|unless|until|when|while|yield)\b/});var t={pattern:/#\{[^}]+\}/,inside:{delimiter:{pattern:/^#\{|\}$/,alias:"tag"},rest:e.util.clone(e.languages.ruby)}};e.languages.insertBefore("ruby","keyword",{regex:[{pattern:/%r([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\((?:[^()\\]|\\[\s\S])*\)[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}[gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r\[(?:[^\[\]\\]|\\[\s\S])*\][gim]{0,3}/,inside:{interpolation:t}},{pattern:/%r<(?:[^<>\\]|\\[\s\S])*>[gim]{0,3}/,inside:{interpolation:t}},{pattern:/(^|[^/])\/(?!\/)(\[.+?]|\\.|[^/\r\n])+\/[gim]{0,3}(?=\s*($|[\r\n,.;})]))/,lookbehind:!0}],variable:/[@$]+[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/,symbol:/:[a-zA-Z_][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.insertBefore("ruby","number",{builtin:/\b(Array|Bignum|Binding|Class|Continuation|Dir|Exception|FalseClass|File|Stat|File|Fixnum|Fload|Hash|Integer|IO|MatchData|Method|Module|NilClass|Numeric|Object|Proc|Range|Regexp|String|Struct|TMS|Symbol|ThreadGroup|Thread|Time|TrueClass)\b/,constant:/\b[A-Z][a-zA-Z_0-9]*(?:[?!]|\b)/}),e.languages.ruby.string=[{pattern:/%[qQiIwWxs]?([^a-zA-Z0-9\s\{\(\[<])(?:[^\\]|\\[\s\S])*?\1/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\((?:[^()\\]|\\[\s\S])*\)/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\{(?:[^#{}\\]|#(?:\{[^}]+\})?|\\[\s\S])*\}/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?\[(?:[^\[\]\\]|\\[\s\S])*\]/,inside:{interpolation:t}},{pattern:/%[qQiIwWxs]?<(?:[^<>\\]|\\[\s\S])*>/,inside:{interpolation:t}},{pattern:/("|')(#\{[^}]+\}|\\(?:\r?\n|\r)|\\?.)*?\1/,inside:{interpolation:t}}]}(n),n}),r("tinymce/codesampleplugin/Utils",[],function(){function e(e){return e&&"PRE"==e.nodeName&&e.className.indexOf("language-")!==-1}function t(e){return function(t,n){return e(n)}}return{isCodeSample:e,trimArg:t}}),r("tinymce/codesampleplugin/Dialog",["tinymce/dom/DOMUtils","tinymce/codesampleplugin/Utils","tinymce/codesampleplugin/Prism"],function(e,t,n){function r(e){var t=[{text:"HTML/XML",value:"markup"},{text:"JavaScript",value:"javascript"},{text:"CSS",value:"css"},{text:"PHP",value:"php"},{text:"Ruby",value:"ruby"},{text:"Python",value:"python"},{text:"Java",value:"java"},{text:"C",value:"c"},{text:"C#",value:"csharp"},{text:"C++",value:"cpp"}],n=e.settings.codesample_languages;return n?n:t}function i(e,t,r){e.undoManager.transact(function(){var i=o(e);r=l.encode(r),i?(e.dom.setAttrib(i,"class","language-"+t),i.innerHTML=r,n.highlightElement(i),e.selection.select(i)):(e.insertContent('

    '+r+"
    "),e.selection.select(e.$("#__new").removeAttr("id")[0]))})}function o(e){var n=e.selection.getNode();return t.isCodeSample(n)?n:null}function a(e){var t=o(e);return t?t.textContent:""}function s(e){var t,n=o(e);return n?(t=n.className.match(/language-(\w+)/),t?t[1]:""):""}var l=e.DOM;return{open:function(e){e.windowManager.open({title:"Insert/Edit code sample",minWidth:Math.min(l.getViewPort().w,e.getParam("codesample_dialog_width",800)),minHeight:Math.min(l.getViewPort().h,e.getParam("codesample_dialog_height",650)),layout:"flex",direction:"column",align:"stretch",body:[{type:"listbox",name:"language",label:"Language",maxWidth:200,value:s(e),values:r(e)},{type:"textbox",name:"code",multiline:!0,spellcheck:!1,ariaLabel:"Code view",flex:1,style:"direction: ltr; text-align: left",classes:"monospace",value:a(e),autofocus:!0}],onSubmit:function(t){i(e,t.data.language,t.data.code)}})}}}),r("tinymce/codesampleplugin/Plugin",["tinymce/Env","tinymce/PluginManager","tinymce/codesampleplugin/Prism","tinymce/codesampleplugin/Dialog","tinymce/codesampleplugin/Utils"],function(e,t,n,r,i){var o,a=i.trimArg;t.add("codesample",function(t,s){function l(){var e,n=t.settings.codesample_content_css;t.inline&&o||!t.inline&&c||(t.inline?o=!0:c=!0,n!==!1&&(e=t.dom.create("link",{rel:"stylesheet",href:n?n:s+"/css/prism.css"}),t.getDoc().getElementsByTagName("head")[0].appendChild(e)))}var c,u=t.$;e.ceFalse&&(t.on("PreProcess",function(e){u("pre[contenteditable=false]",e.node).filter(a(i.isCodeSample)).each(function(e,t){var n=u(t),r=t.textContent;n.attr("class",u.trim(n.attr("class"))),n.removeAttr("contentEditable"),n.empty().append(u("").each(function(){this.textContent=r}))})}),t.on("SetContent",function(){var e=u("pre").filter(a(i.isCodeSample)).filter(function(e,t){return"false"!==t.contentEditable});e.length&&t.undoManager.transact(function(){e.each(function(e,r){u(r).find("br").each(function(e,n){n.parentNode.replaceChild(t.getDoc().createTextNode("\n"),n)}),r.contentEditable=!1,r.innerHTML=t.dom.encode(r.textContent),n.highlightElement(r),r.className=u.trim(r.className)})})}),t.addCommand("codesample",function(){var e=t.selection.getNode();t.selection.isCollapsed()||i.isCodeSample(e)?r.open(t):t.formatter.toggle("code")}),t.addButton("codesample",{cmd:"codesample",title:"Insert/Edit code sample"}),t.on("init",l))})}),o(["tinymce/codesampleplugin/Prism","tinymce/codesampleplugin/Utils","tinymce/codesampleplugin/Dialog","tinymce/codesampleplugin/Plugin"])}(window);plugins/codesample/css/prism.css000060400000004361152455403670013010 0ustar00/* http://prismjs.com/download.html?themes=prism&languages=markup+css+clike+javascript */ /** * prism.js default theme for JavaScript, CSS and HTML * Based on dabblet (http://dabblet.com) * @author Lea Verou */ code[class*="language-"], pre[class*="language-"] { color: black; text-shadow: 0 1px white; font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace; direction: ltr; text-align: left; white-space: pre; word-spacing: normal; word-break: normal; word-wrap: normal; line-height: 1.5; -moz-tab-size: 4; -o-tab-size: 4; tab-size: 4; -webkit-hyphens: none; -moz-hyphens: none; -ms-hyphens: none; hyphens: none; } pre[class*="language-"]::-moz-selection, pre[class*="language-"] ::-moz-selection, code[class*="language-"]::-moz-selection, code[class*="language-"] ::-moz-selection { text-shadow: none; background: #b3d4fc; } pre[class*="language-"]::selection, pre[class*="language-"] ::selection, code[class*="language-"]::selection, code[class*="language-"] ::selection { text-shadow: none; background: #b3d4fc; } @media print { code[class*="language-"], pre[class*="language-"] { text-shadow: none; } } /* Code blocks */ pre[class*="language-"] { padding: 1em; margin: .5em 0; overflow: auto; } :not(pre) > code[class*="language-"], pre[class*="language-"] { background: #f5f2f0; } /* Inline code */ :not(pre) > code[class*="language-"] { padding: .1em; border-radius: .3em; } .token.comment, .token.prolog, .token.doctype, .token.cdata { color: slategray; } .token.punctuation { color: #999; } .namespace { opacity: .7; } .token.property, .token.tag, .token.boolean, .token.number, .token.constant, .token.symbol, .token.deleted { color: #905; } .token.selector, .token.attr-name, .token.string, .token.char, .token.builtin, .token.inserted { color: #690; } .token.operator, .token.entity, .token.url, .language-css .token.string, .style .token.string { color: #a67f59; background: hsla(0, 0%, 100%, .5); } .token.atrule, .token.attr-value, .token.keyword { color: #07a; } .token.function { color: #DD4A68; } .token.regex, .token.important, .token.variable { color: #e90; } .token.important, .token.bold { font-weight: bold; } .token.italic { font-style: italic; } .token.entity { cursor: help; } plugins/autolink/plugin.min.js000060400000004014152455403670012477 0ustar00tinymce.PluginManager.add("autolink",function(e){function t(e){i(e,-1,"(",!0)}function n(e){i(e,0,"",!0)}function r(e){i(e,-1,"",!1)}function i(e,t,n){function r(e,t){if(t<0&&(t=0),3==e.nodeType){var n=e.data.length;t>n&&(t=n)}return t}function i(e,t){1!=e.nodeType||e.hasChildNodes()?s.setStart(e,r(e,t)):s.setStartBefore(e)}function o(e,t){1!=e.nodeType||e.hasChildNodes()?s.setEnd(e,r(e,t)):s.setEndAfter(e)}var s,l,c,u,d,f,p,m,g,h;if("A"!=e.selection.getNode().tagName){if(s=e.selection.getRng(!0).cloneRange(),s.startOffset<5){if(m=s.endContainer.previousSibling,!m){if(!s.endContainer.firstChild||!s.endContainer.firstChild.nextSibling)return;m=s.endContainer.firstChild.nextSibling}if(g=m.length,i(m,g),o(m,g),s.endOffset<5)return;l=s.endOffset,u=m}else{if(u=s.endContainer,3!=u.nodeType&&u.firstChild){for(;3!=u.nodeType&&u.firstChild;)u=u.firstChild;3==u.nodeType&&(i(u,0),o(u,u.nodeValue.length))}l=1==s.endOffset?2:s.endOffset-1-t}c=l;do i(u,l>=2?l-2:0),o(u,l>=1?l-1:0),l-=1,h=s.toString();while(" "!=h&&""!==h&&160!=h.charCodeAt(0)&&l-2>=0&&h!=n);s.toString()==n||160==s.toString().charCodeAt(0)?(i(u,l),o(u,c),l+=1):0===s.startOffset?(i(u,0),o(u,c)):(i(u,l),o(u,c)),f=s.toString(),"."==f.charAt(f.length-1)&&o(u,c-1),f=s.toString(),p=f.match(a),p&&("www."==p[1]?p[1]="http://www.":/@$/.test(p[1])&&!/^mailto:/.test(p[1])&&(p[1]="mailto:"+p[1]),d=e.selection.getBookmark(),e.selection.setRng(s),e.execCommand("createlink",!1,p[1]+p[2]),e.settings.default_link_target&&e.dom.setAttrib(e.selection.getNode(),"target",e.settings.default_link_target),e.selection.moveToBookmark(d),e.nodeChanged())}}var o,a=/^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i;return e.settings.autolink_pattern&&(a=e.settings.autolink_pattern),e.on("keydown",function(t){if(13==t.keyCode)return r(e)}),tinymce.Env.ie?void e.on("focus",function(){if(!o){o=!0;try{e.execCommand("AutoUrlDetect",!1,!0)}catch(e){}}}):(e.on("keypress",function(n){if(41==n.keyCode)return t(e)}),void e.on("keyup",function(t){if(32==t.keyCode)return n(e)}))});plugins/image/plugin.min.js000060400000020014152455403670011731 0ustar00tinymce.PluginManager.add("image",function(e){function t(e,t){function n(e,n){r.parentNode&&r.parentNode.removeChild(r),t({width:e,height:n})}var r=document.createElement("img");r.onload=function(){n(Math.max(r.width,r.clientWidth),Math.max(r.height,r.clientHeight))},r.onerror=function(){n()};var i=r.style;i.visibility="hidden",i.position="fixed",i.bottom=i.left=0,i.width=i.height="auto",document.body.appendChild(r),r.src=e}function n(e,t,n){function r(e,n){return n=n||[],tinymce.each(e,function(e){var i={text:e.text||e.title};e.menu?i.menu=r(e.menu):(i.value=e.value,t(i)),n.push(i)}),n}return r(e,n||[])}function r(t){return function(){var n=e.settings.image_list;"string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):"function"==typeof n?n(t):t(n)}}function i(r){function i(){var e,t,n,r;e=f.find("#width")[0],t=f.find("#height")[0],e&&t&&(n=e.value(),r=t.value(),f.find("#constrain")[0].checked()&&g&&h&&n&&r&&(g!=n?(r=Math.round(n/g*r),isNaN(r)||t.value(r)):(n=Math.round(r/h*n),isNaN(n)||e.value(n))),g=n,h=r)}function o(){function t(t){function n(){t.onload=t.onerror=null,e.selection&&(e.selection.select(t),e.nodeChanged())}t.onload=function(){y.width||y.height||!C||x.setAttribs(t,{width:t.clientWidth,height:t.clientHeight}),n()},t.onerror=n}var n,r;u(),i(),y=tinymce.extend(y,f.toJSON()),y.alt||(y.alt=""),y.title||(y.title=""),""===y.width&&(y.width=null),""===y.height&&(y.height=null),y.style||(y.style=null),y={src:y.src,alt:y.alt,title:y.title,width:y.width,height:y.height,style:y.style,caption:y.caption,"class":y["class"]},e.undoManager.transact(function(){function i(t){return e.schema.getTextBlockElements()[t.nodeName]}if(!y.src)return void(p&&(x.remove(p),e.focus(),e.nodeChanged()));if(""===y.title&&(y.title=null),p?x.setAttribs(p,y):(y.id="__mcenew",e.focus(),e.selection.setContent(x.createHTML("img",y)),p=x.get("__mcenew"),x.setAttrib(p,"id",null)),e.editorUpload.uploadImagesAuto(),y.caption===!1&&x.is(p.parentNode,"figure.image")&&(n=p.parentNode,x.insertAfter(p,n),x.remove(n)),y.caption!==!0)t(p);else if(!x.is(p.parentNode,"figure.image")){r=p,p=p.cloneNode(!0),n=x.create("figure",{"class":"image"}),n.appendChild(p),n.appendChild(x.create("figcaption",{contentEditable:!0},"Caption")),n.contentEditable=!1;var o=x.getParent(r,i);o?x.split(o,r,n):x.replace(n,r),e.selection.select(n)}})}function a(e){return e&&(e=e.replace(/px$/,"")),e}function s(n){var r,i,o,a=n.meta||{};v&&v.value(e.convertURL(this.value(),"src")),tinymce.each(a,function(e,t){f.find("#"+t).value(e)}),a.width||a.height||(r=e.convertURL(this.value(),"src"),i=e.settings.image_prepend_url,o=new RegExp("^(?:[a-z]+:)?//","i"),i&&!o.test(r)&&r.substring(0,i.length)!==i&&(r=i+r),this.value(r),t(e.documentBaseURI.toAbsolute(this.value()),function(e){e.width&&e.height&&C&&(g=e.width,h=e.height,f.find("#width").value(g),f.find("#height").value(h))}))}function l(e){e.meta=f.toJSON()}function c(e){if(e.margin){var t=e.margin.split(" ");switch(t.length){case 1:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[0],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[0];break;case 2:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[0],e["margin-left"]=e["margin-left"]||t[1];break;case 3:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[1];break;case 4:e["margin-top"]=e["margin-top"]||t[0],e["margin-right"]=e["margin-right"]||t[1],e["margin-bottom"]=e["margin-bottom"]||t[2],e["margin-left"]=e["margin-left"]||t[3]}delete e.margin}return e}function u(){function t(e){return e.length>0&&/^[0-9]+$/.test(e)&&(e+="px"),e}if(e.settings.image_advtab){var n=f.toJSON(),r=x.parseStyle(n.style);r=c(r),n.vspace&&(r["margin-top"]=r["margin-bottom"]=t(n.vspace)),n.hspace&&(r["margin-left"]=r["margin-right"]=t(n.hspace)),n.border&&(r["border-width"]=t(n.border)),f.find("#style").value(x.serializeStyle(x.parseStyle(x.serializeStyle(r))))}}function d(){if(e.settings.image_advtab){var t=f.toJSON(),n=x.parseStyle(t.style);f.find("#vspace").value(""),f.find("#hspace").value(""),n=c(n),(n["margin-top"]&&n["margin-bottom"]||n["margin-right"]&&n["margin-left"])&&(n["margin-top"]===n["margin-bottom"]?f.find("#vspace").value(a(n["margin-top"])):f.find("#vspace").value(""),n["margin-right"]===n["margin-left"]?f.find("#hspace").value(a(n["margin-right"])):f.find("#hspace").value("")),n["border-width"]&&f.find("#border").value(a(n["border-width"])),f.find("#style").value(x.serializeStyle(x.parseStyle(x.serializeStyle(n))))}}var f,p,m,g,h,v,b,y={},x=e.dom,C=e.settings.image_dimensions!==!1;p=e.selection.getNode(),m=x.getParent(p,"figure.image"),m&&(p=x.select("img",m)[0]),p&&("IMG"!=p.nodeName||p.getAttribute("data-mce-object")||p.getAttribute("data-mce-placeholder"))&&(p=null),p&&(g=x.getAttrib(p,"width"),h=x.getAttrib(p,"height"),y={src:x.getAttrib(p,"src"),alt:x.getAttrib(p,"alt"),title:x.getAttrib(p,"title"),"class":x.getAttrib(p,"class"),width:g,height:h,caption:!!m}),r&&(v={type:"listbox",label:"Image list",values:n(r,function(t){t.value=e.convertURL(t.value||t.url,"src")},[{text:"None",value:""}]),value:y.src&&e.convertURL(y.src,"src"),onselect:function(e){var t=f.find("#alt");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),f.find("#src").value(e.control.value()).fire("change")},onPostRender:function(){v=this}}),e.settings.image_class_list&&(b={name:"class",type:"listbox",label:"Class",values:n(e.settings.image_class_list,function(t){t.value&&(t.textStyle=function(){return e.formatter.getCssText({inline:"img",classes:[t.value]})})})});var w=[{name:"src",type:"filepicker",filetype:"image",label:"Source",autofocus:!0,onchange:s,onbeforecall:l},v];e.settings.image_description!==!1&&w.push({name:"alt",type:"textbox",label:"Image description"}),e.settings.image_title&&w.push({name:"title",type:"textbox",label:"Image Title"}),C&&w.push({type:"container",label:"Dimensions",layout:"flex",direction:"row",align:"center",spacing:5,items:[{name:"width",type:"textbox",maxLength:5,size:3,onchange:i,ariaLabel:"Width"},{type:"label",text:"x"},{name:"height",type:"textbox",maxLength:5,size:3,onchange:i,ariaLabel:"Height"},{name:"constrain",type:"checkbox",checked:!0,text:"Constrain proportions"}]}),w.push(b),e.settings.image_caption&&tinymce.Env.ceFalse&&w.push({name:"caption",type:"checkbox",label:"Caption"}),e.settings.image_advtab?(p&&(p.style.marginLeft&&p.style.marginRight&&p.style.marginLeft===p.style.marginRight&&(y.hspace=a(p.style.marginLeft)),p.style.marginTop&&p.style.marginBottom&&p.style.marginTop===p.style.marginBottom&&(y.vspace=a(p.style.marginTop)),p.style.borderWidth&&(y.border=a(p.style.borderWidth)),y.style=e.dom.serializeStyle(e.dom.parseStyle(e.dom.getAttrib(p,"style")))),f=e.windowManager.open({title:"Insert/edit image",data:y,bodyType:"tabpanel",body:[{title:"General",type:"form",items:w},{title:"Advanced",type:"form",pack:"start",items:[{label:"Style",name:"style",type:"textbox",onchange:d},{type:"form",layout:"grid",packV:"start",columns:2,padding:0,alignH:["left","right"],defaults:{type:"textbox",maxWidth:50,onchange:u},items:[{label:"Vertical space",name:"vspace"},{label:"Horizontal space",name:"hspace"},{label:"Border",name:"border"}]}]}],onSubmit:o})):f=e.windowManager.open({title:"Insert/edit image",data:y,body:w,onSubmit:o})}e.on("preInit",function(){function t(e){var t=e.attr("class");return t&&/\bimage\b/.test(t)}function n(e){return function(n){function r(t){t.attr("contenteditable",e?"true":null)}for(var i,o=n.length;o--;)i=n[o],t(i)&&(i.attr("contenteditable",e?"false":null),tinymce.each(i.getAll("figcaption"),r))}}e.parser.addNodeFilter("figure",n(!0)),e.serializer.addNodeFilter("figure",n(!1))}),e.addButton("image",{icon:"image",tooltip:"Insert/edit image",onclick:r(i),stateSelector:"img:not([data-mce-object],[data-mce-placeholder]),figure.image"}),e.addMenuItem("image",{icon:"image",text:"Image",onclick:r(i),context:"insert",prependToContext:!0}),e.addCommand("mceImage",r(i))});plugins/preview/plugin.min.js000060400000003102152455403670012327 0ustar00tinymce.PluginManager.add("preview",function(e){var t=e.settings,n=!tinymce.Env.ie;e.addCommand("mcePreview",function(){e.windowManager.open({title:"Preview",width:parseInt(e.getParam("plugin_preview_width","650"),10),height:parseInt(e.getParam("plugin_preview_height","500"),10),html:'",buttons:{text:"Close",onclick:function(){this.parent().parent().close()}},onPostRender:function(){var r,i="";i+='',tinymce.each(e.contentCSS,function(t){i+=''});var o=t.body_id||"tinymce";o.indexOf("=")!=-1&&(o=e.getParam("body_id","","hash"),o=o[e.id]||o);var a=t.body_class||"";a.indexOf("=")!=-1&&(a=e.getParam("body_class","","hash"),a=a[e.id]||"");var s=' ',l=e.settings.directionality?' dir="'+e.settings.directionality+'"':"";if(r=""+i+'"+e.getContent()+s+"",n)this.getEl("body").firstChild.src="data:text/html;charset=utf-8,"+encodeURIComponent(r);else{var c=this.getEl("body").firstChild.contentWindow.document;c.open(),c.write(r),c.close()}}})}),e.addButton("preview",{title:"Preview",cmd:"mcePreview"}),e.addMenuItem("preview",{text:"Preview",cmd:"mcePreview",context:"view"})});plugins/link/plugin.min.js000060400000015522152455403670011614 0ustar00tinymce.PluginManager.add("link",function(e){function t(e){return e&&"A"===e.nodeName&&e.href}function n(e){return tinymce.util.Tools.grep(e,t).length>0}function r(t){return e.dom.getParent(t,"a[href]")}function i(){return r(e.selection.getStart())}function o(e){var t=e.getAttribute("data-mce-href");return t?t:e.getAttribute("href")}function a(){var t=e.plugins.contextmenu;return!!t&&t.isContextMenuVisible()}function s(n){var r,i,o;return!!(e.settings.link_context_toolbar&&!a()&&t(n)&&(r=e.selection,i=r.getRng(),o=i.startContainer,3==o.nodeType&&r.isCollapsed()&&i.startOffset>0&&i.startOffset10){var t=document.createElement("a");t.target="_blank",t.href=e,t.rel="noreferrer noopener";var n=document.createEvent("MouseEvents");n.initMouseEvent("click",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),l(t,n)}else{var r=window.open("","_blank");if(r){r.opener=null;var i=r.document;i.open(),i.write(''),i.close()}}}function u(t){if(t){var n=o(t);if(/^#/.test(n)){var r=e.$(n);r.length&&e.selection.scrollIntoView(r[0],!0)}else c(t.href)}}function d(){u(i())}function f(){var t=this,r=function(e){n(e.parents)?t.show():t.hide()};n(e.dom.getParents(e.selection.getStart()))||t.hide(),e.on("nodechange",r),t.on("remove",function(){e.off("nodechange",r)})}function p(t){return function(){var n=e.settings.link_list;"string"==typeof n?tinymce.util.XHR.send({url:n,success:function(e){t(tinymce.util.JSON.parse(e))}}):"function"==typeof n?n(t):t(n)}}function m(e,t,n){function r(e,n){return n=n||[],tinymce.each(e,function(e){var i={text:e.text||e.title};e.menu?i.menu=r(e.menu):(i.value=e.value,t&&t(i)),n.push(i)}),n}return r(e,n||[])}function g(t){function n(e){var t=d.find("#text");(!t.value()||e.lastControl&&t.value()==e.lastControl.text())&&t.value(e.control.text()),d.find("#href").value(e.control.value())}function r(t){var r=[];if(tinymce.each(e.dom.select("a:not([href])"),function(e){var n=e.name||e.id;n&&r.push({text:n,value:"#"+n,selected:t.indexOf("#"+n)!=-1})}),r.length)return r.unshift({text:"None",value:""}),{name:"anchor",type:"listbox",label:"Anchors",values:r,onselect:n}}function i(){!u&&0===w.text.length&&f&&this.parent().parent().find("#text")[0].value(this.value())}function o(t){var n=t.meta||{};g&&g.value(e.convertURL(this.value(),"href")),tinymce.each(t.meta,function(e,t){var n=d.find("#"+t);"text"===t?0===u.length&&(n.value(e),w.text=e):n.value(e)}),n.attach&&(h={href:this.value(),attach:n.attach}),n.text||i.call(this)}function a(e){var t=N.getContent();if(/]+>[^<]+<\/a>$/.test(t)||t.indexOf("href=")==-1))return!1;if(e){var n,r=e.childNodes;if(0===r.length)return!1;for(n=r.length-1;n>=0;n--)if(3!=r[n].nodeType)return!1}return!0}function s(e){e.meta=d.toJSON()}var l,c,u,d,f,p,g,v,b,y,x,C,w={},N=e.selection,k=e.dom;l=N.getNode(),c=k.getParent(l,"a[href]"),f=a(),w.text=u=c?c.innerText||c.textContent:N.getContent({format:"text"}),w.href=c?k.getAttrib(c,"href"):"",c?w.target=k.getAttrib(c,"target"):e.settings.default_link_target&&(w.target=e.settings.default_link_target),(C=k.getAttrib(c,"rel"))&&(w.rel=C),(C=k.getAttrib(c,"class"))&&(w["class"]=C),(C=k.getAttrib(c,"title"))&&(w.title=C),f&&(p={name:"text",type:"textbox",size:40,label:"Text to display",onchange:function(){w.text=this.value()}}),t&&(g={type:"listbox",label:"Link list",values:m(t,function(t){t.value=e.convertURL(t.value||t.url,"href")},[{text:"None",value:""}]),onselect:n,value:e.convertURL(w.href,"href"),onPostRender:function(){g=this}}),e.settings.target_list!==!1&&(e.settings.target_list||(e.settings.target_list=[{text:"None",value:""},{text:"New window",value:"_blank"}]),b={name:"target",type:"listbox",label:"Target",values:m(e.settings.target_list)}),e.settings.rel_list&&(v={name:"rel",type:"listbox",label:"Rel",values:m(e.settings.rel_list)}),e.settings.link_class_list&&(y={name:"class",type:"listbox",label:"Class",values:m(e.settings.link_class_list,function(t){t.value&&(t.textStyle=function(){return e.formatter.getCssText({inline:"a",classes:[t.value]})})})}),e.settings.link_title!==!1&&(x={name:"title",type:"textbox",label:"Title",value:w.title}),d=e.windowManager.open({title:"Insert link",data:w,body:[{name:"href",type:"filepicker",filetype:"file",size:40,autofocus:!0,label:"Url",onchange:o,onkeyup:i,onbeforecall:s},p,x,r(w.href),g,v,b,y],onSubmit:function(t){function n(t,n){var r=e.selection.getRng();tinymce.util.Delay.setEditorTimeout(e,function(){e.windowManager.confirm(t,function(t){e.selection.setRng(r),n(t)})})}function r(e,t){function n(e){return e=r(e),e?[e,i].join(" "):i}function r(e){var t=new RegExp("("+i.replace(" ","|")+")","g");return e&&(e=tinymce.trim(e.replace(t,""))),e?e:null}var i="noopener noreferrer";return t?n(e):r(e)}function i(){var t={href:a,target:w.target?w.target:null,rel:w.rel?w.rel:null,"class":w["class"]?w["class"]:null,title:w.title?w.title:null};e.settings.allow_unsafe_link_target||(t.rel=r(t.rel,"_blank"==t.target)),a===h.href&&(h.attach(),h={}),c?(e.focus(),f&&w.text!=u&&("innerText"in c?c.innerText=w.text:c.textContent=w.text),k.setAttribs(c,t),N.select(c),e.undoManager.add()):f?e.insertContent(k.createHTML("a",t,k.encode(w.text))):e.execCommand("mceInsertLink",!1,t)}function o(){e.undoManager.transact(i)}var a;return w=tinymce.extend(w,t.data),(a=w.href)?a.indexOf("@")>0&&a.indexOf("//")==-1&&a.indexOf("mailto:")==-1?void n("The URL you entered seems to be an email address. Do you want to add the required mailto: prefix?",function(e){e&&(a="mailto:"+a),o()}):e.settings.link_assume_external_targets&&!/^\w+:/i.test(a)||!e.settings.link_assume_external_targets&&/^\s*www[\.|\d\.]/i.test(a)?void n("The URL you entered seems to be an external link. Do you want to add the required http:// prefix?",function(e){e&&(a="http://"+a),o()}):void o():void e.execCommand("unlink")}})}var h={},v=function(e){return e.altKey===!0&&e.shiftKey===!1&&e.ctrlKey===!1&&e.metaKey===!1};e.addButton("link",{icon:"link",tooltip:"Insert/edit link",shortcut:"Meta+K",onclick:p(g),stateSelector:"a[href]"}),e.addButton("unlink",{icon:"unlink",tooltip:"Remove link",cmd:"unlink",stateSelector:"a[href]"}),e.addContextToolbar&&(e.addButton("openlink",{icon:"newtab",tooltip:"Open link",onclick:d}),e.addContextToolbar(s,"openlink | link unlink")),e.addShortcut("Meta+K","",p(g)),e.addCommand("mceLink",p(g)),e.on("click",function(e){var t=r(e.target);t&&tinymce.util.VK.metaKeyPressed(e)&&(e.preventDefault(),u(t))}),e.on("keydown",function(e){var t=i();t&&13===e.keyCode&&v(e)&&(e.preventDefault(),u(t))}),this.showDialog=g,e.addMenuItem("openlink",{text:"Open link",icon:"newtab",onclick:d,onPostRender:f,prependToContext:!0}),e.addMenuItem("link",{icon:"link",text:"Link",shortcut:"Meta+K",onclick:p(g),stateSelector:"a[href]",context:"insert",prependToContext:!0})});plugins/visualblocks/plugin.min.js000060400000002201152455403670013346 0ustar00tinymce.PluginManager.add("visualblocks",function(e,t){function n(){var t=this;t.active(o),e.on("VisualBlocks",function(){t.active(e.dom.hasClass(e.getBody(),"mce-visualblocks"))})}var r,i,o;window.NodeList&&(e.addCommand("mceVisualBlocks",function(){var n,a=e.dom;r||(r=a.uniqueId(),n=a.create("link",{id:r,rel:"stylesheet",href:t+"/css/visualblocks.css"}),e.getDoc().getElementsByTagName("head")[0].appendChild(n)),e.on("PreviewFormats AfterPreviewFormats",function(t){o&&a.toggleClass(e.getBody(),"mce-visualblocks","afterpreviewformats"==t.type)}),a.toggleClass(e.getBody(),"mce-visualblocks"),o=e.dom.hasClass(e.getBody(),"mce-visualblocks"),i&&i.active(a.hasClass(e.getBody(),"mce-visualblocks")),e.fire("VisualBlocks")}),e.addButton("visualblocks",{title:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n}),e.addMenuItem("visualblocks",{text:"Show blocks",cmd:"mceVisualBlocks",onPostRender:n,selectable:!0,context:"view",prependToContext:!0}),e.on("init",function(){e.settings.visualblocks_default_state&&e.execCommand("mceVisualBlocks",!1,null,{skip_focus:!0})}),e.on("remove",function(){e.dom.removeClass(e.getBody(),"mce-visualblocks")}))});plugins/visualblocks/css/visualblocks.css000060400000011744152455403670014747 0ustar00.mce-visualblocks p { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhCQAJAJEAAAAAAP///7u7u////yH5BAEAAAMALAAAAAAJAAkAAAIQnG+CqCN/mlyvsRUpThG6AgA7); } .mce-visualblocks h1 { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGu1JuxHoAfRNRW3TWXyF2YiRUAOw==); } .mce-visualblocks h2 { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8Hybbx4oOuqgTynJd6bGlWg3DkJzoaUAAAOw==); } .mce-visualblocks h3 { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIZjI8Hybbx4oOuqgTynJf2Ln2NOHpQpmhAAQA7); } .mce-visualblocks h4 { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxInR0zqeAdhtJlXwV1oCll2HaWgAAOw==); } .mce-visualblocks h5 { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjane4iq5GlW05GgIkIZUAAAOw==); } .mce-visualblocks h6 { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDgAKAIABALu7u////yH5BAEAAAEALAAAAAAOAAoAAAIajI8HybbxIoiuwjan04jep1iZ1XRlAo5bVgAAOw==); } .mce-visualblocks div:not([data-mce-bogus]) { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhEgAKAIABALu7u////yH5BAEAAAEALAAAAAASAAoAAAIfjI9poI0cgDywrhuxfbrzDEbQM2Ei5aRjmoySW4pAAQA7); } .mce-visualblocks section { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKAAKAIABALu7u////yH5BAEAAAEALAAAAAAoAAoAAAI5jI+pywcNY3sBWHdNrplytD2ellDeSVbp+GmWqaDqDMepc8t17Y4vBsK5hDyJMcI6KkuYU+jpjLoKADs=); } .mce-visualblocks article { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhKgAKAIABALu7u////yH5BAEAAAEALAAAAAAqAAoAAAI6jI+pywkNY3wG0GBvrsd2tXGYSGnfiF7ikpXemTpOiJScasYoDJJrjsG9gkCJ0ag6KhmaIe3pjDYBBQA7); } .mce-visualblocks blockquote { padding-top: 10px; border: 1px dashed #BBB; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhPgAKAIABALu7u////yH5BAEAAAEALAAAAAA+AAoAAAJPjI+py+0Knpz0xQDyuUhvfoGgIX5iSKZYgq5uNL5q69asZ8s5rrf0yZmpNkJZzFesBTu8TOlDVAabUyatguVhWduud3EyiUk45xhTTgMBBQA7); } .mce-visualblocks address { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhLQAKAIABALu7u////yH5BAEAAAEALAAAAAAtAAoAAAI/jI+pywwNozSP1gDyyZcjb3UaRpXkWaXmZW4OqKLhBmLs+K263DkJK7OJeifh7FicKD9A1/IpGdKkyFpNmCkAADs=); } .mce-visualblocks pre { padding-top: 10px; border: 1px dashed #BBB; margin-left: 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhFQAKAIABALu7uwAAACH5BAEAAAEALAAAAAAVAAoAAAIjjI+ZoN0cgDwSmnpz1NCueYERhnibZVKLNnbOq8IvKpJtVQAAOw==); } .mce-visualblocks figure { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJAAKAIAAALu7u////yH5BAEAAAEALAAAAAAkAAoAAAI0jI+py+2fwAHUSFvD3RlvG4HIp4nX5JFSpnZUJ6LlrM52OE7uSWosBHScgkSZj7dDKnWAAgA7); } .mce-visualblocks hgroup { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhJwAKAIABALu7uwAAACH5BAEAAAEALAAAAAAnAAoAAAI3jI+pywYNI3uB0gpsRtt5fFnfNZaVSYJil4Wo03Hv6Z62uOCgiXH1kZIIJ8NiIxRrAZNMZAtQAAA7); } .mce-visualblocks aside { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhHgAKAIABAKqqqv///yH5BAEAAAEALAAAAAAeAAoAAAItjI+pG8APjZOTzgtqy7I3f1yehmQcFY4WKZbqByutmW4aHUd6vfcVbgudgpYCADs=); } .mce-visualblocks figcaption { border: 1px dashed #BBB; } .mce-visualblocks ul { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIAAALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybGuYnqUVSjvw26DzzXiqIDlVwAAOw==) } .mce-visualblocks ol { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybH6HHt0qourxC6CvzXieHyeWQAAOw==); } .mce-visualblocks dl { padding-top: 10px; border: 1px dashed #BBB; margin: 0 0 1em 3px; background: transparent no-repeat url(data:image/gif;base64,R0lGODlhDQAKAIABALu7u////yH5BAEAAAEALAAAAAANAAoAAAIXjI8GybEOnmOvUoWznTqeuEjNSCqeGRUAOw==); } plugins/example_dependency/plugin.min.js000060400000000111152455403670014474 0ustar00tinymce.PluginManager.add("example_dependency",function(){},["example"]);plugins/hr/plugin.min.js000060400000000502152455403670011260 0ustar00tinymce.PluginManager.add("hr",function(e){e.addCommand("InsertHorizontalRule",function(){e.execCommand("mceInsertContent",!1,"
    ")}),e.addButton("hr",{icon:"hr",tooltip:"Horizontal line",cmd:"InsertHorizontalRule"}),e.addMenuItem("hr",{icon:"hr",text:"Horizontal line",cmd:"InsertHorizontalRule",context:"insert"})});plugins/insertdatetime/plugin.min.js000060400000003663152455403670013703 0ustar00tinymce.PluginManager.add("insertdatetime",function(e){function t(t,n){function r(e,t){if(e=""+e,e.length'+r+"";var o=e.dom.getParent(e.selection.getStart(),"time");if(o)return void e.dom.setOuterHTML(o,r)}e.insertContent(r)}var r,i,o="Sun Mon Tue Wed Thu Fri Sat Sun".split(" "),a="Sunday Monday Tuesday Wednesday Thursday Friday Saturday Sunday".split(" "),s="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),l="January February March April May June July August September October November December".split(" "),c=[];e.addCommand("mceInsertDate",function(){n(e.getParam("insertdatetime_dateformat",e.translate("%Y-%m-%d")))}),e.addCommand("mceInsertTime",function(){n(e.getParam("insertdatetime_timeformat",e.translate("%H:%M:%S")))}),e.addButton("insertdatetime",{type:"splitbutton",title:"Insert date/time",onclick:function(){n(r||i)},menu:c}),tinymce.each(e.settings.insertdatetime_formats||["%H:%M:%S","%Y-%m-%d","%I:%M:%S %p","%D"],function(e){i||(i=e),c.push({text:t(e),onclick:function(){r=e,n(e)}})}),e.addMenuItem("insertdatetime",{icon:"date",text:"Date/time",menu:c,context:"insert"})});tinymce.min.js000060400001430667152455403670007364 0ustar00// 4.5.12 (2020-07-03) !function(e,t){"use strict";function n(e,t){for(var n,r=[],i=0;i=r.x&&o.x+o.w<=r.w+r.x&&o.y>=r.y&&o.y+o.h<=r.h+r.y)return i[a];return null}function n(e,t,n){return o(e.x-t,e.y-n,e.w+2*t,e.h+2*n)}function r(e,t){var n,r,i,a;return n=l(e.x,t.x),r=l(e.y,t.y),i=s(e.x+e.w,t.x+t.w),a=s(e.y+e.h,t.y+t.h),i-n<0||a-r<0?null:o(n,r,i-n,a-r)}function i(e,t,n){var r,i,a,s,u,c,d,f,p,h;return u=e.x,c=e.y,d=e.x+e.w,f=e.y+e.h,p=t.x+t.w,h=t.y+t.h,r=l(0,t.x-u),i=l(0,t.y-c),a=l(0,d-p),s=l(0,f-h),u+=r,c+=i,n&&(d+=r,f+=i,u-=a,c-=s),d-=a,f-=s,o(u,c,d-u,f-c)}function o(e,t,n,r){return{x:e,y:t,w:n,h:r}}function a(e){return o(e.left,e.top,e.width,e.height)}var s=Math.min,l=Math.max,u=Math.round;return{inflate:n,relativePosition:e,findBestRelativePosition:t,intersect:r,clamp:i,create:o,fromClientRect:a}}),r(u,[],function(){function e(e,t){return function(){e.apply(t,arguments)}}function t(t){if("object"!=typeof this)throw new TypeError("Promises must be constructed via new");if("function"!=typeof t)throw new TypeError("not a function");this._state=null,this._value=null,this._deferreds=[],s(t,e(r,this),e(i,this))}function n(e){var t=this;return null===this._state?void this._deferreds.push(e):void l(function(){var n=t._state?e.onFulfilled:e.onRejected;if(null===n)return void(t._state?e.resolve:e.reject)(t._value);var r;try{r=n(t._value)}catch(i){return void e.reject(i)}e.resolve(r)})}function r(t){try{if(t===this)throw new TypeError("A promise cannot be resolved with itself.");if(t&&("object"==typeof t||"function"==typeof t)){var n=t.then;if("function"==typeof n)return void s(e(n,t),e(r,this),e(i,this))}this._state=!0,this._value=t,o.call(this)}catch(a){i.call(this,a)}}function i(e){this._state=!1,this._value=e,o.call(this)}function o(){for(var e=0,t=this._deferreds.length;e=534;return{opera:r,webkit:i,ie:o,gecko:l,mac:u,iOS:c,android:d,contentEditable:g,transparentSrc:"data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7",caretAfter:8!=o,range:window.getSelection&&"Range"in window,documentMode:o&&!s?document.documentMode||7:10,fileApi:f,ceFalse:o===!1||o>8,canHaveCSP:o===!1||o>11,desktop:!p&&!h,windowsPhone:m}}),r(f,[c,d],function(e,t){function n(e,t,n,r){e.addEventListener?e.addEventListener(t,n,r||!1):e.attachEvent&&e.attachEvent("on"+t,n)}function r(e,t,n,r){e.removeEventListener?e.removeEventListener(t,n,r||!1):e.detachEvent&&e.detachEvent("on"+t,n)}function i(e,t){var n,r=t;return n=e.path,n&&n.length>0&&(r=n[0]),e.deepPath&&(n=e.deepPath(),n&&n.length>0&&(r=n[0])),r}function o(e,n){function r(){return!1}function o(){return!0}var a,s=n||{},l;for(a in e)c[a]||(s[a]=e[a]);if(s.target||(s.target=s.srcElement||document),t.experimentalShadowDom&&(s.target=i(e,s.target)),e&&u.test(e.type)&&e.pageX===l&&e.clientX!==l){var d=s.target.ownerDocument||document,f=d.documentElement,p=d.body;s.pageX=e.clientX+(f&&f.scrollLeft||p&&p.scrollLeft||0)-(f&&f.clientLeft||p&&p.clientLeft||0),s.pageY=e.clientY+(f&&f.scrollTop||p&&p.scrollTop||0)-(f&&f.clientTop||p&&p.clientTop||0)}return s.preventDefault=function(){s.isDefaultPrevented=o,e&&(e.preventDefault?e.preventDefault():e.returnValue=!1)},s.stopPropagation=function(){s.isPropagationStopped=o,e&&(e.stopPropagation?e.stopPropagation():e.cancelBubble=!0)},s.stopImmediatePropagation=function(){s.isImmediatePropagationStopped=o,s.stopPropagation()},s.isDefaultPrevented||(s.isDefaultPrevented=r,s.isPropagationStopped=r,s.isImmediatePropagationStopped=r),"undefined"==typeof s.metaKey&&(s.metaKey=!1),s}function a(t,i,o){function a(){o.domLoaded||(o.domLoaded=!0,i(c))}function s(){("complete"===u.readyState||"interactive"===u.readyState&&u.body)&&(r(u,"readystatechange",s),a())}function l(){try{u.documentElement.doScroll("left")}catch(t){return void e.setTimeout(l)}a()}var u=t.document,c={type:"ready"};return o.domLoaded?void i(c):(u.addEventListener?"complete"===u.readyState?a():n(t,"DOMContentLoaded",a):(n(u,"readystatechange",s),u.documentElement.doScroll&&t.self===t.top&&l()),void n(t,"load",a))}function s(){function e(e,t){var n,r,o,a,s=i[t];if(n=s&&s[e.type])for(r=0,o=n.length;rw.cacheLength&&delete e[t.shift()],e[n+" "]=r}var t=[];return e}function r(e){return e[F]=!0,e}function i(e){var t=D.createElement("div");try{return!!e(t)}catch(n){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function o(e,t){for(var n=e.split("|"),r=e.length;r--;)w.attrHandle[n[r]]=t}function a(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&(~t.sourceIndex||X)-(~e.sourceIndex||X);if(r)return r;if(n)for(;n=n.nextSibling;)if(n===t)return-1;return e?1:-1}function s(e){return function(t){var n=t.nodeName.toLowerCase();return"input"===n&&t.type===e}}function l(e){return function(t){var n=t.nodeName.toLowerCase();return("input"===n||"button"===n)&&t.type===e}}function u(e){return r(function(t){return t=+t,r(function(n,r){for(var i,o=e([],n.length,t),a=o.length;a--;)n[i=o[a]]&&(n[i]=!(r[i]=n[i]))})})}function c(e){return e&&typeof e.getElementsByTagName!==Y&&e}function d(){}function f(e){for(var t=0,n=e.length,r="";t1?function(t,n,r){for(var i=e.length;i--;)if(!e[i](t,n,r))return!1;return!0}:e[0]}function m(t,n,r){for(var i=0,o=n.length;i-1&&(r[u]=!(a[u]=d))}}else b=g(b===a?b.splice(h,b.length):b),o?o(null,a,b,l):Z.apply(a,b)})}function y(e){for(var t,n,r,i=e.length,o=w.relative[e[0].type],a=o||w.relative[" "],s=o?1:0,l=p(function(e){return e===t},a,!0),u=p(function(e){return te.call(t,e)>-1},a,!0),c=[function(e,n,r){return!o&&(r||n!==T)||((t=n).nodeType?l(e,n,r):u(e,n,r))}];s1&&h(c),s>1&&f(e.slice(0,s-1).concat({value:" "===e[s-2].type?"*":""})).replace(se,"$1"),n,s0,o=t.length>0,a=function(r,a,s,l,u){var c,d,f,p=0,h="0",m=r&&[],v=[],y=T,b=r||o&&w.find.TAG("*",u),C=U+=null==y?1:Math.random()||.1,x=b.length;for(u&&(T=a!==D&&a);h!==x&&null!=(c=b[h]);h++){if(o&&c){for(d=0;f=t[d++];)if(f(c,a,s)){l.push(c);break}u&&(U=C)}i&&((c=!f&&c)&&p--,r&&m.push(c))}if(p+=h,i&&h!==p){for(d=0;f=n[d++];)f(m,v,a,s);if(r){if(p>0)for(;h--;)m[h]||v[h]||(v[h]=J.call(l));v=g(v)}Z.apply(l,v),u&&!r&&v.length>0&&p+n.length>1&&e.uniqueSort(l)}return u&&(U=C,T=y),m};return i?r(a):a}var C,x,w,E,N,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F="sizzle"+-new Date,z=window.document,U=0,W=0,V=n(),$=n(),q=n(),j=function(e,t){return e===t&&(A=!0),0},Y=typeof t,X=1<<31,K={}.hasOwnProperty,G=[],J=G.pop,Q=G.push,Z=G.push,ee=G.slice,te=G.indexOf||function(e){for(var t=0,n=this.length;t+~]|"+re+")"+re+"*"),ce=new RegExp("="+re+"*([^\\]'\"]*?)"+re+"*\\]","g"),de=new RegExp(ae),fe=new RegExp("^"+ie+"$"),pe={ID:new RegExp("^#("+ie+")"),CLASS:new RegExp("^\\.("+ie+")"),TAG:new RegExp("^("+ie+"|[*])"),ATTR:new RegExp("^"+oe),PSEUDO:new RegExp("^"+ae),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+re+"*(even|odd|(([+-]|)(\\d*)n|)"+re+"*(?:([+-]|)"+re+"*(\\d+)|))"+re+"*\\)|)","i"),bool:new RegExp("^(?:"+ne+")$","i"),needsContext:new RegExp("^"+re+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+re+"*((?:-\\d)?\\d*)"+re+"*\\)|)(?=[^-]|$)","i")},he=/^(?:input|select|textarea|button)$/i,me=/^h\d$/i,ge=/^[^{]+\{\s*\[native \w/,ve=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ye=/[+~]/,be=/'|\\/g,Ce=new RegExp("\\\\([\\da-f]{1,6}"+re+"?|("+re+")|.)","ig"),xe=function(e,t,n){var r="0x"+t-65536;return r!==r||n?t:r<0?String.fromCharCode(r+65536):String.fromCharCode(r>>10|55296,1023&r|56320)};try{Z.apply(G=ee.call(z.childNodes),z.childNodes),G[z.childNodes.length].nodeType}catch(we){Z={apply:G.length?function(e,t){Q.apply(e,ee.call(t))}:function(e,t){for(var n=e.length,r=0;e[n++]=t[r++];);e.length=n-1}}}x=e.support={},N=e.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return!!t&&"HTML"!==t.nodeName},B=e.setDocument=function(e){function t(e){try{return e.top}catch(t){}return null}var n,r=e?e.ownerDocument||e:z,o=r.defaultView;return r!==D&&9===r.nodeType&&r.documentElement?(D=r,L=r.documentElement,M=!N(r),o&&o!==t(o)&&(o.addEventListener?o.addEventListener("unload",function(){B()},!1):o.attachEvent&&o.attachEvent("onunload",function(){B()})),x.attributes=i(function(e){return e.className="i",!e.getAttribute("className")}),x.getElementsByTagName=i(function(e){return e.appendChild(r.createComment("")),!e.getElementsByTagName("*").length}),x.getElementsByClassName=ge.test(r.getElementsByClassName),x.getById=i(function(e){return L.appendChild(e).id=F,!r.getElementsByName||!r.getElementsByName(F).length}),x.getById?(w.find.ID=function(e,t){if(typeof t.getElementById!==Y&&M){var n=t.getElementById(e);return n&&n.parentNode?[n]:[]}},w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){return e.getAttribute("id")===t}}):(delete w.find.ID,w.filter.ID=function(e){var t=e.replace(Ce,xe);return function(e){var n=typeof e.getAttributeNode!==Y&&e.getAttributeNode("id");return n&&n.value===t}}),w.find.TAG=x.getElementsByTagName?function(e,t){if(typeof t.getElementsByTagName!==Y)return t.getElementsByTagName(e)}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){for(;n=o[i++];)1===n.nodeType&&r.push(n);return r}return o},w.find.CLASS=x.getElementsByClassName&&function(e,t){if(M)return t.getElementsByClassName(e)},O=[],P=[],(x.qsa=ge.test(r.querySelectorAll))&&(i(function(e){e.innerHTML="",e.querySelectorAll("[msallowcapture^='']").length&&P.push("[*^$]="+re+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||P.push("\\["+re+"*(?:value|"+ne+")"),e.querySelectorAll(":checked").length||P.push(":checked")}),i(function(e){var t=r.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&P.push("name"+re+"*[*^$|!~]?="),e.querySelectorAll(":enabled").length||P.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),P.push(",.*:")})),(x.matchesSelector=ge.test(H=L.matches||L.webkitMatchesSelector||L.mozMatchesSelector||L.oMatchesSelector||L.msMatchesSelector))&&i(function(e){x.disconnectedMatch=H.call(e,"div"),H.call(e,"[s!='']:x"),O.push("!=",ae)}),P=P.length&&new RegExp(P.join("|")),O=O.length&&new RegExp(O.join("|")),n=ge.test(L.compareDocumentPosition),I=n||ge.test(L.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)for(;t=t.parentNode;)if(t===e)return!0;return!1},j=n?function(e,t){if(e===t)return A=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n?n:(n=(e.ownerDocument||e)===(t.ownerDocument||t)?e.compareDocumentPosition(t):1,1&n||!x.sortDetached&&t.compareDocumentPosition(e)===n?e===r||e.ownerDocument===z&&I(z,e)?-1:t===r||t.ownerDocument===z&&I(z,t)?1:R?te.call(R,e)-te.call(R,t):0:4&n?-1:1)}:function(e,t){if(e===t)return A=!0,0;var n,i=0,o=e.parentNode,s=t.parentNode,l=[e],u=[t];if(!o||!s)return e===r?-1:t===r?1:o?-1:s?1:R?te.call(R,e)-te.call(R,t):0;if(o===s)return a(e,t);for(n=e;n=n.parentNode;)l.unshift(n);for(n=t;n=n.parentNode;)u.unshift(n);for(;l[i]===u[i];)i++;return i?a(l[i],u[i]):l[i]===z?-1:u[i]===z?1:0},r):D},e.matches=function(t,n){return e(t,null,null,n)},e.matchesSelector=function(t,n){if((t.ownerDocument||t)!==D&&B(t),n=n.replace(ce,"='$1']"),x.matchesSelector&&M&&(!O||!O.test(n))&&(!P||!P.test(n)))try{var r=H.call(t,n);if(r||x.disconnectedMatch||t.document&&11!==t.document.nodeType)return r}catch(i){}return e(n,D,null,[t]).length>0},e.contains=function(e,t){return(e.ownerDocument||e)!==D&&B(e),I(e,t)},e.attr=function(e,n){(e.ownerDocument||e)!==D&&B(e);var r=w.attrHandle[n.toLowerCase()],i=r&&K.call(w.attrHandle,n.toLowerCase())?r(e,n,!M):t;return i!==t?i:x.attributes||!M?e.getAttribute(n):(i=e.getAttributeNode(n))&&i.specified?i.value:null},e.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},e.uniqueSort=function(e){var t,n=[],r=0,i=0;if(A=!x.detectDuplicates,R=!x.sortStable&&e.slice(0),e.sort(j),A){for(;t=e[i++];)t===e[i]&&(r=n.push(i));for(;r--;)e.splice(n[r],1)}return R=null,e},E=e.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(1===i||9===i||11===i){if("string"==typeof e.textContent)return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=E(e)}else if(3===i||4===i)return e.nodeValue}else for(;t=e[r++];)n+=E(t);return n},w=e.selectors={cacheLength:50,createPseudo:r,match:pe,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(Ce,xe),e[3]=(e[3]||e[4]||e[5]||"").replace(Ce,xe),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(t){return t[1]=t[1].toLowerCase(),"nth"===t[1].slice(0,3)?(t[3]||e.error(t[0]),t[4]=+(t[4]?t[5]+(t[6]||1):2*("even"===t[3]||"odd"===t[3])),t[5]=+(t[7]+t[8]||"odd"===t[3])):t[3]&&e.error(t[0]),t},PSEUDO:function(e){var t,n=!e[6]&&e[2];return pe.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&de.test(n)&&(t=_(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(Ce,xe).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=V[e+" "];return t||(t=new RegExp("(^|"+re+")"+e+"("+re+"|$)"))&&V(e,function(e){return t.test("string"==typeof e.className&&e.className||typeof e.getAttribute!==Y&&e.getAttribute("class")||"")})},ATTR:function(t,n,r){return function(i){var o=e.attr(i,t);return null==o?"!="===n:!n||(o+="","="===n?o===r:"!="===n?o!==r:"^="===n?r&&0===o.indexOf(r):"*="===n?r&&o.indexOf(r)>-1:"$="===n?r&&o.slice(-r.length)===r:"~="===n?(" "+o+" ").indexOf(r)>-1:"|="===n&&(o===r||o.slice(0,r.length+1)===r+"-"))}},CHILD:function(e,t,n,r,i){var o="nth"!==e.slice(0,3),a="last"!==e.slice(-4),s="of-type"===t;return 1===r&&0===i?function(e){return!!e.parentNode}:function(t,n,l){var u,c,d,f,p,h,m=o!==a?"nextSibling":"previousSibling",g=t.parentNode,v=s&&t.nodeName.toLowerCase(),y=!l&&!s;if(g){if(o){for(;m;){for(d=t;d=d[m];)if(s?d.nodeName.toLowerCase()===v:1===d.nodeType)return!1;h=m="only"===e&&!h&&"nextSibling"}return!0}if(h=[a?g.firstChild:g.lastChild],a&&y){for(c=g[F]||(g[F]={}),u=c[e]||[],p=u[0]===U&&u[1],f=u[0]===U&&u[2],d=p&&g.childNodes[p];d=++p&&d&&d[m]||(f=p=0)||h.pop();)if(1===d.nodeType&&++f&&d===t){c[e]=[U,p,f];break}}else if(y&&(u=(t[F]||(t[F]={}))[e])&&u[0]===U)f=u[1];else for(;(d=++p&&d&&d[m]||(f=p=0)||h.pop())&&((s?d.nodeName.toLowerCase()!==v:1!==d.nodeType)||!++f||(y&&((d[F]||(d[F]={}))[e]=[U,f]),d!==t)););return f-=i,f===r||f%r===0&&f/r>=0}}},PSEUDO:function(t,n){var i,o=w.pseudos[t]||w.setFilters[t.toLowerCase()]||e.error("unsupported pseudo: "+t);return o[F]?o(n):o.length>1?(i=[t,t,"",n],w.setFilters.hasOwnProperty(t.toLowerCase())?r(function(e,t){for(var r,i=o(e,n),a=i.length;a--;)r=te.call(e,i[a]),e[r]=!(t[r]=i[a])}):function(e){return o(e,0,i)}):o}},pseudos:{not:r(function(e){var t=[],n=[],i=S(e.replace(se,"$1"));return i[F]?r(function(e,t,n,r){for(var o,a=i(e,null,r,[]),s=e.length;s--;)(o=a[s])&&(e[s]=!(t[s]=o))}):function(e,r,o){return t[0]=e,i(t,null,o,n),!n.pop()}}),has:r(function(t){return function(n){return e(t,n).length>0}}),contains:r(function(e){return e=e.replace(Ce,xe),function(t){return(t.textContent||t.innerText||E(t)).indexOf(e)>-1}}),lang:r(function(t){return fe.test(t||"")||e.error("unsupported lang: "+t),t=t.replace(Ce,xe).toLowerCase(),function(e){var n;do if(n=M?e.lang:e.getAttribute("xml:lang")||e.getAttribute("lang"))return n=n.toLowerCase(),n===t||0===n.indexOf(t+"-");while((e=e.parentNode)&&1===e.nodeType);return!1}}),target:function(e){var t=window.location&&window.location.hash;return t&&t.slice(1)===e.id},root:function(e){return e===L},focus:function(e){return e===D.activeElement&&(!D.hasFocus||D.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&!!e.checked||"option"===t&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},empty:function(e){for(e=e.firstChild;e;e=e.nextSibling)if(e.nodeType<6)return!1;return!0},parent:function(e){return!w.pseudos.empty(e)},header:function(e){return me.test(e.nodeName)},input:function(e){return he.test(e.nodeName)},button:function(e){var t=e.nodeName.toLowerCase();return"input"===t&&"button"===e.type||"button"===t},text:function(e){var t;return"input"===e.nodeName.toLowerCase()&&"text"===e.type&&(null==(t=e.getAttribute("type"))||"text"===t.toLowerCase())},first:u(function(){return[0]}),last:u(function(e,t){return[t-1]}),eq:u(function(e,t,n){return[n<0?n+t:n]}),even:u(function(e,t){for(var n=0;n=0;)e.push(r);return e}),gt:u(function(e,t,n){for(var r=n<0?n+t:n;++r2&&"ID"===(a=o[0]).type&&x.getById&&9===t.nodeType&&M&&w.relative[o[1].type]){if(t=(w.find.ID(a.matches[0].replace(Ce,xe),t)||[])[0],!t)return n;u&&(t=t.parentNode),e=e.slice(o.shift().value.length)}for(i=pe.needsContext.test(e)?0:o.length;i--&&(a=o[i],!w.relative[s=a.type]);)if((l=w.find[s])&&(r=l(a.matches[0].replace(Ce,xe),ye.test(o[0].type)&&c(t.parentNode)||t))){if(o.splice(i,1),e=r.length&&f(o),!e)return Z.apply(n,r),n;break}}return(u||S(e,d))(r,t,!M,n,ye.test(e)&&c(t.parentNode)||t),n},x.sortStable=F.split("").sort(j).join("")===F,x.detectDuplicates=!!A,B(),x.sortDetached=i(function(e){return 1&e.compareDocumentPosition(D.createElement("div"))}),i(function(e){return e.innerHTML="","#"===e.firstChild.getAttribute("href")})||o("type|href|height|width",function(e,t,n){if(!n)return e.getAttribute(t,"type"===t.toLowerCase()?1:2)}),x.attributes&&i(function(e){return e.innerHTML="",e.firstChild.setAttribute("value",""),""===e.firstChild.getAttribute("value")})||o("value",function(e,t,n){if(!n&&"input"===e.nodeName.toLowerCase())return e.defaultValue}),i(function(e){return null==e.getAttribute("disabled")})||o(ne,function(e,t,n){var r;if(!n)return e[t]===!0?t.toLowerCase():(r=e.getAttributeNode(t))&&r.specified?r.value:null}),e}),r(h,[],function(){function e(e){var t=e,n,r;if(!c(e))for(t=[],n=0,r=e.length;n=0;i--)u(e,t[i],n,r);else for(i=0;i)[^>]*$|#([\w\-]*)$)/,S=e.Event,k,T=r.makeMap("children,contents,next,prev"),R=r.makeMap("fillOpacity fontWeight lineHeight opacity orphans widows zIndex zoom"," "),A=r.makeMap("checked compact declare defer disabled ismap multiple nohref noshade nowrap readonly selected"," "),B={"for":"htmlFor","class":"className",readonly:"readOnly"},D={"float":"cssFloat"},L={},M={},P=/^\s*|\s*$/g;return f.fn=f.prototype={constructor:f,selector:"",context:null,length:0,init:function(e,t){var n=this,r,i;if(!e)return n;if(e.nodeType)return n.context=n[0]=e,n.length=1,n;if(t&&t.nodeType)n.context=t;else{if(t)return f(e).attr(t);n.context=t=document}if(a(e)){if(n.selector=e,r="<"===e.charAt(0)&&">"===e.charAt(e.length-1)&&e.length>=3?[null,e,null]:_.exec(e),!r)return f(t).find(e);if(r[1])for(i=l(e,v(t)).firstChild;i;)E.call(n,i),i=i.nextSibling;else{if(i=v(t).getElementById(r[2]),!i)return n;if(i.id!==r[2])return n.find(e);n.length=1,n[0]=i}}else this.add(e,!1);return n},toArray:function(){return r.toArray(this)},add:function(e,t){var n=this,r,i;if(a(e))return n.add(f(e));if(t!==!1)for(r=f.unique(n.toArray().concat(f.makeArray(e))),n.length=r.length,i=0;i1&&(T[e]||(i=f.unique(i)),0===e.indexOf("parents")&&(i=i.reverse())),i=f(i),n?i.filter(n):i}}),m({parentsUntil:function(e,t){return y(e,"parentNode",t)},nextUntil:function(e,t){return b(e,"nextSibling",1,t).slice(1)},prevUntil:function(e,t){return b(e,"previousSibling",1,t).slice(1)}},function(e,t){f.fn[e]=function(n,r){var i=this,o=[];return i.each(function(){var e=t.call(o,this,n,o);e&&(f.isArray(e)?o.push.apply(o,e):o.push(e))}),this.length>1&&(o=f.unique(o),0!==e.indexOf("parents")&&"prevUntil"!==e||(o=o.reverse())),o=f(o),r?o.filter(r):o}}),f.fn.is=function(e){return!!e&&this.filter(e).length>0},f.fn.init.prototype=f.fn,f.overrideDefaults=function(e){function t(r,i){return n=n||e(),0===arguments.length&&(r=n.element),i||(i=n.context),new t.fn.init(r,i)}var n;return f.extend(t,this),t},i.ie&&i.ie<8&&(x(L,"get",{maxlength:function(e){var t=e.maxLength;return 2147483647===t?k:t},size:function(e){var t=e.size;return 20===t?k:t},"class":function(e){return e.className},style:function(e){var t=e.style.cssText;return 0===t.length?k:t}}),x(L,"set",{"class":function(e,t){e.className=t},style:function(e,t){e.style.cssText=t}})),i.ie&&i.ie<9&&(D["float"]="styleFloat",x(M,"set",{opacity:function(e,t){var n=e.style;null===t||""===t?n.removeAttribute("filter"):(n.zoom=1,n.filter="alpha(opacity="+100*t+")")}})),f.attrHooks=L,f.cssHooks=M,f}),r(v,[],function(){return function(e,t){function n(e,t,n,r){function i(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+i(t)+i(n)+i(r)}var r=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi,i=/(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi,o=/\s*([^:]+):\s*([^;]+);?/g,a=/\s+$/,s,l={},u,c,d,f="\ufeff";for(e=e||{},t&&(c=t.getValidStyles(),d=t.getInvalidStyles()),u=("\\\" \\' \\; \\: ; : "+f).split(" "),s=0;s-1&&n||(y[e+t]=s==-1?l[0]:l.join(" "),delete y[e+"-top"+t],delete y[e+"-right"+t],delete y[e+"-bottom"+t],delete y[e+"-left"+t])}}function c(e){var t=y[e],n;if(t){for(t=t.split(" "),n=t.length;n--;)if(t[n]!==t[0])return!1;return y[e]=t[0],!0}}function d(e,t,n,r){c(t)&&c(n)&&c(r)&&(y[e]=y[t]+" "+y[n]+" "+y[r],delete y[t],delete y[n],delete y[r])}function p(e){return w=!0,l[e]}function h(e,t){return w&&(e=e.replace(/\uFEFF[0-9]/g,function(e){return l[e]})),t||(e=e.replace(/\\([\'\";:])/g,"$1")),e}function m(e){return String.fromCharCode(parseInt(e.slice(1),16))}function g(e){return e.replace(/\\[0-9a-f]+/gi,m)}function v(t,n,r,i,o,a){if(o=o||a)return o=h(o),"'"+o.replace(/\'/g,"\\'")+"'";if(n=h(n||r||i),!e.allow_script_urls){var s=n.replace(/[\s\r\n]+/g,"");if(/(java|vb)script:/i.test(s))return"";if(!e.allow_svg_data_urls&&/^data:image\/svg/i.test(s))return""}return E&&(n=E.call(N,n,"style")),"url('"+n.replace(/\'/g,"\\'")+"')"}var y={},b,C,x,w,E=e.url_converter,N=e.url_converter_scope||this;if(t){for(t=t.replace(/[\u0000-\u001F]/g,""),t=t.replace(/\\[\"\';:\uFEFF]/g,p).replace(/\"[^\"]+\"|\'[^\']+\'/g,function(e){return e.replace(/[;:]/g,p)});b=o.exec(t);)if(o.lastIndex=b.index+b[0].length,C=b[1].replace(a,"").toLowerCase(),x=b[2].replace(a,""),C&&x){if(C=g(C),x=g(x),C.indexOf(f)!==-1||C.indexOf('"')!==-1)continue;if(!e.allow_script_urls&&("behavior"==C||/expression\s*\(|\/\*|\*\//.test(x)))continue;"font-weight"===C&&"700"===x?x="bold":"color"!==C&&"background-color"!==C||(x=x.toLowerCase()),x=x.replace(r,n),x=x.replace(i,v),y[C]=w?h(x,!0):x}u("border","",!0),u("border","-width"),u("border","-color"),u("border","-style"),u("padding",""),u("margin",""),d("border","border-width","border-style","border-color"),"medium none"===y.border&&delete y.border,"none"===y["border-image"]&&delete y["border-image"]}return y},serialize:function(e,t){function n(t){var n,r,o,a;if(n=c[t])for(r=0,o=n.length;r0?" ":"")+t+": "+a+";")}function r(e,t){var n;return n=d["*"],(!n||!n[e])&&(n=d[t],!n||!n[e])}var i="",o,a;if(t&&c)n("*"),n(t);else for(o in e)a=e[o],!a||d&&!r(o,t)||(i+=(i.length>0?" ":"")+o+": "+a+";");return i}}}}),r(y,[],function(){return function(e,t){function n(e,n,r,i){var o,a;if(e){if(!i&&e[n])return e[n];if(e!=t){if(o=e[r])return o;for(a=e.parentNode;a&&a!=t;a=a.parentNode)if(o=a[r])return o}}}function r(e,n,r,i){var o,a,s;if(e){if(o=e[r],t&&o===t)return;if(o){if(!i)for(s=o[n];s;s=s[n])if(!s[n])return s;return o}if(a=e.parentNode,a&&a!==t)return a}}var i=e;this.current=function(){return i},this.next=function(e){return i=n(i,"firstChild","nextSibling",e)},this.prev=function(e){return i=n(i,"lastChild","previousSibling",e)},this.prev2=function(e){return i=r(i,"lastChild","previousSibling",e)}}}),r(b,[m],function(e){function t(n){function r(){return P.createDocumentFragment()}function i(e,t){E(F,e,t)}function o(e,t){E(z,e,t)}function a(e){i(e.parentNode,j(e))}function s(e){i(e.parentNode,j(e)+1)}function l(e){o(e.parentNode,j(e))}function u(e){o(e.parentNode,j(e)+1)}function c(e){e?(M[V]=M[W],M[$]=M[U]):(M[W]=M[V],M[U]=M[$]),M.collapsed=F}function d(e){a(e),u(e)}function f(e){i(e,0),o(e,1===e.nodeType?e.childNodes.length:e.nodeValue.length)}function p(e,t){var n=M[W],r=M[U],i=M[V],o=M[$],a=t.startContainer,s=t.startOffset,l=t.endContainer,u=t.endOffset;return 0===e?w(n,r,a,s):1===e?w(i,o,a,s):2===e?w(i,o,l,u):3===e?w(n,r,l,u):void 0}function h(){N(I)}function m(){return N(O)}function g(){return N(H)}function v(e){var t=this[W],r=this[U],i,o;3!==t.nodeType&&4!==t.nodeType||!t.nodeValue?(t.childNodes.length>0&&(o=t.childNodes[r]),o?t.insertBefore(e,o):3==t.nodeType?n.insertAfter(e,t):t.appendChild(e)):r?r>=t.nodeValue.length?n.insertAfter(e,t):(i=t.splitText(r),t.parentNode.insertBefore(e,i)):t.parentNode.insertBefore(e,t)}function y(e){var t=M.extractContents();M.insertNode(e),e.appendChild(t),M.selectNode(e)}function b(){return q(new t(n),{startContainer:M[W],startOffset:M[U],endContainer:M[V],endOffset:M[$],collapsed:M.collapsed,commonAncestorContainer:M.commonAncestorContainer})}function C(e,t){var n;if(3==e.nodeType)return e;if(t<0)return e;for(n=e.firstChild;n&&t>0;)--t,n=n.nextSibling;return n?n:e}function x(){return M[W]==M[V]&&M[U]==M[$]}function w(e,t,r,i){var o,a,s,l,u,c;if(e==r)return t==i?0:t0&&M.collapse(e):M.collapse(e),M.collapsed=x(),M.commonAncestorContainer=n.findCommonAncestor(M[W],M[V])}function N(e){var t,n=0,r=0,i,o,a,s,l,u;if(M[W]==M[V])return _(e);for(t=M[V],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[W])return S(t,e);++n}for(t=M[W],i=t.parentNode;i;t=i,i=i.parentNode){if(i==M[V])return k(t,e);++r}for(o=r-n,a=M[W];o>0;)a=a.parentNode,o--;for(s=M[V];o<0;)s=s.parentNode,o++;for(l=a.parentNode,u=s.parentNode;l!=u;l=l.parentNode,u=u.parentNode)a=l,s=u;return T(a,s,e)}function _(e){var t,n,i,o,a,s,l,u,c;if(e!=I&&(t=r()),M[U]==M[$])return t;if(3==M[W].nodeType){if(n=M[W].nodeValue,i=n.substring(M[U],M[$]),e!=H&&(o=M[W],u=M[U],c=M[$]-M[U],0===u&&c>=o.nodeValue.length-1?o.parentNode.removeChild(o):o.deleteData(u,c),M.collapse(F)),e==I)return;return i.length>0&&t.appendChild(P.createTextNode(i)),t}for(o=C(M[W],M[U]),a=M[$]-M[U];o&&a>0;)s=o.nextSibling,l=D(o,e),t&&t.appendChild(l),--a,o=s;return e!=H&&M.collapse(F),t}function S(e,t){var n,i,o,a,s,l;if(t!=I&&(n=r()),i=R(e,t),n&&n.appendChild(i),o=j(e),a=o-M[U],a<=0)return t!=H&&(M.setEndBefore(e),M.collapse(z)),n;for(i=e.previousSibling;a>0;)s=i.previousSibling,l=D(i,t),n&&n.insertBefore(l,n.firstChild),--a,i=s;return t!=H&&(M.setEndBefore(e),M.collapse(z)),n}function k(e,t){var n,i,o,a,s,l;for(t!=I&&(n=r()),o=A(e,t),n&&n.appendChild(o),i=j(e),++i,a=M[$]-i,o=e.nextSibling;o&&a>0;)s=o.nextSibling,l=D(o,t),n&&n.appendChild(l),--a,o=s;return t!=H&&(M.setStartAfter(e),M.collapse(F)),n}function T(e,t,n){var i,o,a,s,l,u,c;for(n!=I&&(o=r()),i=A(e,n),o&&o.appendChild(i),a=j(e),s=j(t),++a,l=s-a,u=e.nextSibling;l>0;)c=u.nextSibling,i=D(u,n),o&&o.appendChild(i),u=c,--l;return i=R(t,n),o&&o.appendChild(i),n!=H&&(M.setStartAfter(e),M.collapse(F)),o}function R(e,t){var n=C(M[V],M[$]-1),r,i,o,a,s,l=n!=M[V];if(n==e)return B(n,l,z,t);for(r=n.parentNode,i=B(r,z,z,t);r;){for(;n;)o=n.previousSibling,a=B(n,l,z,t),t!=I&&i.insertBefore(a,i.firstChild),l=F,n=o;if(r==e)return i;n=r.previousSibling,r=r.parentNode,s=B(r,z,z,t),t!=I&&s.appendChild(i),i=s}}function A(e,t){var n=C(M[W],M[U]),r=n!=M[W],i,o,a,s,l;if(n==e)return B(n,r,F,t);for(i=n.parentNode,o=B(i,z,F,t);i;){for(;n;)a=n.nextSibling,s=B(n,r,F,t),t!=I&&o.appendChild(s),r=F,n=a;if(i==e)return o;n=i.nextSibling,i=i.parentNode,l=B(i,z,F,t),t!=I&&l.appendChild(o),o=l}}function B(e,t,r,i){var o,a,s,l,u;if(t)return D(e,i);if(3==e.nodeType){if(o=e.nodeValue,r?(l=M[U],a=o.substring(l),s=o.substring(0,l)):(l=M[$],a=o.substring(0,l),s=o.substring(l)),i!=H&&(e.nodeValue=s),i==I)return;return u=n.clone(e,z),u.nodeValue=a,u}if(i!=I)return n.clone(e,z)}function D(e,t){return t!=I?t==H?n.clone(e,F):e:void e.parentNode.removeChild(e)}function L(){return n.create("body",null,g()).outerText}var M=this,P=n.doc,O=0,H=1,I=2,F=!0,z=!1,U="startOffset",W="startContainer",V="endContainer",$="endOffset",q=e.extend,j=n.nodeIndex;return q(M,{startContainer:P,startOffset:0,endContainer:P,endOffset:0,collapsed:F,commonAncestorContainer:P,START_TO_START:0,START_TO_END:1,END_TO_END:2,END_TO_START:3,setStart:i,setEnd:o,setStartBefore:a,setStartAfter:s,setEndBefore:l,setEndAfter:u,collapse:c,selectNode:d,selectNodeContents:f,compareBoundaryPoints:p,deleteContents:h,extractContents:m,cloneContents:g,insertNode:v,surroundContents:y,cloneRange:b,toStringIE:L}),M}return t.prototype.toString=function(){return this.toStringIE()},t}),r(C,[m],function(e){function t(e){var t;return t=document.createElement("div"),t.innerHTML=e,t.textContent||t.innerText||e}function n(e,t){var n,r,i,a={};if(e){for(e=e.split(","),t=t||10,n=0;n\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,l=/[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g,u=/[<>&\"\']/g,c=/&#([a-z0-9]+);?|&([a-z0-9]+);/gi,d={128:"\u20ac",130:"\u201a",131:"\u0192",132:"\u201e",133:"\u2026",134:"\u2020",135:"\u2021",136:"\u02c6",137:"\u2030",138:"\u0160",139:"\u2039",140:"\u0152",142:"\u017d",145:"\u2018",146:"\u2019",147:"\u201c",148:"\u201d",149:"\u2022",150:"\u2013",151:"\u2014",152:"\u02dc",153:"\u2122",154:"\u0161",155:"\u203a",156:"\u0153",158:"\u017e",159:"\u0178"};o={'"':""","'":"'","<":"<",">":">","&":"&","`":"`"},a={"<":"<",">":">","&":"&",""":'"',"'":"'"},i=n("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32);var f={encodeRaw:function(e,t){return e.replace(t?s:l,function(e){return o[e]||e})},encodeAllRaw:function(e){return(""+e).replace(u,function(e){return o[e]||e})},encodeNumeric:function(e,t){return e.replace(t?s:l,function(e){return e.length>1?"&#"+(1024*(e.charCodeAt(0)-55296)+(e.charCodeAt(1)-56320)+65536)+";":o[e]||"&#"+e.charCodeAt(0)+";"})},encodeNamed:function(e,t,n){return n=n||i,e.replace(t?s:l,function(e){return o[e]||n[e]||e})},getEncodeFunc:function(e,t){function a(e,n){return e.replace(n?s:l,function(e){return o[e]||t[e]||"&#"+e.charCodeAt(0)+";"||e})}function u(e,n){return f.encodeNamed(e,n,t)}return t=n(t)||i,e=r(e.replace(/\+/g,",")),e.named&&e.numeric?a:e.named?t?u:f.encodeNamed:e.numeric?f.encodeNumeric:f.encodeRaw},decode:function(e){return e.replace(c,function(e,n){return n?(n="x"===n.charAt(0).toLowerCase()?parseInt(n.substr(1),16):parseInt(n,10),n>65535?(n-=65536,String.fromCharCode(55296+(n>>10),56320+(1023&n))):d[n]||String.fromCharCode(n)):a[e]||i[e]||t(e)})}};return f}),r(x,[m,c],function(e,t){return function(n,r){function i(e){n.getElementsByTagName("head")[0].appendChild(e)}function o(r,o,u){function c(){for(var e=b.passed,t=e.length;t--;)e[t]();b.status=2,b.passed=[],b.failed=[]}function d(){for(var e=b.failed,t=e.length;t--;)e[t]();b.status=3,b.passed=[],b.failed=[]}function f(){var e=navigator.userAgent.match(/WebKit\/(\d*)/);return!!(e&&e[1]<536)}function p(e,n){e()||((new Date).getTime()-y0)return v=n.createElement("style"),v.textContent='@import "'+r+'"',m(),void i(v);h()}i(g),g.href=r}}var a=0,s={},l;r=r||{},l=r.maxLoadTime||5e3,this.load=o}}),r(w,[p,g,v,f,y,b,C,d,m,x],function(e,n,r,i,o,a,s,l,u,c){function d(e,t){var n={},r=t.keep_values,i;return i={set:function(n,r,i){t.url_converter&&(r=t.url_converter.call(t.url_converter_scope||e,r,i,n[0])),n.attr("data-mce-"+i,r).attr(i,r)},get:function(e,t){return e.attr("data-mce-"+t)||e.attr(t)}},n={style:{set:function(e,t){return null!==t&&"object"==typeof t?void e.css(t):(r&&e.attr("data-mce-style",t),void e.attr("style",t))},get:function(t){var n=t.attr("data-mce-style")||t.attr("style");return n=e.serializeStyle(e.parseStyle(n),t[0].nodeName)}}},r&&(n.href=n.src=i),n}function f(e,t){var n=t.attr("style");n=e.serializeStyle(e.parseStyle(n),t[0].nodeName),n||(n=null),t.attr("data-mce-style",n)}function p(e,t){var n=0,r,i;if(e)for(r=e.nodeType,e=e.previousSibling;e;e=e.previousSibling)i=e.nodeType,(!t||3!=i||i!=r&&e.nodeValue.length)&&(n++,r=i);return n}function h(e,t){var o=this,a;o.doc=e,o.win=window,o.files={},o.counter=0,o.stdMode=!b||e.documentMode>=8,o.boxModel=!b||"CSS1Compat"==e.compatMode||o.stdMode,o.styleSheetLoader=new c(e),o.boundEvents=[],o.settings=t=t||{},o.schema=t.schema,o.styles=new r({url_converter:t.url_converter,url_converter_scope:t.url_converter_scope},t.schema),o.fixDoc(e),o.events=t.ownEvents?new i(t.proxy):i.Event,o.attrHooks=d(o,t),a=t.schema?t.schema.getBlockElements():{},o.$=n.overrideDefaults(function(){return{context:e,element:o.getRoot()}}),o.isBlock=function(e){if(!e)return!1;var t=e.nodeType;return t?!(1!==t||!a[e.nodeName]):!!a[e]}}var m=u.each,g=u.is,v=u.grep,y=u.trim,b=l.ie,C=/^([a-z0-9],?)+$/i,x=/^[ \t\r\n]*$/;return h.prototype={$$:function(e){return"string"==typeof e&&(e=this.get(e)),this.$(e)},root:null,fixDoc:function(e){var t=this.settings,n;if(b&&t.schema){"abbr article aside audio canvas details figcaption figure footer header hgroup mark menu meter nav output progress section summary time video".replace(/\w+/g,function(t){e.createElement(t)});for(n in t.schema.getCustomElements())e.createElement(n)}},clone:function(e,t){var n=this,r,i;return!b||1!==e.nodeType||t?e.cloneNode(t):(i=n.doc,t?r.firstChild:(r=i.createElement(e.nodeName),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),r))},getRoot:function(){var e=this;return e.settings.root_element||e.doc.body},getViewPort:function(e){var t,n;return e=e?e:this.win,t=e.document,n=this.boxModel?t.documentElement:t.body,{x:e.pageXOffset||n.scrollLeft,y:e.pageYOffset||n.scrollTop,w:e.innerWidth||n.clientWidth,h:e.innerHeight||n.clientHeight}},getRect:function(e){var t=this,n,r;return e=t.get(e),n=t.getPos(e),r=t.getSize(e),{x:n.x,y:n.y,w:r.w,h:r.h}},getSize:function(e){var t=this,n,r;return e=t.get(e),n=t.getStyle(e,"width"),r=t.getStyle(e,"height"),n.indexOf("px")===-1&&(n=0),r.indexOf("px")===-1&&(r=0), {w:parseInt(n,10)||e.offsetWidth||e.clientWidth,h:parseInt(r,10)||e.offsetHeight||e.clientHeight}},getParent:function(e,t,n){return this.getParents(e,t,n,!1)},getParents:function(e,n,r,i){var o=this,a,s=[];for(e=o.get(e),i=i===t,r=r||("BODY"!=o.getRoot().nodeName?o.getRoot().parentNode:null),g(n,"string")&&(a=n,n="*"===n?function(e){return 1==e.nodeType}:function(e){return o.is(e,a)});e&&e!=r&&e.nodeType&&9!==e.nodeType;){if(!n||n(e)){if(!i)return e;s.push(e)}e=e.parentNode}return i?s:null},get:function(e){var t;return e&&this.doc&&"string"==typeof e&&(t=e,e=this.doc.getElementById(e),e&&e.id!==t)?this.doc.getElementsByName(t)[1]:e},getNext:function(e,t){return this._findSib(e,t,"nextSibling")},getPrev:function(e,t){return this._findSib(e,t,"previousSibling")},select:function(t,n){var r=this;return e(t,r.get(n)||r.settings.root_element||r.doc,[])},is:function(n,r){var i;if(n.length===t){if("*"===r)return 1==n.nodeType;if(C.test(r)){for(r=r.toLowerCase().split(/,/),n=n.nodeName.toLowerCase(),i=r.length-1;i>=0;i--)if(r[i]==n)return!0;return!1}}if(n.nodeType&&1!=n.nodeType)return!1;var o=n.nodeType?[n]:n;return e(r,o[0].ownerDocument||o[0],null,o).length>0},add:function(e,t,n,r,i){var o=this;return this.run(e,function(e){var a;return a=g(t,"string")?o.doc.createElement(t):t,o.setAttribs(a,n),r&&(r.nodeType?a.appendChild(r):o.setHTML(a,r)),i?a:e.appendChild(a)})},create:function(e,t,n){return this.add(this.doc.createElement(e),e,t,n,1)},createHTML:function(e,t,n){var r="",i;r+="<"+e;for(i in t)t.hasOwnProperty(i)&&null!==t[i]&&"undefined"!=typeof t[i]&&(r+=" "+i+'="'+this.encode(t[i])+'"');return"undefined"!=typeof n?r+">"+n+"":r+" />"},createFragment:function(e){var t,n,r=this.doc,i;for(i=r.createElement("div"),t=r.createDocumentFragment(),e&&(i.innerHTML=e);n=i.firstChild;)t.appendChild(n);return t},remove:function(e,t){return e=this.$$(e),t?e.each(function(){for(var e;e=this.firstChild;)3==e.nodeType&&0===e.data.length?this.removeChild(e):this.parentNode.insertBefore(e,this)}).remove():e.remove(),e.length>1?e.toArray():e[0]},setStyle:function(e,t,n){e=this.$$(e).css(t,n),this.settings.update_styles&&f(this,e)},getStyle:function(e,n,r){return e=this.$$(e),r?e.css(n):(n=n.replace(/-(\D)/g,function(e,t){return t.toUpperCase()}),"float"==n&&(n=l.ie&&l.ie<12?"styleFloat":"cssFloat"),e[0]&&e[0].style?e[0].style[n]:t)},setStyles:function(e,t){e=this.$$(e).css(t),this.settings.update_styles&&f(this,e)},removeAllAttribs:function(e){return this.run(e,function(e){var t,n=e.attributes;for(t=n.length-1;t>=0;t--)e.removeAttributeNode(n.item(t))})},setAttrib:function(e,t,n){var r=this,i,o,a=r.settings;""===n&&(n=null),e=r.$$(e),i=e.attr(t),e.length&&(o=r.attrHooks[t],o&&o.set?o.set(e,n,t):e.attr(t,n),i!=n&&a.onSetAttrib&&a.onSetAttrib({attrElm:e,attrName:t,attrValue:n}))},setAttribs:function(e,t){var n=this;n.$$(e).each(function(e,r){m(t,function(e,t){n.setAttrib(r,t,e)})})},getAttrib:function(e,t,n){var r=this,i,o;return e=r.$$(e),e.length&&(i=r.attrHooks[t],o=i&&i.get?i.get(e,t):e.attr(t)),"undefined"==typeof o&&(o=n||""),o},getPos:function(e,t){var r=this,i=0,o=0,a,s=r.doc,l=s.body,u;if(e=r.get(e),t=t||l,e){if(t===l&&e.getBoundingClientRect&&"static"===n(l).css("position"))return u=e.getBoundingClientRect(),t=r.boxModel?s.documentElement:l,i=u.left+(s.documentElement.scrollLeft||l.scrollLeft)-t.clientLeft,o=u.top+(s.documentElement.scrollTop||l.scrollTop)-t.clientTop,{x:i,y:o};for(a=e;a&&a!=t&&a.nodeType;)i+=a.offsetLeft||0,o+=a.offsetTop||0,a=a.offsetParent;for(a=e.parentNode;a&&a!=t&&a.nodeType;)i-=a.scrollLeft||0,o-=a.scrollTop||0,a=a.parentNode}return{x:i,y:o}},parseStyle:function(e){return this.styles.parse(e)},serializeStyle:function(e,t){return this.styles.serialize(e,t)},addStyle:function(e){var t=this,n=t.doc,r,i;if(t!==h.DOM&&n===document){var o=h.DOM.addedStyles;if(o=o||[],o[e])return;o[e]=!0,h.DOM.addedStyles=o}i=n.getElementById("mceDefaultStyles"),i||(i=n.createElement("style"),i.id="mceDefaultStyles",i.type="text/css",r=n.getElementsByTagName("head")[0],r.firstChild?r.insertBefore(i,r.firstChild):r.appendChild(i)),i.styleSheet?i.styleSheet.cssText+=e:i.appendChild(n.createTextNode(e))},loadCSS:function(e){var t=this,n=t.doc,r;return t!==h.DOM&&n===document?void h.DOM.loadCSS(e):(e||(e=""),r=n.getElementsByTagName("head")[0],void m(e.split(","),function(e){var i;e=u._addCacheSuffix(e),t.files[e]||(t.files[e]=!0,i=t.create("link",{rel:"stylesheet",href:e}),b&&n.documentMode&&n.recalc&&(i.onload=function(){n.recalc&&n.recalc(),i.onload=null}),r.appendChild(i))}))},addClass:function(e,t){this.$$(e).addClass(t)},removeClass:function(e,t){this.toggleClass(e,t,!1)},hasClass:function(e,t){return this.$$(e).hasClass(t)},toggleClass:function(e,t,r){this.$$(e).toggleClass(t,r).each(function(){""===this.className&&n(this).attr("class",null)})},show:function(e){this.$$(e).show()},hide:function(e){this.$$(e).hide()},isHidden:function(e){return"none"==this.$$(e).css("display")},uniqueId:function(e){return(e?e:"mce_")+this.counter++},setHTML:function(e,t){e=this.$$(e),b?e.each(function(e,r){if(r.canHaveHTML!==!1){for(;r.firstChild;)r.removeChild(r.firstChild);try{r.innerHTML="
    "+t,r.removeChild(r.firstChild)}catch(i){n("
    ").html("
    "+t).contents().slice(1).appendTo(r)}return t}}):e.html(t)},getOuterHTML:function(e){return e=this.get(e),1==e.nodeType&&"outerHTML"in e?e.outerHTML:n("
    ").append(n(e).clone()).html()},setOuterHTML:function(e,t){var r=this;r.$$(e).each(function(){try{if("outerHTML"in this)return void(this.outerHTML=t)}catch(e){}r.remove(n(this).html(t),!0)})},decode:s.decode,encode:s.encodeAllRaw,insertAfter:function(e,t){return t=this.get(t),this.run(e,function(e){var n,r;return n=t.parentNode,r=t.nextSibling,r?n.insertBefore(e,r):n.appendChild(e),e})},replace:function(e,t,n){var r=this;return r.run(t,function(t){return g(t,"array")&&(e=e.cloneNode(!0)),n&&m(v(t.childNodes),function(t){e.appendChild(t)}),t.parentNode.replaceChild(e,t)})},rename:function(e,t){var n=this,r;return e.nodeName!=t.toUpperCase()&&(r=n.create(t),m(n.getAttribs(e),function(t){n.setAttrib(r,t.nodeName,n.getAttrib(e,t.nodeName))}),n.replace(r,e,1)),r||e},findCommonAncestor:function(e,t){for(var n=e,r;n;){for(r=t;r&&n!=r;)r=r.parentNode;if(n==r)break;n=n.parentNode}return!n&&e.ownerDocument?e.ownerDocument.documentElement:n},toHex:function(e){return this.styles.toHex(u.trim(e))},run:function(e,t,n){var r=this,i;return"string"==typeof e&&(e=r.get(e)),!!e&&(n=n||this,e.nodeType||!e.length&&0!==e.length?t.call(n,e):(i=[],m(e,function(e,o){e&&("string"==typeof e&&(e=r.get(e)),i.push(t.call(n,e,o)))}),i))},getAttribs:function(e){var t;if(e=this.get(e),!e)return[];if(b){if(t=[],"OBJECT"==e.nodeName)return e.attributes;"OPTION"===e.nodeName&&this.getAttrib(e,"selected")&&t.push({specified:1,nodeName:"selected"});var n=/<\/?[\w:\-]+ ?|=[\"][^\"]+\"|=\'[^\']+\'|=[\w\-]+|>/gi;return e.cloneNode(!1).outerHTML.replace(n,"").replace(/[\w:\-]+/gi,function(e){t.push({specified:1,nodeName:e})}),t}return e.attributes},isEmpty:function(e,t){var n=this,r,i,a,s,l,u,c=0;if(e=e.firstChild){l=new o(e,e.parentNode),t=t||(n.schema?n.schema.getNonEmptyElements():null),s=n.schema?n.schema.getWhiteSpaceElements():{};do{if(a=e.nodeType,1===a){var d=e.getAttribute("data-mce-bogus");if(d){e=l.next("all"===d);continue}if(u=e.nodeName.toLowerCase(),t&&t[u]){if("br"===u){c++,e=l.next();continue}return!1}for(i=n.getAttribs(e),r=i.length;r--;)if(u=i[r].nodeName,"name"===u||"data-mce-bookmark"===u)return!1}if(8==a)return!1;if(3===a&&!x.test(e.nodeValue))return!1;if(3===a&&e.parentNode&&s[e.parentNode.nodeName]&&x.test(e.nodeValue))return!1;e=l.next()}while(e)}return c<=1},createRng:function(){var e=this.doc;return e.createRange?e.createRange():new a(this)},nodeIndex:p,split:function(e,t,n){function r(e){function t(e){var t=e.previousSibling&&"SPAN"==e.previousSibling.nodeName,n=e.nextSibling&&"SPAN"==e.nextSibling.nodeName;return t&&n}var n,o=e.childNodes,a=e.nodeType;if(1!=a||"bookmark"!=e.getAttribute("data-mce-type")){for(n=o.length-1;n>=0;n--)r(o[n]);if(9!=a){if(3==a&&e.nodeValue.length>0){var s=y(e.nodeValue).length;if(!i.isBlock(e.parentNode)||s>0||0===s&&t(e))return}else if(1==a&&(o=e.childNodes,1==o.length&&o[0]&&1==o[0].nodeType&&"bookmark"==o[0].getAttribute("data-mce-type")&&e.parentNode.insertBefore(o[0],e),o.length||/^(br|hr|input|img)$/i.test(e.nodeName)))return;i.remove(e)}return e}}var i=this,o=i.createRng(),a,s,l;if(e&&t)return o.setStart(e.parentNode,i.nodeIndex(e)),o.setEnd(t.parentNode,i.nodeIndex(t)),a=o.extractContents(),o=i.createRng(),o.setStart(t.parentNode,i.nodeIndex(t)+1),o.setEnd(e.parentNode,i.nodeIndex(e)+1),s=o.extractContents(),l=e.parentNode,l.insertBefore(r(a),e),n?l.insertBefore(n,e):l.insertBefore(t,e),l.insertBefore(r(s),e),i.remove(e),n||t},bind:function(e,t,n,r){var i=this;if(u.isArray(e)){for(var o=e.length;o--;)e[o]=i.bind(e[o],t,n,r);return e}return!i.settings.collect||e!==i.doc&&e!==i.win||i.boundEvents.push([e,t,n,r]),i.events.bind(e,t,n,r||i)},unbind:function(e,t,n){var r=this,i;if(u.isArray(e)){for(i=e.length;i--;)e[i]=r.unbind(e[i],t,n);return e}if(r.boundEvents&&(e===r.doc||e===r.win))for(i=r.boundEvents.length;i--;){var o=r.boundEvents[i];e!=o[0]||t&&t!=o[1]||n&&n!=o[2]||this.events.unbind(o[0],o[1],o[2])}return this.events.unbind(e,t,n)},fire:function(e,t,n){return this.events.fire(e,t,n)},getContentEditable:function(e){var t;return e&&1==e.nodeType?(t=e.getAttribute("data-mce-contenteditable"),t&&"inherit"!==t?t:"inherit"!==e.contentEditable?e.contentEditable:null):null},getContentEditableParent:function(e){for(var t=this.getRoot(),n=null;e&&e!==t&&(n=this.getContentEditable(e),null===n);e=e.parentNode);return n},destroy:function(){var t=this;if(t.boundEvents){for(var n=t.boundEvents.length;n--;){var r=t.boundEvents[n];this.events.unbind(r[0],r[1],r[2])}t.boundEvents=null}e.setDocument&&e.setDocument(),t.win=t.doc=t.root=t.events=t.frag=null},isChildOf:function(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1},dumpRng:function(e){return"startContainer: "+e.startContainer.nodeName+", startOffset: "+e.startOffset+", endContainer: "+e.endContainer.nodeName+", endOffset: "+e.endOffset},_findSib:function(e,t,n){var r=this,i=t;if(e)for("string"==typeof i&&(i=function(e){return r.is(e,t)}),e=e[n];e;e=e[n])if(i(e))return e;return null}},h.DOM=new h(document),h.nodeIndex=p,h}),r(E,[w,m],function(e,t){function n(){function e(e,n,i){function o(){l.remove(c),u&&(u.onreadystatechange=u.onload=u=null),n()}function s(){a(i)?i():"undefined"!=typeof console&&console.log&&console.log("Failed to load script: "+e)}var l=r,u,c;c=l.uniqueId(),u=document.createElement("script"),u.id=c,u.type="text/javascript",u.src=t._addCacheSuffix(e),"onreadystatechange"in u?u.onreadystatechange=function(){/loaded|complete/.test(u.readyState)&&o()}:u.onload=o,u.onerror=s,(document.getElementsByTagName("head")[0]||document.body).appendChild(u)}var n=0,s=1,l=2,u=3,c={},d=[],f={},p=[],h=0,m;this.isDone=function(e){return c[e]==l},this.markDone=function(e){c[e]=l},this.add=this.load=function(e,t,r,i){var o=c[e];o==m&&(d.push(e),c[e]=n),t&&(f[e]||(f[e]=[]),f[e].push({success:t,failure:i,scope:r||this}))},this.remove=function(e){delete c[e],delete f[e]},this.loadQueue=function(e,t,n){this.loadScripts(d,e,t,n)},this.loadScripts=function(t,n,r,d){function g(e,t){i(f[t],function(t){a(t[e])&&t[e].call(t.scope)}),f[t]=m}var v,y=[];p.push({success:n,failure:d,scope:r||this}),(v=function(){var n=o(t);t.length=0,i(n,function(t){return c[t]===l?void g("success",t):c[t]===u?void g("failure",t):void(c[t]!==s&&(c[t]=s,h++,e(t,function(){c[t]=l,h--,g("success",t),v()},function(){c[t]=u,h--,y.push(t),g("failure",t),v()})))}),h||(i(p,function(e){0===y.length?a(e.success)&&e.success.call(e.scope):a(e.failure)&&e.failure.call(e.scope,y)}),p.length=0)})()}}var r=e.DOM,i=t.each,o=t.grep,a=function(e){return"function"==typeof e};return n.ScriptLoader=new n,n}),r(N,[E,m],function(e,n){function r(){var e=this;e.items=[],e.urls={},e.lookup={}}var i=n.each;return r.prototype={get:function(e){return this.lookup[e]?this.lookup[e].instance:t},dependencies:function(e){var t;return this.lookup[e]&&(t=this.lookup[e].dependencies),t||[]},requireLangPack:function(t,n){var i=r.language;if(i&&r.languageLoad!==!1){if(n)if(n=","+n+",",n.indexOf(","+i.substr(0,2)+",")!=-1)i=i.substr(0,2);else if(n.indexOf(","+i+",")==-1)return;e.ScriptLoader.add(this.urls[t]+"/langs/"+i+".js")}},add:function(e,t,n){return this.items.push(t),this.lookup[e]={instance:t,dependencies:n},t},remove:function(e){delete this.urls[e],delete this.lookup[e]},createUrl:function(e,t){return"object"==typeof t?t:{prefix:e.prefix,resource:t,suffix:e.suffix}},addComponents:function(t,n){var r=this.urls[t];i(n,function(t){e.ScriptLoader.add(r+"/"+t)})},load:function(n,o,a,s,l){function u(){var r=c.dependencies(n);i(r,function(e){var n=c.createUrl(o,e);c.load(n.resource,n,t,t)}),a&&(s?a.call(s):a.call(e))}var c=this,d=o;c.urls[n]||("object"==typeof o&&(d=o.prefix+o.resource+o.suffix),0!==d.indexOf("/")&&d.indexOf("://")==-1&&(d=r.baseURL+"/"+d),c.urls[n]=d.substring(0,d.lastIndexOf("/")),c.lookup[n]?u():e.ScriptLoader.add(d,u,s,l))}},r.PluginManager=new r,r.ThemeManager=new r,r}),r(_,[],function(){function e(e){return function(t){return!!t&&t.nodeType==e}}function t(e){return e=e.toLowerCase().split(" "),function(t){var n,r;if(t&&t.nodeType)for(r=t.nodeName.toLowerCase(),n=0;nn.length-1?t=n.length-1:t<0&&(t=0),n[t]||e}function s(e,t,n){for(;e&&e!==t;){if(n(e))return e;e=e.parentNode}return null}function l(e,t,n){return null!==s(e,t,n)}function u(e){return"_mce_caret"===e.id}function c(e,t){return v(e)&&l(e,t,u)===!1}function d(e){this.walk=function(t,n){function r(e){var t;return t=e[0],3===t.nodeType&&t===l&&u>=t.nodeValue.length&&e.splice(0,1),t=e[e.length-1],0===d&&e.length>0&&t===c&&3===t.nodeType&&e.splice(e.length-1,1),e}function i(e,t,n){for(var r=[];e&&e!=n;e=e[t])r.push(e);return r}function o(e,t){do{if(e.parentNode==t)return e;e=e.parentNode}while(e)}function s(e,t,o){var a=o?"nextSibling":"previousSibling";for(g=e,v=g.parentNode;g&&g!=t;g=v)v=g.parentNode,y=i(g==e?g:g[a],a),y.length&&(o||y.reverse(),n(r(y)))}var l=t.startContainer,u=t.startOffset,c=t.endContainer,d=t.endOffset,f,p,m,g,v,y,b;if(b=e.select("td[data-mce-selected],th[data-mce-selected]"),b.length>0)return void h(b,function(e){n([e])});if(1==l.nodeType&&l.hasChildNodes()&&(l=l.childNodes[u]),1==c.nodeType&&c.hasChildNodes()&&(c=a(c,d)),l==c)return n(r([l]));for(f=e.findCommonAncestor(l,c),g=l;g;g=g.parentNode){if(g===c)return s(l,f,!0);if(g===f)break}for(g=c;g;g=g.parentNode){if(g===l)return s(c,f);if(g===f)break}p=o(l,f)||l,m=o(c,f)||c,s(l,p,!0),y=i(p==l?p:p.nextSibling,"nextSibling",m==c?m.nextSibling:m),y.length&&n(r(y)),s(c,m)},this.split=function(e){function t(e,t){return e.splitText(t)}var n=e.startContainer,r=e.startOffset,i=e.endContainer,o=e.endOffset;return n==i&&3==n.nodeType?r>0&&rr?(o-=r,n=i=t(i,o).previousSibling,o=i.nodeValue.length,r=0):o=0):(3==n.nodeType&&r>0&&r0&&o0)return f=y,p=n?y.nodeValue.length:0,void(i=!0);if(e.isBlock(y)||b[y.nodeName.toLowerCase()])return;s=y}o&&s&&(f=s,i=!0,p=0)}var f,p,h,m=e.getRoot(),y,b,C,x;if(f=n[(r?"start":"end")+"Container"],p=n[(r?"start":"end")+"Offset"],x=1==f.nodeType&&p===f.childNodes.length,b=e.schema.getNonEmptyElements(),C=r,!v(f)){if(1==f.nodeType&&p>f.childNodes.length-1&&(C=!1),9===f.nodeType&&(f=e.getRoot(),p=0),f===m){if(C&&(y=f.childNodes[p>0?p-1:0])){if(v(y))return;if(b[y.nodeName]||"TABLE"==y.nodeName)return}if(f.hasChildNodes()){if(p=Math.min(!C&&p>0?p-1:p,f.childNodes.length-1),f=f.childNodes[p],p=0,!o&&f===m.lastChild&&"TABLE"===f.nodeName)return;if(l(f)||v(f))return;if(f.hasChildNodes()&&!/TABLE/.test(f.nodeName)){y=f,h=new t(f,m);do{if(g(y)||v(y)){i=!1;break}if(3===y.nodeType&&y.nodeValue.length>0){p=C?0:y.nodeValue.length,f=y,i=!0;break}if(b[y.nodeName.toLowerCase()]&&!a(y)){p=e.nodeIndex(y),f=y.parentNode,"IMG"!=y.nodeName||C||p++,i=!0;break}}while(y=C?h.next():h.prev())}}}o&&(3===f.nodeType&&0===p&&d(!0),1===f.nodeType&&(y=f.childNodes[p],y||(y=f.childNodes[p-1]),!y||"BR"!==y.nodeName||u(y,"A")||s(y)||s(y,!0)||d(!0,y))),C&&!o&&3===f.nodeType&&p===f.nodeValue.length&&d(!1),i&&n["set"+(r?"Start":"End")](f,p)}}var i,o;return o=n.collapsed,r(!0),o||r(),i&&o&&n.collapse(!0),i}}function f(t,n,r){var i,o,a;if(i=r.elementFromPoint(t,n),o=r.body.createTextRange(),i&&"HTML"!=i.tagName||(i=r.body),o.moveToElementText(i),a=e.toArray(o.getClientRects()),a=a.sort(function(e,t){return e=Math.abs(Math.max(e.top-n,e.bottom-n)),t=Math.abs(Math.max(t.top-n,t.bottom-n)),e-t}),a.length>0){n=(a[0].bottom+a[0].top)/2;try{return o.moveToPoint(t,n),o.collapse(!0),o}catch(s){}}return null}function p(e,t){var n=e&&e.parentElement?e.parentElement():null;return g(s(n,t,o))?null:e}var h=e.each,m=n.isContentEditableTrue,g=n.isContentEditableFalse,v=i.isCaretContainer;return d.compareRanges=function(e,t){if(e&&t){if(!e.item&&!e.duplicate)return e.startContainer==t.startContainer&&e.startOffset==t.startOffset;if(e.item&&t.item&&e.item(0)===t.item(0))return!0;if(e.isEqual&&t.isEqual&&t.isEqual(e))return!0}return!1},d.getCaretRangeFromPoint=function(e,t,n){var r,i;if(n.caretPositionFromPoint)i=n.caretPositionFromPoint(e,t),r=n.createRange(),r.setStart(i.offsetNode,i.offset),r.collapse(!0);else if(n.caretRangeFromPoint)r=n.caretRangeFromPoint(e,t);else if(n.body.createTextRange){r=n.body.createTextRange();try{r.moveToPoint(e,t),r.collapse(!0)}catch(o){r=f(e,t,n)}return p(r,n.body)}return r},d.getSelectedNode=function(e){var t=e.startContainer,n=e.startOffset;return t.hasChildNodes()&&e.endOffset==n+1?t.childNodes[n]:null},d.getNode=function(e,t){return 1==e.nodeType&&e.hasChildNodes()&&(t>=e.childNodes.length&&(t=e.childNodes.length-1),e=e.childNodes[t]),e},d}),r(R,[T,d,c],function(e,t,n){return function(r){function i(e){var t,n;if(n=r.$(e).parentsUntil(r.getBody()).add(e),n.length===a.length){for(t=n.length;t>=0&&n[t]===a[t];t--);if(t===-1)return a=n,!0}return a=n,!1}var o,a=[];"onselectionchange"in r.getDoc()||r.on("NodeChange Click MouseUp KeyUp Focus",function(t){var n,i;n=r.selection.getRng(),i={startContainer:n.startContainer,startOffset:n.startOffset,endContainer:n.endContainer,endOffset:n.endOffset},"nodechange"!=t.type&&e.compareRanges(i,o)||r.fire("SelectionChange"),o=i}),r.on("contextmenu",function(){r.fire("SelectionChange")}),r.on("SelectionChange",function(){var e=r.selection.getStart(!0);!t.range&&r.selection.isCollapsed()||!i(e)&&r.dom.isChildOf(e,r.getBody())&&r.nodeChanged({selectionChange:!0})}),r.on("MouseUp",function(e){e.isDefaultPrevented()||("IMG"==r.selection.getNode().nodeName?n.setEditorTimeout(r,function(){r.nodeChanged()}):r.nodeChanged())}),this.nodeChanged=function(e){var t=r.selection,n,i,o;r.initialized&&t&&!r.settings.disable_nodechange&&!r.readonly&&(o=r.getBody(),n=t.getStart()||o,n.ownerDocument==r.getDoc()&&r.dom.isChildOf(n,o)||(n=o),"IMG"==n.nodeName&&t.isCollapsed()&&(n=n.parentNode),i=[],r.dom.getParent(n,function(e){return e===o||void i.push(e)}),e=e||{},e.element=n,e.parents=i,r.fire("NodeChange",e))}}}),r(A,[],function(){function e(e,t,n){var r,i,o=n?"lastChild":"firstChild",a=n?"prev":"next";if(e[o])return e[o];if(e!==t){if(r=e[a])return r;for(i=e.parent;i&&i!==t;i=i.parent)if(r=i[a])return r}}function t(e,t){this.name=e,this.type=t,1===t&&(this.attributes=[],this.attributes.map={})}var n=/^[ \t\r\n]*$/,r={"#text":3,"#comment":8,"#cdata":4,"#pi":7,"#doctype":10,"#document-fragment":11};return t.prototype={replace:function(e){var t=this;return e.parent&&e.remove(),t.insert(e,t),t.remove(),t},attr:function(e,t){var n=this,r,i,o;if("string"!=typeof e){for(i in e)n.attr(i,e[i]);return n}if(r=n.attributes){if(t!==o){if(null===t){if(e in r.map)for(delete r.map[e],i=r.length;i--;)if(r[i].name===e)return r=r.splice(i,1),n;return n}if(e in r.map){for(i=r.length;i--;)if(r[i].name===e){r[i].value=t;break}}else r.push({name:e,value:t});return r.map[e]=t,n}return r.map[e]}},clone:function(){var e=this,n=new t(e.name,e.type),r,i,o,a,s;if(o=e.attributes){for(s=[],s.map={},r=0,i=o.length;r
    "},postRender:function(){var e=this,t;return e.items().exec("postRender"),e._super(),e._layout.postRender(e),e.state.set("rendered",!0),e.settings.style&&e.$el.css(e.settings.style),e.settings.border&&(t=e.borderBox,e.$el.css({"border-top-width":t.top,"border-right-width":t.right,"border-bottom-width":t.bottom,"border-left-width":t.left})),e.parent()||(e.keyboardNav=new i({root:e})),e},initLayoutRect:function(){var e=this,t=e._super();return e._layout.recalc(e),t},recalc:function(){var e=this,t=e._layoutRect,n=e._lastRect;if(!n||n.w!=t.w||n.h!=t.h)return e._layout.recalc(e),t=e.layoutRect(),e._lastRect={x:t.x,y:t.y,w:t.w,h:t.h},!0},reflow:function(){var t;if(l.remove(this),this.visible()){for(e.repaintControls=[],e.repaintControls.map={},this.recalc(),t=e.repaintControls.length;t--;)e.repaintControls[t].repaint();"flow"!==this.settings.layout&&"stack"!==this.settings.layout&&this.repaint(),e.repaintControls=[]}return this}})}),r(_e,[g],function(e){function t(e){var t,n,r,i,o,a,s,l,u=Math.max;return t=e.documentElement,n=e.body,r=u(t.scrollWidth,n.scrollWidth),i=u(t.clientWidth,n.clientWidth),o=u(t.offsetWidth,n.offsetWidth),a=u(t.scrollHeight,n.scrollHeight),s=u(t.clientHeight,n.clientHeight),l=u(t.offsetHeight,n.offsetHeight),{width:r
    ").css({position:"absolute",top:0,left:0,width:u.width,height:u.height,zIndex:2147483647,opacity:1e-4,cursor:m}).appendTo(s.body),e(s).on("mousemove touchmove",d).on("mouseup touchend",c),i.start(r)},d=function(e){return n(e),e.button!==l?c(e):(e.deltaX=e.screenX-f,e.deltaY=e.screenY-p,e.preventDefault(),void i.drag(e))},c=function(t){n(t),e(s).off("mousemove touchmove",d).off("mouseup touchend",c),a.remove(),i.stop&&i.stop(t)},this.destroy=function(){e(o()).off()},e(o()).on("mousedown touchstart",u)}}),r(Se,[g,_e],function(e,t){return{init:function(){var e=this;e.on("repaint",e.renderScroll)},renderScroll:function(){function n(){function t(t,a,s,l,u,c){var d,f,p,h,m,g,v,y,b;if(f=i.getEl("scroll"+t)){if(y=a.toLowerCase(),b=s.toLowerCase(),e(i.getEl("absend")).css(y,i.layoutRect()[l]-1),!u)return void e(f).css("display","none");e(f).css("display","block"),d=i.getEl("body"),p=i.getEl("scroll"+t+"t"),h=d["client"+s]-2*o,h-=n&&r?f["client"+c]:0,m=d["scroll"+s],g=h/m,v={},v[y]=d["offset"+a]+o,v[b]=h,e(f).css(v),v={},v[y]=d["scroll"+a]*g,v[b]=h*g,e(p).css(v)}}var n,r,a;a=i.getEl("body"),n=a.scrollWidth>a.clientWidth,r=a.scrollHeight>a.clientHeight,t("h","Left","Width","contentW",n,"Height"),t("v","Top","Height","contentH",r,"Width")}function r(){function n(n,r,a,s,l){var u,c=i._id+"-scroll"+n,d=i.classPrefix;e(i.getEl()).append('
    '),i.draghelper=new t(c+"t",{start:function(){u=i.getEl("body")["scroll"+r],e("#"+c).addClass(d+"active")},drag:function(e){var t,c,d,f,p=i.layoutRect();c=p.contentW>p.innerW,d=p.contentH>p.innerH,f=i.getEl("body")["client"+a]-2*o,f-=c&&d?i.getEl("scroll"+n)["client"+l]:0,t=f/i.getEl("body")["scroll"+a],i.getEl("body")["scroll"+r]=u+e["delta"+s]/t},stop:function(){e("#"+c).removeClass(d+"active")}})}i.classes.add("scroll"),n("v","Top","Height","Y","Width"),n("h","Left","Width","X","Height")}var i=this,o=2;i.settings.autoScroll&&(i._hasScroll||(i._hasScroll=!0,r(),i.on("wheel",function(e){var t=i.getEl("body");t.scrollLeft+=10*(e.deltaX||0),t.scrollTop+=10*e.deltaY,n()}),e(i.getEl("body")).on("scroll",n)),n())}}}),r(ke,[Ne,Se],function(e,t){return e.extend({Defaults:{layout:"fit",containerCls:"panel"},Mixins:[t],renderHtml:function(){var e=this,t=e._layout,n=e.settings.html;return e.preRender(),t.preRender(e),"undefined"==typeof n?n='
    '+t.renderHtml(e)+"
    ":("function"==typeof n&&(n=n.call(e)),e._hasBody=!1),'
    '+(e._preBodyHtml||"")+n+"
    "}})}),r(Te,[ve],function(e){function t(t,n,r){var i,o,a,s,l,u,c,d,f,p;return f=e.getViewPort(),o=e.getPos(n),a=o.x,s=o.y,t.state.get("fixed")&&"static"==e.getRuntimeStyle(document.body,"position")&&(a-=f.x,s-=f.y),i=t.getEl(),p=e.getSize(i),l=p.width,u=p.height,p=e.getSize(n),c=p.width,d=p.height,r=(r||"").split(""),"b"===r[0]&&(s+=d),"r"===r[1]&&(a+=c),"c"===r[0]&&(s+=Math.round(d/2)),"c"===r[1]&&(a+=Math.round(c/2)),"b"===r[3]&&(s-=u),"r"===r[4]&&(a-=l),"c"===r[3]&&(s-=Math.round(u/2)),"c"===r[4]&&(a-=Math.round(l/2)),{x:a,y:s,w:l,h:u}}return{testMoveRel:function(n,r){for(var i=e.getViewPort(),o=0;o0&&a.x+a.w0&&a.y+a.hi.x&&a.x+a.wi.y&&a.y+a.ht?(e=t-n,e<0?0:e):e}var i=this;if(i.settings.constrainToViewport){var o=e.getViewPort(window),a=i.layoutRect();t=r(t,o.w+o.x,a.w),n=r(n,o.h+o.y,a.h)}return i.state.get("rendered")?i.layoutRect({x:t,y:n}).repaint():(i.settings.x=t,i.settings.y=n),i.fire("move",{x:t,y:n}),i}}}),r(Re,[ve],function(e){return{resizeToContent:function(){this._layoutRect.autoResize=!0,this._lastRect=null,this.reflow()},resizeTo:function(t,n){if(t<=1||n<=1){var r=e.getWindowSize();t=t<=1?t*r.w:t,n=n<=1?n*r.h:n}return this._layoutRect.autoResize=!1,this.layoutRect({minW:t,minH:n,w:t,h:n}).reflow()},resizeBy:function(e,t){var n=this,r=n.layoutRect();return n.resizeTo(r.w+e,r.h+t)}}}),r(Ae,[ke,Te,Re,ve,g,c],function(e,t,n,r,i,o){function a(e,t){for(;e;){if(e==t)return!0;e=e.parent()}}function s(e){for(var t=v.length;t--;){var n=v[t],r=n.getParentCtrl(e.target);if(n.settings.autohide){if(r&&(a(r,n)||n.parent()===r))continue;e=n.fire("autohide",{target:e.target}),e.isDefaultPrevented()||n.hide()}}}function l(){h||(h=function(e){2!=e.button&&s(e)},i(document).on("click touchstart",h))}function u(){m||(m=function(){var e;for(e=v.length;e--;)d(v[e])},i(window).on("scroll",m))}function c(){if(!g){var e=document.documentElement,t=e.clientWidth,n=e.clientHeight;g=function(){document.all&&t==e.clientWidth&&n==e.clientHeight||(t=e.clientWidth,n=e.clientHeight,C.hideAll())},i(window).on("resize",g)}}function d(e){function t(t,n){for(var r,i=0;in&&(e.fixed(!1).layoutRect({y:e._autoFixY}).repaint(),t(!1,e._autoFixY-n)):(e._autoFixY=e.layoutRect().y,e._autoFixY').appendTo(t.getContainerElm())),o.setTimeout(function(){n.addClass(r+"in"),i(t.getEl()).addClass(r+"in")}),b=!0),f(!0,t)}}),t.on("show",function(){t.parents().each(function(e){if(e.state.get("fixed"))return t.fixed(!0),!1})}),e.popover&&(t._preBodyHtml='
    ',t.classes.add("popover").add("bottom").add(t.isRtl()?"end":"start")),t.aria("label",e.ariaLabel),t.aria("labelledby",t._id),t.aria("describedby",t.describedBy||t._id+"-none")},fixed:function(e){var t=this;if(t.state.get("fixed")!=e){if(t.state.get("rendered")){var n=r.getViewPort();e?t.layoutRect().y-=n.y:t.layoutRect().y+=n.y}t.classes.toggle("fixed",e),t.state.set("fixed",e)}return t},show:function(){var e=this,t,n=e._super();for(t=v.length;t--&&v[t]!==e;);return t===-1&&v.push(e),n},hide:function(){return p(this),f(!1,this),this._super()},hideAll:function(){C.hideAll()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||(e.remove(),f(!1,e)),e},remove:function(){p(this),this._super()},postRender:function(){var e=this;return e.settings.bodyRole&&this.getEl("body").setAttribute("role",e.settings.bodyRole),e._super()}});return C.hideAll=function(){for(var e=v.length;e--;){var t=v[e];t&&t.settings.autohide&&(t.hide(),v.splice(e,1))}},C}),r(Be,[Ae,ke,ve,g,_e,ye,d,c],function(e,t,n,r,i,o,a,s){function l(e){var t="width=device-width,initial-scale=1.0,user-scalable=0,minimum-scale=1.0,maximum-scale=1.0",n=r("meta[name=viewport]")[0],i;a.overrideViewPort!==!1&&(n||(n=document.createElement("meta"),n.setAttribute("name","viewport"),document.getElementsByTagName("head")[0].appendChild(n)),i=n.getAttribute("content"),i&&"undefined"!=typeof p&&(p=i),n.setAttribute("content",e?t:p))}function u(e,t){c()&&t===!1&&r([document.documentElement,document.body]).removeClass(e+"fullscreen")}function c(){for(var e=0;er.w&&(o=r.x-Math.max(0,i/2),e.layoutRect({w:i,x:o}),a=!0)),t&&(t.layoutRect({w:e.layoutRect().innerW}).recalc(),i=t.layoutRect().minW+r.deltaW,i>r.w&&(o=r.x-Math.max(0,i-r.w),e.layoutRect({w:i,x:o}),a=!0)),a&&e.recalc()},initLayoutRect:function(){var e=this,t=e._super(),r=0,i;if(e.settings.title&&!e._fullscreen){i=e.getEl("head");var o=n.getSize(i);t.headerW=o.width,t.headerH=o.height,r+=t.headerH}e.statusbar&&(r+=e.statusbar.layoutRect().h),t.deltaH+=r,t.minH+=r,t.h+=r;var a=n.getWindowSize();return t.x=e.settings.x||Math.max(0,a.w/2-t.w/2),t.y=e.settings.y||Math.max(0,a.h/2-t.h/2),t},renderHtml:function(){var e=this,t=e._layout,n=e._id,r=e.classPrefix,i=e.settings,o="",a="",s=i.html;return e.preRender(),t.preRender(e),i.title&&(o='
    '+e.encode(i.title)+'
    '),i.url&&(s=''),"undefined"==typeof s&&(s=t.renderHtml(e)),e.statusbar&&(a=e.statusbar.renderHtml()),'
    '+o+'
    '+s+"
    "+a+"
    "},fullscreen:function(e){var t=this,i=document.documentElement,a,l=t.classPrefix,u;if(e!=t._fullscreen)if(r(window).on("resize",function(){var e;if(t._fullscreen)if(a)t._timer||(t._timer=s.setTimeout(function(){var e=n.getWindowSize();t.moveTo(0,0).resizeTo(e.w,e.h),t._timer=0},50));else{e=(new Date).getTime();var r=n.getWindowSize();t.moveTo(0,0).resizeTo(r.w,r.h),(new Date).getTime()-e>50&&(a=!0)}}),u=t.layoutRect(),t._fullscreen=e,e){t._initial={x:u.x,y:u.y,w:u.w,h:u.h},t.borderBox=o.parseBox("0"),t.getEl("head").style.display="none",u.deltaH-=u.headerH+2,r([i,document.body]).addClass(l+"fullscreen"),t.classes.add("fullscreen");var c=n.getWindowSize();t.moveTo(0,0).resizeTo(c.w,c.h)}else t.borderBox=o.parseBox(t.settings.border),t.getEl("head").style.display="",u.deltaH+=u.headerH,r([i,document.body]).removeClass(l+"fullscreen"),t.classes.remove("fullscreen"),t.moveTo(t._initial.x,t._initial.y).resizeTo(t._initial.w,t._initial.h);return t.reflow()},postRender:function(){var e=this,t;setTimeout(function(){e.classes.add("in"),e.fire("open")},0),e._super(),e.statusbar&&e.statusbar.postRender(),e.focus(),this.dragHelper=new i(e._id+"-dragh",{start:function(){t={x:e.layoutRect().x,y:e.layoutRect().y}},drag:function(n){e.moveTo(t.x+n.deltaX,t.y+n.deltaY)}}),e.on("submit",function(t){t.isDefaultPrevented()||e.close()}),f.push(e),l(!0)},submit:function(){return this.fire("submit",{data:this.toJSON()})},remove:function(){var e=this,t;for(e.dragHelper.destroy(),e._super(),e.statusbar&&this.statusbar.remove(),u(e.classPrefix,!1),t=f.length;t--;)f[t]===e&&f.splice(t,1);l(f.length>0)},getContentWindow:function(){var e=this.getEl().getElementsByTagName("iframe")[0];return e?e.contentWindow:null}});return d(),h}),r(De,[Be],function(e){var t=e.extend({init:function(e){e={border:1,padding:20,layout:"flex",pack:"center",align:"center",containerCls:"panel",autoScroll:!0, buttons:{type:"button",text:"Ok",action:"ok"},items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200}},this._super(e)},Statics:{OK:1,OK_CANCEL:2,YES_NO:3,YES_NO_CANCEL:4,msgBox:function(n){function r(e,t,n){return{type:"button",text:e,subtype:n?"primary":"",onClick:function(e){e.control.parents()[1].close(),o(t)}}}var i,o=n.callback||function(){};switch(n.buttons){case t.OK_CANCEL:i=[r("Ok",!0,!0),r("Cancel",!1)];break;case t.YES_NO:case t.YES_NO_CANCEL:i=[r("Yes",1,!0),r("No",0)],n.buttons==t.YES_NO_CANCEL&&i.push(r("Cancel",-1));break;default:i=[r("Ok",!0,!0)]}return new e({padding:20,x:n.x,y:n.y,minWidth:300,minHeight:100,layout:"flex",pack:"center",align:"center",buttons:i,title:n.title,role:"alertdialog",items:{type:"label",multiline:!0,maxWidth:500,maxHeight:200,text:n.text},onPostRender:function(){this.aria("describedby",this.items()[0]._id)},onClose:n.onClose,onCancel:function(){o(!1)}}).renderTo(document.body).reflow()},alert:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,t.msgBox(e)},confirm:function(e,n){return"string"==typeof e&&(e={text:e}),e.callback=n,e.buttons=t.OK_CANCEL,t.msgBox(e)}}});return t}),r(Le,[Be,De],function(e,t){return function(n){function r(){if(s.length)return s[s.length-1]}function i(e){n.fire("OpenWindow",{win:e})}function o(e){n.fire("CloseWindow",{win:e})}var a=this,s=[];a.windows=s,n.on("remove",function(){for(var e=s.length;e--;)s[e].close()}),a.open=function(t,r){var a;return n.editorManager.setActive(n),t.title=t.title||" ",t.url=t.url||t.file,t.url&&(t.width=parseInt(t.width||320,10),t.height=parseInt(t.height||240,10)),t.body&&(t.items={defaults:t.defaults,type:t.bodyType||"form",items:t.body,data:t.data,callbacks:t.commands}),t.url||t.buttons||(t.buttons=[{text:"Ok",subtype:"primary",onclick:function(){a.find("form")[0].submit()}},{text:"Cancel",onclick:function(){a.close()}}]),a=new e(t),s.push(a),a.on("close",function(){for(var e=s.length;e--;)s[e]===a&&s.splice(e,1);s.length||n.focus(),o(a)}),t.data&&a.on("postRender",function(){this.find("*").each(function(e){var n=e.name();n in t.data&&e.value(t.data[n])})}),a.features=t||{},a.params=r||{},1===s.length&&n.nodeChanged(),a=a.renderTo().reflow(),i(a),a},a.alert=function(e,r,a){var s;s=t.alert(e,function(){r?r.call(a||this):n.focus()}),s.on("close",function(){o(s)}),i(s)},a.confirm=function(e,n,r){var a;a=t.confirm(e,function(e){n.call(r||this,e)}),a.on("close",function(){o(a)}),i(a)},a.close=function(){r()&&r().close()},a.getParams=function(){return r()?r().params:null},a.setParams=function(e){r()&&(r().params=e)},a.getWindows=function(){return s}}}),r(Me,[xe,Te],function(e,t){return e.extend({Mixins:[t],Defaults:{classes:"widget tooltip tooltip-n"},renderHtml:function(){var e=this,t=e.classPrefix;return'"},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().lastChild.innerHTML=e.encode(t.value)}),e._super()},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=131070}})}),r(Pe,[xe,Me],function(e,t){var n,r=e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.canFocus=!0,e.tooltip&&r.tooltips!==!1&&(t.on("mouseenter",function(n){var r=t.tooltip().moveTo(-65535);if(n.control==t){var i=r.text(e.tooltip).show().testMoveRel(t.getEl(),["bc-tc","bc-tl","bc-tr"]);r.classes.toggle("tooltip-n","bc-tc"==i),r.classes.toggle("tooltip-nw","bc-tl"==i),r.classes.toggle("tooltip-ne","bc-tr"==i),r.moveRel(t.getEl(),i)}else r.hide()}),t.on("mouseleave mousedown click",function(){t.tooltip().hide()})),t.aria("label",e.ariaLabel||e.tooltip)},tooltip:function(){return n||(n=new t({type:"tooltip"}),n.renderTo()),n},postRender:function(){var e=this,t=e.settings;e._super(),e.parent()||!t.width&&!t.height||(e.initLayoutRect(),e.repaint()),t.autofocus&&e.focus()},bindStates:function(){function e(e){n.aria("disabled",e),n.classes.toggle("disabled",e)}function t(e){n.aria("pressed",e),n.classes.toggle("active",e)}var n=this;return n.state.on("change:disabled",function(t){e(t.value)}),n.state.on("change:active",function(e){t(e.value)}),n.state.get("disabled")&&e(!0),n.state.get("active")&&t(!0),n._super()},remove:function(){this._super(),n&&(n.remove(),n=null)}});return r}),r(Oe,[Pe],function(e){return e.extend({Defaults:{value:0},init:function(e){var t=this;t._super(e),t.classes.add("progress"),t.settings.filter||(t.settings.filter=function(e){return Math.round(e)})},renderHtml:function(){var e=this,t=e._id,n=this.classPrefix;return'
    0%
    '},postRender:function(){var e=this;return e._super(),e.value(e.settings.value),e},bindStates:function(){function e(e){e=t.settings.filter(e),t.getEl().lastChild.innerHTML=e+"%",t.getEl().firstChild.firstChild.style.width=e+"%"}var t=this;return t.state.on("change:value",function(t){e(t.value)}),e(t.state.get("value")),t._super()}})}),r(He,[xe,Te,Oe,c],function(e,t,n,r){return e.extend({Mixins:[t],Defaults:{classes:"widget notification"},init:function(e){var t=this;t._super(e),e.text&&t.text(e.text),e.icon&&(t.icon=e.icon),e.color&&(t.color=e.color),e.type&&t.classes.add("notification-"+e.type),e.timeout&&(e.timeout<0||e.timeout>0)&&!e.closeButton?t.closeButton=!1:(t.classes.add("has-close"),t.closeButton=!0),e.progressBar&&(t.progressBar=new n),t.on("click",function(e){e.target.className.indexOf(t.classPrefix+"close")!=-1&&t.close()})},renderHtml:function(){var e=this,t=e.classPrefix,n="",r="",i="",o="";return e.icon&&(n=''),e.color&&(o=' style="background-color: '+e.color+'"'),e.closeButton&&(r=''),e.progressBar&&(i=e.progressBar.renderHtml()),'"},postRender:function(){var e=this;return r.setTimeout(function(){e.$el.addClass(e.classPrefix+"in")}),e._super()},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl().childNodes[1].innerHTML=t.value}),e.progressBar&&e.progressBar.bindStates(),e._super()},close:function(){var e=this;return e.fire("close").isDefaultPrevented()||e.remove(),e},repaint:function(){var e=this,t,n;t=e.getEl().style,n=e._layoutRect,t.left=n.x+"px",t.top=n.y+"px",t.zIndex=65534}})}),r(Ie,[He,c,m],function(e,t,n){return function(r){function i(){if(f.length)return f[f.length-1]}function o(){t.requestAnimationFrame(function(){a(),s()})}function a(){for(var e=0;e0){var e=f.slice(0,1)[0],t=r.inline?r.getElement():r.getContentAreaContainer();if(e.moveRel(t,"tc-tc"),f.length>1)for(var n=1;n0&&(n.timer=setTimeout(function(){n.close()},t.timeout)),n.on("close",function(){var e=f.length;for(n.timer&&r.getWin().clearTimeout(n.timer);e--;)f[e]===n&&f.splice(e,1);s()}),n.renderTo(),s()):n=i,n}},d.close=function(){i()&&i().close()},d.getNotifications=function(){return f},r.on("SkinLoaded",function(){var e=r.settings.service_message;e&&r.notificationManager.open({text:e,type:"warning",timeout:0,icon:""})})}}),r(Fe,[w],function(e){function t(t,n,r){for(var i=[];n&&n!=t;n=n.parentNode)i.push(e.nodeIndex(n,r));return i}function n(e,t){var n,r,i;for(r=e,n=t.length-1;n>=0;n--){if(i=r.childNodes,t[n]>i.length-1)return null;r=i[t[n]]}return r}return{create:t,resolve:n}}),r(ze,[I,T,y,Fe,A,C,d,m,c,k,$,oe],function(e,t,n,r,i,o,a,s,l,u,c,d){return function(f){function p(e,t){try{f.getDoc().execCommand(e,!1,t)}catch(n){}}function h(){var e=f.getDoc().documentMode;return e?e:6}function m(e){return e.isDefaultPrevented()}function g(e){var t,n;e.dataTransfer&&(f.selection.isCollapsed()&&"IMG"==e.target.tagName&&re.select(e.target),t=f.selection.getContent(),t.length>0&&(n=ce+escape(f.id)+","+escape(t),e.dataTransfer.setData(de,n)))}function v(e){var t;return e.dataTransfer&&(t=e.dataTransfer.getData(de),t&&t.indexOf(ce)>=0)?(t=t.substr(ce.length).split(","),{id:unescape(t[0]),html:unescape(t[1])}):null}function y(e){f.queryCommandSupported("mceInsertClipboardContent")?f.execCommand("mceInsertClipboardContent",!1,{content:e}):f.execCommand("mceInsertContent",!1,e)}function b(){function i(e){var t=x.schema.getBlockElements(),n=f.getBody();if("BR"!=e.nodeName)return!1;for(;e!=n&&!t[e.nodeName];e=e.parentNode)if(e.nextSibling)return!1;return!0}function o(e,t){var n;for(n=e.nextSibling;n&&n!=t;n=n.nextSibling)if((3!=n.nodeType||0!==Z.trim(n.data).length)&&n!==t)return!1;return n===t}function a(e,t,r){var o,a,s;if(x.isChildOf(e,f.getBody()))for(s=x.schema.getNonEmptyElements(),o=new n(r||e,e);a=o[t?"next":"prev"]();){if(s[a.nodeName]&&!i(a))return a;if(3==a.nodeType&&a.data.length>0)return a}}function u(e){var n,r,i,o,s;if(!e.collapsed&&(n=x.getParent(t.getNode(e.startContainer,e.startOffset),x.isBlock),r=x.getParent(t.getNode(e.endContainer,e.endOffset),x.isBlock),s=f.schema.getTextBlockElements(),n!=r&&s[n.nodeName]&&s[r.nodeName]&&"false"!==x.getContentEditable(n)&&"false"!==x.getContentEditable(r)))return e.deleteContents(),i=a(n,!1),o=a(r,!0),x.isEmpty(r)||Z(n).append(r.childNodes),Z(r).remove(),i?1==i.nodeType?"BR"==i.nodeName?(e.setStartBefore(i),e.setEndBefore(i)):(e.setStartAfter(i),e.setEndAfter(i)):(e.setStart(i,i.data.length),e.setEnd(i,i.data.length)):o&&(1==o.nodeType?(e.setStartBefore(o),e.setEndBefore(o)):(e.setStart(o,0),e.setEnd(o,0))),w.setRng(e),!0}function c(e,n){var r,i,s,l,u,c;if(!e.collapsed)return e;if(u=e.startContainer,c=e.startOffset,3==u.nodeType)if(n){if(c0)return e;r=t.getNode(u,c),s=x.getParent(r,x.isBlock),i=a(f.getBody(),n,r),l=x.getParent(i,x.isBlock);var d=1===u.nodeType&&c>u.childNodes.length-1;if(!r||!i)return e;if(l&&s!=l)if(n){if(!o(s,l))return e;1==r.nodeType?"BR"==r.nodeName?e.setStartBefore(r):e.setStartAfter(r):e.setStart(r,r.data.length),1==i.nodeType?e.setEnd(i,0):e.setEndBefore(i)}else{if(!o(l,s))return e;1==i.nodeType?"BR"==i.nodeName?e.setStartBefore(i):e.setStartAfter(i):e.setStart(i,i.data.length),1==r.nodeType&&d?e.setEndAfter(r):e.setEndBefore(r)}return e}function d(e){var t=w.getRng();if(t=c(t,e),u(t))return!0}function p(e,t){function n(e,n){return m=Z(n).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),l=e.cloneNode(!1),m=s.map(m,function(e){return e=e.cloneNode(!1),l.hasChildNodes()?(e.appendChild(l.firstChild),l.appendChild(e)):l.appendChild(e),l.appendChild(e),e}),m.length?(h=x.create("br"),m[0].appendChild(h),x.replace(l,e),t.setStartBefore(h),t.setEndBefore(h),f.selection.setRng(t),h):null}function i(e){return e&&f.schema.getTextBlockElements()[e.tagName]}var o,a,l,u,c,d,p,h,m;if(t.collapsed&&(d=t.startContainer,p=t.startOffset,a=x.getParent(d,x.isBlock),i(a)))if(1==d.nodeType){if(d=d.childNodes[p],d&&"BR"!=d.tagName)return;if(c=e?a.nextSibling:a.previousSibling,x.isEmpty(a)&&i(c)&&x.isEmpty(c)&&n(a,d))return x.remove(c),!0}else if(3==d.nodeType){if(o=r.create(a,d),u=a.cloneNode(!0),d=r.resolve(u,o),e){if(p>=d.data.length)return;d.deleteData(p,1)}else{if(p<=0)return;d.deleteData(p-1,1)}if(x.isEmpty(u))return n(a,d)}}function h(e){var t,n,r;d(e)||(s.each(f.getBody().getElementsByTagName("*"),function(e){"SPAN"==e.tagName&&e.setAttribute("mce-data-marked",1),!e.hasAttribute("data-mce-style")&&e.hasAttribute("style")&&f.dom.setAttrib(e,"style",f.dom.getAttrib(e,"style"))}),t=new E(function(){}),t.observe(f.getDoc(),{childList:!0,attributes:!0,subtree:!0,attributeFilter:["style"]}),f.getDoc().execCommand(e?"ForwardDelete":"Delete",!1,null),n=f.selection.getRng(),r=n.startContainer.parentNode,s.each(t.takeRecords(),function(e){if(x.isChildOf(e.target,f.getBody())){if("style"==e.attributeName){var t=e.target.getAttribute("data-mce-style");t?e.target.setAttribute("style",t):e.target.removeAttribute("style")}s.each(e.addedNodes,function(e){if("SPAN"==e.nodeName&&!e.getAttribute("mce-data-marked")){var t,i;e==r&&(t=n.startOffset,i=e.firstChild),x.remove(e,!0),i&&(n.setStart(i,t),n.setEnd(i,t),f.selection.setRng(n))}})}}),t.disconnect(),s.each(f.dom.select("span[mce-data-marked]"),function(e){e.removeAttribute("mce-data-marked")}))}function b(e){f.undoManager.transact(function(){h(e)})}var C=f.getDoc(),x=f.dom,w=f.selection,E=window.MutationObserver,N,_;E||(N=!0,E=function(){function e(e){var t=e.relatedNode||e.target;n.push({target:t,addedNodes:[t]})}function t(e){var t=e.relatedNode||e.target;n.push({target:t,attributeName:e.attrName})}var n=[],r;this.observe=function(n){r=n,r.addEventListener("DOMSubtreeModified",e,!1),r.addEventListener("DOMNodeInsertedIntoDocument",e,!1),r.addEventListener("DOMNodeInserted",e,!1),r.addEventListener("DOMAttrModified",t,!1)},this.disconnect=function(){r.removeEventListener("DOMSubtreeModified",e,!1),r.removeEventListener("DOMNodeInsertedIntoDocument",e,!1),r.removeEventListener("DOMNodeInserted",e,!1),r.removeEventListener("DOMAttrModified",t,!1)},this.takeRecords=function(){return n}}),f.on("keydown",function(e){var t=e.keyCode==te,n=e.ctrlKey||e.metaKey;if(!m(e)&&(t||e.keyCode==ee)){var r=f.selection.getRng(),i=r.startContainer,o=r.startOffset;if(t&&e.shiftKey)return;if(p(t,r))return void e.preventDefault();if(!n&&r.collapsed&&3==i.nodeType&&(t?o0))return;e.preventDefault(),n&&f.selection.getSel().modify("extend",t?"forward":"backward",e.metaKey?"lineboundary":"word"),h(t)}}),f.on("keypress",function(t){if(!m(t)&&!w.isCollapsed()&&t.charCode>31&&!e.metaKeyPressed(t)){var n,r,i,o,a,s;n=f.selection.getRng(),s=String.fromCharCode(t.charCode),t.preventDefault(),r=Z(n.startContainer).parents().filter(function(e,t){return!!f.schema.getTextInlineElements()[t.nodeName]}),h(!0),r=r.filter(function(e,t){return!Z.contains(f.getBody(),t)}),r.length?(i=x.createFragment(),r.each(function(e,t){t=t.cloneNode(!1),i.hasChildNodes()?(t.appendChild(i.firstChild),i.appendChild(t)):(a=t,i.appendChild(t)),i.appendChild(t)}),a.appendChild(f.getDoc().createTextNode(s)),o=x.getParent(n.startContainer,x.isBlock),x.isEmpty(o)?Z(o).empty().append(i):n.insertNode(i),n.setStart(a.firstChild,1),n.setEnd(a.firstChild,1),f.selection.setRng(n)):f.selection.setContent(s)}}),f.addCommand("Delete",function(){h()}),f.addCommand("ForwardDelete",function(){h(!0)}),N||(f.on("dragstart",function(e){_=w.getRng(),g(e)}),f.on("drop",function(e){if(!m(e)){var n=v(e);n&&(e.preventDefault(),l.setEditorTimeout(f,function(){var r=t.getCaretRangeFromPoint(e.x,e.y,C);_&&(w.setRng(_),_=null,b()),w.setRng(r),y(n.html)}))}}),f.on("cut",function(e){m(e)||!e.clipboardData||f.selection.isCollapsed()||(e.preventDefault(),e.clipboardData.clearData(),e.clipboardData.setData("text/html",f.selection.getContent()),e.clipboardData.setData("text/plain",f.selection.getContent({format:"text"})),l.setEditorTimeout(f,function(){b(!0)}))}))}function C(){function e(e){var t=ne.create("body"),n=e.cloneContents();return t.appendChild(n),re.serializer.serialize(t,{format:"html"})}function n(n){if(!n.setStart){if(n.item)return!1;var r=n.duplicate();return r.moveToElementText(f.getBody()),t.compareRanges(n,r)}var i=e(n),o=ne.createRng();o.selectNode(f.getBody());var a=e(o);return i===a}f.on("keydown",function(e){var t=e.keyCode,r,i;if(!m(e)&&(t==te||t==ee)){if(r=f.selection.isCollapsed(),i=f.getBody(),r&&!ne.isEmpty(i))return;if(!r&&!n(f.selection.getRng()))return;e.preventDefault(),f.setContent(""),i.firstChild&&ne.isBlock(i.firstChild)?f.selection.setCursorLocation(i.firstChild,0):f.selection.setCursorLocation(i,0),f.nodeChanged()}})}function x(){f.shortcuts.add("meta+a",null,"SelectAll")}function w(){f.settings.content_editable||ne.bind(f.getDoc(),"mousedown mouseup",function(e){var t;if(e.target==f.getDoc().documentElement)if(t=re.getRng(),f.getBody().focus(),"mousedown"==e.type){if(u.isCaretContainer(t.startContainer))return;re.placeCaretAt(e.clientX,e.clientY)}else re.setRng(t)})}function E(){f.on("keydown",function(e){if(!m(e)&&e.keyCode===ee){if(!f.getBody().getElementsByTagName("hr").length)return;if(re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode(),n=t.previousSibling;if("HR"==t.nodeName)return ne.remove(t),void e.preventDefault();n&&n.nodeName&&"hr"===n.nodeName.toLowerCase()&&(ne.remove(n),e.preventDefault())}}})}function N(){window.Range.prototype.getClientRects||f.on("mousedown",function(e){if(!m(e)&&"HTML"===e.target.nodeName){var t=f.getBody();t.blur(),l.setEditorTimeout(f,function(){t.focus()})}})}function _(){f.on("click",function(e){var t=e.target;/^(IMG|HR)$/.test(t.nodeName)&&"false"!==ne.getContentEditableParent(t)&&(e.preventDefault(),re.select(t),f.nodeChanged()),"A"==t.nodeName&&ne.hasClass(t,"mce-item-anchor")&&(e.preventDefault(),re.select(t))})}function S(){function e(){var e=ne.getAttribs(re.getStart().cloneNode(!1));return function(){var t=re.getStart();t!==f.getBody()&&(ne.setAttrib(t,"style",null),Q(e,function(e){t.setAttributeNode(e.cloneNode(!0))}))}}function t(){return!re.isCollapsed()&&ne.getParent(re.getStart(),ne.isBlock)!=ne.getParent(re.getEnd(),ne.isBlock)}f.on("keypress",function(n){var r;if(!m(n)&&(8==n.keyCode||46==n.keyCode)&&t())return r=e(),f.getDoc().execCommand("delete",!1,null),r(),n.preventDefault(),!1}),ne.bind(f.getDoc(),"cut",function(n){var r;!m(n)&&t()&&(r=e(),l.setEditorTimeout(f,function(){r()}))})}function k(){document.body.setAttribute("role","application")}function T(){f.on("keydown",function(e){if(!m(e)&&e.keyCode===ee&&re.isCollapsed()&&0===re.getRng(!0).startOffset){var t=re.getNode().previousSibling;if(t&&t.nodeName&&"table"===t.nodeName.toLowerCase())return e.preventDefault(),!1}})}function R(){h()>7||(p("RespectVisibilityInDesign",!0),f.contentStyles.push(".mceHideBrInPre pre br {display: none}"),ne.addClass(f.getBody(),"mceHideBrInPre"),oe.addNodeFilter("pre",function(e){for(var t=e.length,n,r,o,a;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)o=n[r],a=o.prev,a&&3===a.type&&"\n"!=a.value.charAt(a.value-1)?a.value+="\n":o.parent.insert(new i("#text",3),o,!0).value="\n"}),ae.addNodeFilter("pre",function(e){for(var t=e.length,n,r,i,o;t--;)for(n=e[t].getAll("br"),r=n.length;r--;)i=n[r],o=i.prev,o&&3==o.type&&(o.value=o.value.replace(/\r?\n$/,""))}))}function A(){ne.bind(f.getBody(),"mouseup",function(){var e,t=re.getNode();"IMG"==t.nodeName&&((e=ne.getStyle(t,"width"))&&(ne.setAttrib(t,"width",e.replace(/[^0-9%]+/g,"")),ne.setStyle(t,"width","")),(e=ne.getStyle(t,"height"))&&(ne.setAttrib(t,"height",e.replace(/[^0-9%]+/g,"")),ne.setStyle(t,"height","")))})}function B(){f.on("keydown",function(t){var n,r,i,o,a;if(!m(t)&&t.keyCode==e.BACKSPACE&&(n=re.getRng(),r=n.startContainer,i=n.startOffset,o=ne.getRoot(),a=r,n.collapsed&&0===i)){for(;a&&a.parentNode&&a.parentNode.firstChild==a&&a.parentNode!=o;)a=a.parentNode;"BLOCKQUOTE"===a.tagName&&(f.formatter.toggle("blockquote",null,a),n=ne.createRng(),n.setStart(r,0),n.setEnd(r,0),re.setRng(n))}})}function D(){function e(){K(),p("StyleWithCSS",!1),p("enableInlineTableEditing",!1),ie.object_resizing||p("enableObjectResizing",!1)}ie.readonly||f.on("BeforeExecCommand MouseDown",e)}function L(){function e(){Q(ne.select("a"),function(e){var t=e.parentNode,n=ne.getRoot();if(t.lastChild===e){for(;t&&!ne.isBlock(t);){if(t.parentNode.lastChild!==t||t===n)return;t=t.parentNode}ne.add(t,"br",{"data-mce-bogus":1})}})}f.on("SetContent ExecCommand",function(t){"setcontent"!=t.type&&"mceInsertLink"!==t.command||e()})}function M(){ie.forced_root_block&&f.on("init",function(){p("DefaultParagraphSeparator",ie.forced_root_block)})}function P(){f.on("keydown",function(e){var t;m(e)||e.keyCode!=ee||(t=f.getDoc().selection.createRange(),t&&t.item&&(e.preventDefault(),f.undoManager.beforeChange(),ne.remove(t.item(0)),f.undoManager.add()))})}function O(){var e;h()>=10&&(e="",Q("p div h1 h2 h3 h4 h5 h6".split(" "),function(t,n){e+=(n>0?",":"")+t+":empty"}),f.contentStyles.push(e+"{padding-right: 1px !important}"))}function H(){h()<9&&(oe.addNodeFilter("noscript",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.firstChild,r&&n.attr("data-mce-innertext",r.value)}),ae.addNodeFilter("noscript",function(e){for(var t=e.length,n,r,a;t--;)n=e[t],r=e[t].firstChild,r?r.value=o.decode(r.value):(a=n.attributes.map["data-mce-innertext"],a&&(n.attr("data-mce-innertext",null),r=new i("#text",3),r.value=a,r.raw=!0,n.append(r)))}))}function I(){function e(e,t){var n=i.createTextRange();try{n.moveToPoint(e,t)}catch(r){n=null}return n}function t(t){var r;t.button?(r=e(t.x,t.y),r&&(r.compareEndPoints("StartToStart",a)>0?r.setEndPoint("StartToStart",a):r.setEndPoint("EndToEnd",a),r.select())):n()}function n(){var e=r.selection.createRange();a&&!e.item&&0===e.compareEndPoints("StartToEnd",e)&&a.select(),ne.unbind(r,"mouseup",n),ne.unbind(r,"mousemove",t),a=o=0}var r=ne.doc,i=r.body,o,a,s;r.documentElement.unselectable=!0,ne.bind(r,"mousedown contextmenu",function(i){if("HTML"===i.target.nodeName){if(o&&n(),s=r.documentElement,s.scrollHeight>s.clientHeight)return;o=1,a=e(i.x,i.y),a&&(ne.bind(r,"mouseup",n),ne.bind(r,"mousemove",t),ne.getRoot().focus(),a.select())}})}function F(){f.on("keyup focusin mouseup",function(t){65==t.keyCode&&e.metaKeyPressed(t)||re.normalize()},!0)}function z(){f.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}")}function U(){f.inline||f.on("keydown",function(){document.activeElement==document.body&&f.getWin().focus()})}function W(){f.inline||(f.contentStyles.push("body {min-height: 150px}"),f.on("click",function(e){var t;if("HTML"==e.target.nodeName){if(a.ie>11)return void f.getBody().focus();t=f.selection.getRng(),f.getBody().focus(),f.selection.setRng(t),f.selection.normalize(),f.nodeChanged()}}))}function V(){a.mac&&f.on("keydown",function(t){!e.metaKeyPressed(t)||t.shiftKey||37!=t.keyCode&&39!=t.keyCode||(t.preventDefault(),f.selection.getSel().modify("move",37==t.keyCode?"backward":"forward","lineboundary"))})}function $(){p("AutoUrlDetect",!1)}function q(){f.on("click",function(e){var t=e.target;do if("A"===t.tagName)return void e.preventDefault();while(t=t.parentNode)}),f.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")}function j(){f.on("init",function(){f.dom.bind(f.getBody(),"submit",function(e){e.preventDefault()})})}function Y(){oe.addNodeFilter("br",function(e){for(var t=e.length;t--;)"Apple-interchange-newline"==e[t].attr("class")&&e[t].remove()})}function X(){f.on("dragstart",function(e){g(e)}),f.on("drop",function(e){if(!m(e)){var n=v(e);if(n&&n.id!=f.id){e.preventDefault();var r=t.getCaretRangeFromPoint(e.x,e.y,f.getDoc());re.setRng(r),y(n.html)}}})}function K(){}function G(){var e;return se?(e=f.selection.getSel(),!e||!e.rangeCount||0===e.rangeCount):0}function J(){function t(e){var t=new d(e.getBody()),n=e.selection.getRng(),r=c.fromRangeStart(n),i=c.fromRangeEnd(n),o=t.prev(r),a=t.next(i);return!e.selection.isCollapsed()&&(!o||o.isAtStart()&&r.isEqual(o))&&(!a||a.isAtEnd()&&r.isEqual(a))}f.on("keypress",function(n){!m(n)&&!re.isCollapsed()&&n.charCode>31&&!e.metaKeyPressed(n)&&t(f)&&(n.preventDefault(),f.setContent(String.fromCharCode(n.charCode)),f.selection.select(f.getBody(),!0),f.selection.collapse(!1),f.nodeChanged())}),f.on("keydown",function(e){var n=e.keyCode;m(e)||n!=te&&n!=ee||t(f)&&(e.preventDefault(),f.setContent(""),f.nodeChanged())})}var Q=s.each,Z=f.$,ee=e.BACKSPACE,te=e.DELETE,ne=f.dom,re=f.selection,ie=f.settings,oe=f.parser,ae=f.serializer,se=a.gecko,le=a.ie,ue=a.webkit,ce="data:text/mce-internal,",de=le?"Text":"URL";return B(),C(),a.windowsPhone||F(),ue&&(J(),b(),w(),_(),M(),j(),T(),Y(),a.iOS?(U(),W(),q()):x()),le&&a.ie<11&&(E(),k(),R(),A(),P(),O(),H(),I()),a.ie>=11&&T(),a.ie&&(W(),x(),$(),X()),se&&(J(),E(),N(),S(),D(),L(),z(),V(),T()),{refreshContentEditable:K,isHidden:G}}}),r(Ue,[pe,w,m],function(e,t,n){function r(e,t){return"selectionchange"==t?e.getDoc():!e.inline&&/^mouse|touch|click|contextmenu|drop|dragover|dragend/.test(t)?e.getDoc().documentElement:e.settings.event_root?(e.eventRoot||(e.eventRoot=o.select(e.settings.event_root)[0]),e.eventRoot):e.getBody()}function i(e,t){function n(e){return!e.hidden&&!e.readonly}var i=r(e,t),s;if(e.delegates||(e.delegates={}),!e.delegates[t])if(e.settings.event_root){if(a||(a={},e.editorManager.on("removeEditor",function(){var t;if(!e.editorManager.activeEditor&&a){for(t in a)e.dom.unbind(r(e,t));a=null}})),a[t])return;s=function(r){for(var i=r.target,a=e.editorManager.editors,s=a.length;s--;){var l=a[s].getBody();(l===i||o.isChildOf(i,l))&&n(a[s])&&a[s].fire(t,r)}},a[t]=s,o.bind(i,t,s)}else s=function(r){n(e)&&e.fire(t,r)},o.bind(i,t,s),e.delegates[t]=s}var o=t.DOM,a,s={bindPendingEventDelegates:function(){var e=this;n.each(e._pendingNativeEvents,function(t){i(e,t)})},toggleNativeEvent:function(e,t){var n=this;"focus"!=e&&"blur"!=e&&(t?n.initialized?i(n,e):n._pendingNativeEvents?n._pendingNativeEvents.push(e):n._pendingNativeEvents=[e]:n.initialized&&(n.dom.unbind(r(n,e),e,n.delegates[e]),delete n.delegates[e]))},unbindAllNativeEvents:function(){var e=this,t;if(e.delegates){for(t in e.delegates)e.dom.unbind(r(e,t),t,e.delegates[t]);delete e.delegates}e.inline||(e.getBody().onload=null,e.dom.unbind(e.getWin()),e.dom.unbind(e.getDoc())),e.dom.unbind(e.getBody()),e.dom.unbind(e.getContainer())}};return s=n.extend({},e,s)}),r(We,[],function(){function e(e,t,n){try{e.getDoc().execCommand(t,!1,n)}catch(r){}}function t(e){var t,n;return t=e.getBody(),n=function(t){e.dom.getParents(t.target,"a").length>0&&t.preventDefault()},e.dom.bind(t,"click",n),{unbind:function(){e.dom.unbind(t,"click",n)}}}function n(n,r){n._clickBlocker&&(n._clickBlocker.unbind(),n._clickBlocker=null),r?(n._clickBlocker=t(n),n.selection.controlSelection.hideResizeRect(),n.readonly=!0,n.getBody().contentEditable=!1):(n.readonly=!1,n.getBody().contentEditable=!0,e(n,"StyleWithCSS",!1),e(n,"enableInlineTableEditing",!1),e(n,"enableObjectResizing",!1),n.focus(),n.nodeChanged())}function r(e,t){var r=e.readonly?"readonly":"design";t!=r&&(e.initialized?n(e,"readonly"==t):e.on("init",function(){n(e,"readonly"==t)}),e.fire("SwitchMode",{mode:t}))}return{setMode:r}}),r(Ve,[m,d],function(e,t){var n=e.each,r=e.explode,i={f9:120,f10:121,f11:122},o=e.makeMap("alt,ctrl,shift,meta,access");return function(a){function s(e){var a,s,l={};n(r(e,"+"),function(e){e in o?l[e]=!0:/^[0-9]{2,}$/.test(e)?l.keyCode=parseInt(e,10):(l.charCode=e.charCodeAt(0),l.keyCode=i[e]||e.toUpperCase().charCodeAt(0))}),a=[l.keyCode];for(s in o)l[s]?a.push(s):l[s]=!1;return l.id=a.join(","),l.access&&(l.alt=!0,t.mac?l.ctrl=!0:l.shift=!0),l.meta&&(t.mac?l.meta=!0:(l.ctrl=!0,l.meta=!1)),l}function l(t,n,i,o){var l;return l=e.map(r(t,">"),s),l[l.length-1]=e.extend(l[l.length-1],{func:i,scope:o||a}),e.extend(l[0],{desc:a.translate(n),subpatterns:l.slice(1)})}function u(e){return e.altKey||e.ctrlKey||e.metaKey}function c(e){return"keydown"===e.type&&e.keyCode>=112&&e.keyCode<=123}function d(e,t){return!!t&&(t.ctrl==e.ctrlKey&&t.meta==e.metaKey&&(t.alt==e.altKey&&t.shift==e.shiftKey&&(!!(e.keyCode==t.keyCode||e.charCode&&e.charCode==t.charCode)&&(e.preventDefault(),!0))))}function f(e){return e.func?e.func.call(e.scope):null}var p=this,h={},m=[];a.on("keyup keypress keydown",function(e){!u(e)&&!c(e)||e.isDefaultPrevented()||(n(h,function(t){if(d(e,t))return m=t.subpatterns.slice(0),"keydown"==e.type&&f(t),!0}),d(e,m[0])&&(1===m.length&&"keydown"==e.type&&f(m[0]),m.shift()))}),p.add=function(t,i,o,s){var u;return u=o,"string"==typeof o?o=function(){a.execCommand(u,!1,null)}:e.isArray(u)&&(o=function(){a.execCommand(u[0],u[1],u[2])}),n(r(e.trim(t.toLowerCase())),function(e){var t=l(e,i,o,s);h[t.id]=t}),!0},p.remove=function(e){var t=l(e);return!!h[t.id]&&(delete h[t.id],!0)}}}),r($e,[u,m,z],function(e,t,n){return function(r,i){function o(e){var t,n;return n={"image/jpeg":"jpg","image/jpg":"jpg","image/gif":"gif","image/png":"png"},t=n[e.blob().type.toLowerCase()]||"dat",e.filename()+"."+t}function a(e,t){return e?e.replace(/\/$/,"")+"/"+t.replace(/^\//,""):t}function s(e){return{id:e.id,blob:e.blob,base64:e.base64,filename:n.constant(o(e))}}function l(e,t,n,r){var o,s;o=new XMLHttpRequest,o.open("POST",i.url),o.withCredentials=i.credentials,o.upload.onprogress=function(e){r(e.loaded/e.total*100)},o.onerror=function(){n("Image upload failed due to a XHR Transport error. Code: "+o.status)},o.onload=function(){var e;return 200!=o.status?void n("HTTP Error: "+o.status):(e=JSON.parse(o.responseText),e&&"string"==typeof e.location?void t(a(i.basePath,e.location)):void n("Invalid JSON: "+o.responseText))},s=new FormData,s.append("file",e.blob(),e.filename()),o.send(s)}function u(){return new e(function(e){e([])})}function c(e,t){return{url:t,blobInfo:e,status:!0}}function d(e,t){return{url:"",blobInfo:e,status:!1,error:t}}function f(e,n){t.each(y[e],function(e){e(n)}),delete y[e]}function p(t,n,i){return r.markPending(t.blobUri()),new e(function(e){var o,a,l=function(){};try{var u=function(){o&&(o.close(),a=l)},p=function(n){u(),r.markUploaded(t.blobUri(),n),f(t.blobUri(),c(t,n)),e(c(t,n))},h=function(n){u(),r.removeFailed(t.blobUri()),f(t.blobUri(),d(t,n)),e(d(t,n))};a=function(e){e<0||e>100||(o||(o=i()),o.progressBar.value(e))},n(s(t),p,h,a)}catch(m){e(d(t,m.message))}})}function h(e){return e===l}function m(t){var n=t.blobUri();return new e(function(e){y[n]=y[n]||[],y[n].push(e)})}function g(n,o){return n=t.grep(n,function(e){return!r.isUploaded(e.blobUri())}),e.all(t.map(n,function(e){return r.isPending(e.blobUri())?m(e):p(e,i.handler,o)}))}function v(e,t){return!i.url&&h(i.handler)?u():g(e,t)}var y={};return i=t.extend({credentials:!1,handler:l},i),{upload:v}}}),r(qe,[u],function(e){function t(t){return new e(function(e,n){var r=function(){n("Cannot convert "+t+" to Blob. Resource might not exist or is inaccessible.")};try{var i=new XMLHttpRequest;i.open("GET",t,!0),i.responseType="blob",i.onload=function(){200==this.status?e(this.response):r()},i.onerror=r,i.send()}catch(o){r()}})}function n(e){var t,n;return e=decodeURIComponent(e).split(","),n=/data:([^;]+)/.exec(e[0]),n&&(t=n[1]),{type:t,data:e[1]}}function r(t){return new e(function(e){var r,i,o;t=n(t);try{r=atob(t.data)}catch(a){return void e(new Blob([]))}for(i=new Uint8Array(r.length),o=0;o0&&(n&&(l*=-1),r.left+=l,r.right+=l),r}function l(){var n,r,o,a,s;for(n=i("*[contentEditable=false]",t),a=0;a').css(l).appendTo(t),o&&m.addClass("mce-visual-caret-before"),d(),u=a.ownerDocument.createRange(),u.setStart(g,0),u.setEnd(g,0),u):(g=e.insertInline(a,o),u=a.ownerDocument.createRange(),s(g.nextSibling)?(u.setStart(g,0),u.setEnd(g,0)):(u.setStart(g,1),u.setEnd(g,1)),u)}function c(){l(),g&&(e.remove(g),g=null),m&&(m.remove(),m=null),clearInterval(h)}function d(){h=a.setInterval(function(){i("div.mce-visual-caret",t).toggleClass("mce-visual-caret-hidden")},500)}function f(){a.clearInterval(h)}function p(){return".mce-visual-caret {position: absolute;background-color: black;background-color: currentcolor;}.mce-visual-caret-hidden {display: none;}*[data-mce-caret] {position: absolute;left: -1000px;right: auto;top: 0;margin: 0;padding: 0;}"}var h,m,g;return{show:u,hide:c,getCss:p,destroy:f}}}),r(Qe,[h,_,W],function(e,t,n){function r(i){function o(t){return e.map(t,function(e){return e=n.clone(e),e.node=i,e})}if(e.isArray(i))return e.reduce(i,function(e,t){return e.concat(r(t))},[]);if(t.isElement(i))return o(i.getClientRects());if(t.isText(i)){var a=i.ownerDocument.createRange();return a.setStart(i,0),a.setEnd(i,i.data.length),o(a.getClientRects())}}return{getClientRects:r}}),r(Ze,[z,h,Qe,U,ie,oe,$,W],function(e,t,n,r,i,o,a,s){function l(e,t,n,o){for(;o=i.findNode(o,e,r.isEditableCaretCandidate,t);)if(n(o))return}function u(e,r,i,o,a,s){function u(o){var s,l,u;for(u=n.getClientRects(o),e==-1&&(u=u.reverse()),s=0;s0&&r(l,t.last(f))&&c++,l.line=c,a(l))return!0;f.push(l)}}var c=0,d,f=[],p;return(p=t.last(s.getClientRects()))?(d=s.getNode(),u(d),l(e,o,u,d),f):f}function c(e,t){return t.line>e}function d(e,t){return t.line===e}function f(e,n,r,i){function l(n){return 1==e?t.last(n.getClientRects()):t.last(n.getClientRects())}var u=new o(n),c,d,f,p,h=[],m=0,g,v;1==e?(c=u.next,d=s.isBelow,f=s.isAbove,p=a.after(i)):(c=u.prev,d=s.isAbove,f=s.isBelow,p=a.before(i)),v=l(p);do if(p.isVisible()&&(g=l(p),!f(g,v))){if(h.length>0&&d(g,t.last(h))&&m++,g=s.clone(g),g.position=p,g.line=m,r(g))return h;h.push(g)}while(p=c(p));return h}var p=e.curry,h=p(u,-1,s.isAbove,s.isBelow),m=p(u,1,s.isBelow,s.isAbove);return{upUntil:h,downUntil:m,positionsUntil:f,isAboveLine:p(c),isLine:p(d)}}),r(et,[z,h,_,Qe,W,ie,U],function(e,t,n,r,i,o,a){function s(e,t){return Math.abs(e.left-t)}function l(e,t){return Math.abs(e.right-t)}function u(e,n){function r(e,t){return e>=t.left&&e<=t.right}return t.reduce(e,function(e,t){var i,o;return i=Math.min(s(e,n),l(e,n)),o=Math.min(s(t,n),l(t,n)),r(n,t)?t:r(n,e)?e:o==i&&m(t.node)?t:o=e.top&&i<=e.bottom}),a=u(o,n),a&&(a=u(d(e,a),n),a&&m(a.node))?p(a,n):null}var m=n.isContentEditableFalse,g=o.findNode,v=e.curry;return{findClosestClientRect:u,findLineNodeRects:d,closestCaret:h}}),r(tt,[],function(){var e=function(e){var t,n,r,i;return i=e.getBoundingClientRect(),t=e.ownerDocument,n=t.documentElement,r=t.defaultView,{top:i.top+r.pageYOffset-n.clientTop,left:i.left+r.pageXOffset-n.clientLeft}},t=function(t){return t.inline?e(t.getBody()):{left:0,top:0}},n=function(e){var t=e.getBody();return e.inline?{left:t.scrollLeft,top:t.scrollTop}:{left:0,top:0}},r=function(e){var t=e.getBody(),n=e.getDoc().documentElement,r={left:t.scrollLeft,top:t.scrollTop},i={left:t.scrollLeft||n.scrollLeft,top:t.scrollTop||n.scrollTop};return e.inline?r:i},i=function(t,n){if(n.target.ownerDocument!==t.getDoc()){var i=e(t.getContentAreaContainer()),o=r(t);return{left:n.pageX-i.left+o.left,top:n.pageY-i.top+o.top}}return{left:n.pageX,top:n.pageY}},o=function(e,t,n){return{pageX:n.left-e.left+t.left,pageY:n.top-e.top+t.top}},a=function(e,r){return o(t(e),n(e),i(e,r))};return{calc:a}}),r(nt,[_,h,z,c,w,tt],function(e,t,n,r,i,o){var a=e.isContentEditableFalse,s=e.isContentEditableTrue,l=function(e,t){return a(t)&&t!==e},u=function(e,t,n){return t!==n&&!e.dom.isChildOf(t,n)&&!a(t)},c=function(e){var t=e.cloneNode(!0);return t.removeAttribute("data-mce-selected"),t},d=function(e,t,n,r){var i=t.cloneNode(!0);e.dom.setStyles(i,{width:n,height:r}),e.dom.setAttrib(i,"data-mce-selected",null);var o=e.dom.create("div",{"class":"mce-drag-container","data-mce-bogus":"all",unselectable:"on",contenteditable:"false"});return e.dom.setStyles(o,{position:"absolute",opacity:.5,overflow:"hidden",border:0,padding:0,margin:0,width:n,height:r}),e.dom.setStyles(i,{margin:0,boxSizing:"border-box"}),o.appendChild(i),o},f=function(e,t){e.parentNode!==t&&t.appendChild(e)},p=function(e,t,n,r,i,o){var a=0,s=0;e.style.left=t.pageX+"px",e.style.top=t.pageY+"px",t.pageX+n>i&&(a=t.pageX+n-i),t.pageY+r>o&&(s=t.pageY+r-o),e.style.width=n-a+"px",e.style.height=r-s+"px"},h=function(e){e&&e.parentNode&&e.parentNode.removeChild(e)},m=function(e){return 0===e.button},g=function(e){return e.element},v=function(e,t){return{pageX:t.pageX-e.relX,pageY:t.pageY+5}},y=function(e,r){return function(i){if(m(i)){var o=t.find(r.dom.getParents(i.target),n.or(a,s));if(l(r.getBody(),o)){var u=r.dom.getPos(o),c=r.getBody(),f=r.getDoc().documentElement;e.element=o,e.screenX=i.screenX,e.screenY=i.screenY,e.maxX=(r.inline?c.scrollWidth:f.offsetWidth)-2,e.maxY=(r.inline?c.scrollHeight:f.offsetHeight)-2,e.relX=i.pageX-u.x,e.relY=i.pageY-u.y,e.width=o.offsetWidth,e.height=o.offsetHeight,e.ghost=d(r,o,e.width,e.height)}}}},b=function(e,t){var n=r.throttle(function(e,n){t._selectionOverrides.hideFakeCaret(),t.selection.placeCaretAt(e,n)},0);return function(r){var i=Math.max(Math.abs(r.screenX-e.screenX),Math.abs(r.screenY-e.screenY));if(g(e)&&!e.dragging&&i>10){var a=t.fire("dragstart",{target:e.element});if(a.isDefaultPrevented())return;e.dragging=!0,t.focus()}if(e.dragging){var s=v(e,o.calc(t,r));f(e.ghost,t.getBody()),p(e.ghost,s,e.width,e.height,e.maxX,e.maxY),n(r.clientX,r.clientY)}}},C=function(e){var t=e.getSel().getRangeAt(0),n=t.startContainer;return 3===n.nodeType?n.parentNode:n},x=function(e,t){return function(n){if(e.dragging&&u(t,C(t.selection),e.element)){var r=c(e.element),i=t.fire("drop",{targetClone:r,clientX:n.clientX,clientY:n.clientY});i.isDefaultPrevented()||(r=i.targetClone,t.undoManager.transact(function(){h(e.element),t.insertContent(t.dom.getOuterHTML(r)),t._selectionOverrides.hideFakeCaret()}))}E(e)}},w=function(e,t){return function(){E(e),e.dragging&&t.fire("dragend")}},E=function(e){e.dragging=!1,e.element=null,h(e.ghost)},N=function(e){var t={},n,r,o,a,s,l;n=i.DOM,l=document,r=y(t,e),o=b(t,e),a=x(t,e),s=w(t,e),e.on("mousedown",r),e.on("mousemove",o),e.on("mouseup",a),n.bind(l,"mousemove",o),n.bind(l,"mouseup",s),e.on("remove",function(){n.unbind(l,"mousemove",o),n.unbind(l,"mouseup",s)})},_=function(e){e.on("drop",function(t){var n="undefined"!=typeof t.clientX?e.getDoc().elementFromPoint(t.clientX,t.clientY):null;(a(n)||a(e.dom.getContentEditableParent(n)))&&t.preventDefault()})},S=function(e){N(e),_(e)};return{init:S}}),r(rt,[d,oe,$,k,ie,Je,Ze,et,_,T,W,I,z,h,c,nt],function(e,t,n,r,i,o,a,s,l,u,c,d,f,p,h,m){function g(e,t){for(;t=e(t);)if(t.isVisible())return t;return t}function v(u){function v(e){return u.dom.hasClass(e,"mce-offscreen-selection")}function _(){var e=u.dom.get(ue);return e?e.getElementsByTagName("*")[0]:e}function S(e){return u.dom.isBlock(e)}function k(e){e&&u.selection.setRng(e)}function T(){return u.selection.getRng()}function R(e,t){u.selection.scrollIntoView(e,t)}function A(e,t,n){var r;return r=u.fire("ShowCaret",{target:t,direction:e,before:n}),r.isDefaultPrevented()?null:(R(t,e===-1),le.show(n,t))}function B(e){var t;return t=u.fire("BeforeObjectSelected",{target:e}),t.isDefaultPrevented()?null:D(e)}function D(e){var t=e.ownerDocument.createRange();return t.selectNode(e),t}function L(e,t){var n=i.isInSameBlock(e,t);return!(n||!l.isBr(e.getNode()))||n}function M(e,t){return t=i.normalizeRange(e,ie,t),e==-1?n.fromRangeStart(t):n.fromRangeEnd(t)}function P(e){return r.isCaretContainerBlock(e.startContainer)}function O(e,t,n,r){var i,o,a,s;return!r.collapsed&&(i=N(r),C(i))?A(e,i,e==-1):(s=P(r),o=M(e,r),n(o)?B(o.getNode(e==-1)):(o=t(o))?n(o)?A(e,o.getNode(e==-1),1==e):(a=t(o),n(a)&&L(o,a)?A(e,a.getNode(e==-1),1==e):s?$(o.toRange()):null):s?r:null)}function H(e,t,n){var r,i,o,l,u,c,d,f,h;if(h=N(n),r=M(e,n),i=t(ie,a.isAboveLine(1),r),o=p.filter(i,a.isLine(1)),u=p.last(r.getClientRects()),E(r)&&(h=r.getNode()),w(r)&&(h=r.getNode(!0)),!u)return null;if(c=u.left,l=s.findClosestClientRect(o,c),l&&C(l.node))return d=Math.abs(c-l.left),f=Math.abs(c-l.right),A(e,l.node,d=11)&&(t.innerHTML='
    '),t}var o,a,s;if(r.collapsed&&u.settings.forced_root_block){if(o=u.dom.getParent(r.startContainer,"PRE"),!o)return;a=1==t?ae(n.fromRangeStart(r)):se(n.fromRangeStart(r)),a||(s=i(),1==t?u.$(o).after(s):u.$(o).before(s),u.selection.select(s,!0),u.selection.collapse())}}function F(e,t,n,r){var i;return(i=O(e,t,n,r))?i:(i=I(e,r),i?i:null)}function z(e,t,n){var r;return(r=H(e,t,n))?r:(r=I(e,n),r?r:null)}function U(){return de("*[data-mce-caret]")[0]}function W(e){e.hasAttribute("data-mce-caret")&&(r.showCaretContainerBlock(e),k(T()),R(e[0]))}function V(e){var t,r;return e=i.normalizeRange(1,ie,e),t=n.fromRangeStart(e),C(t.getNode())?A(1,t.getNode(),!t.isAtEnd()):C(t.getNode(!0))?A(1,t.getNode(!0),!1):(r=u.dom.getParent(t.getNode(),f.or(C,b)),C(r)?A(1,r,!1):null)}function $(e){var t;return e&&e.collapsed?(t=V(e),t?t:e):e}function q(e){var t,i,o,a;return C(e)?(C(e.previousSibling)&&(o=e.previousSibling),i=se(n.before(e)),i||(t=ae(n.after(e))),t&&x(t.getNode())&&(a=t.getNode()),r.remove(e.previousSibling),r.remove(e.nextSibling),u.dom.remove(e),u.dom.isEmpty(u.getBody())?(u.setContent(""),void u.focus()):o?n.after(o).toRange():a?n.before(a).toRange():i?i.toRange():t?t.toRange():null):null}function j(e){var t=u.schema.getTextBlockElements();return e.nodeName in t}function Y(e){return u.dom.isEmpty(e)}function X(e,t,r){var i=u.dom,o,a,s,l;if(o=i.getParent(t.getNode(),i.isBlock),a=i.getParent(r.getNode(),i.isBlock),e===-1){if(l=r.getNode(!0),w(r)&&S(l))return j(o)?(Y(o)&&i.remove(o),n.after(l).toRange()):q(r.getNode(!0))}else if(l=t.getNode(),E(t)&&S(l))return j(a)?(Y(a)&&i.remove(a),n.before(l).toRange()):q(t.getNode());if(o===a||!j(o)||!j(a))return null;for(;s=o.firstChild;)a.appendChild(s);return u.dom.remove(o),r.toRange()}function K(e,t,n,i){var o,a,s,l;return!i.collapsed&&(o=N(i),C(o))?$(q(o)):(a=M(e,i),n(a)&&r.isCaretContainerBlock(i.startContainer)?(l=e==-1?oe.prev(a):oe.next(a),l?$(l.toRange()):i):t(a)?$(q(a.getNode(e==-1))):(s=e==-1?oe.prev(a):oe.next(a),t(s)?e===-1?X(e,a,s):X(e,s,a):void 0))}function G(){function i(e,t){if(e.isDefaultPrevented()===!1){var n=t(T());n&&(e.preventDefault(),k(n))}}function o(e){for(var t=u.getBody();e&&e!=t;){if(b(e)||C(e))return e;e=e.parentNode}return null}function l(e,t,n){return!n.collapsed&&p.reduce(n.getClientRects(),function(n,r){return n||c.containsXY(r,e,t)},!1)}function f(e){var t=!1;e.on("touchstart",function(){t=!1}),e.on("touchmove",function(){t=!0}),e.on("touchend",function(e){var n=o(e.target);C(n)&&(t||(e.preventDefault(),ee(B(n))))})}function g(){var e,t=o(u.selection.getNode());b(t)&&S(t)&&u.dom.isEmpty(t)&&(e=u.dom.create("br",{"data-mce-bogus":"1"}),u.$(t).empty().append(e),u.selection.setRng(n.before(e).toRange()))}function x(e){var t=U();if(t)return"compositionstart"==e.type?(e.preventDefault(),e.stopPropagation(),void W(t)):void(r.hasContent(t)&&W(t))}function N(e){var t;switch(e.keyCode){case d.DELETE:t=g();break;case d.BACKSPACE:t=g()}t&&e.preventDefault()}var R=y(F,1,ae,E),D=y(F,-1,se,w),L=y(K,1,E,w),M=y(K,-1,w,E),P=y(z,-1,a.upUntil),O=y(z,1,a.downUntil);u.on("mouseup",function(){var e=T();e.collapsed&&k(V(e))}),u.on("click",function(e){var t;t=o(e.target),t&&(C(t)&&(e.preventDefault(),u.focus()),b(t)&&u.dom.isChildOf(t,u.selection.getNode())&&te())}),u.on("blur NewBlock",function(){te(),re()});var H=function(e){var r=new t(e);if(!e.firstChild)return!1;var i=n.before(e.firstChild),o=r.next(i);return o&&!E(o)&&!w(o)},I=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n===r},j=function(e){return!(e.keyCode>=112&&e.keyCode<=123)},Y=function(e,t){var n=u.dom.getParent(e,u.dom.isBlock),r=u.dom.getParent(t,u.dom.isBlock);return n&&!I(n,r)&&H(n)};f(u),u.on("mousedown",function(e){var t;if(t=o(e.target))C(t)?(e.preventDefault(),ee(B(t))):l(e.clientX,e.clientY,u.selection.getRng())||u.selection.placeCaretAt(e.clientX,e.clientY);else{te(),re();var n=s.closestCaret(ie,e.clientX,e.clientY);n&&(Y(e.target,n.node)||(e.preventDefault(),u.getBody().focus(),k(A(1,n.node,n.before))))}}),u.on("keydown",function(e){if(!d.modifierPressed(e))switch(e.keyCode){case d.RIGHT:i(e,R);break;case d.DOWN:i(e,O);break;case d.LEFT:i(e,D);break;case d.UP:i(e,P);break;case d.DELETE:i(e,L);break;case d.BACKSPACE:i(e,M);break;default:C(u.selection.getNode())&&j(e)&&e.preventDefault()}}),u.on("keyup compositionstart",function(e){x(e),N(e)},!0),u.on("cut",function(){var e=u.selection.getNode();C(e)&&h.setEditorTimeout(u,function(){k($(q(e)))})}),u.on("getSelectionRange",function(e){var t=e.range;if(ce){if(!ce.parentNode)return void(ce=null);t=t.cloneRange(),t.selectNode(ce),e.range=t}}),u.on("setSelectionRange",function(e){var t;t=ee(e.range),t&&(e.range=t)}),u.on("AfterSetSelectionRange",function(e){var t=e.range;Z(t)||re(),v(t.startContainer.parentNode)||te()}),u.on("focus",function(){h.setEditorTimeout(u,function(){u.selection.setRng($(u.selection.getRng()))},0)}),u.on("copy",function(t){var n=t.clipboardData;if(!t.isDefaultPrevented()&&t.clipboardData&&!e.ie){var r=_();r&&(t.preventDefault(),n.clearData(),n.setData("text/html",r.outerHTML),n.setData("text/plain",r.outerText))}}),m.init(u)}function J(){var e=u.contentStyles,t=".mce-content-body";e.push(le.getCss()),e.push(t+" .mce-offscreen-selection {position: absolute;left: -9999999999px;max-width: 1000000px;}"+t+" *[contentEditable=false] {cursor: default;}"+t+" *[contentEditable=true] {cursor: text;}")}function Q(e){return r.isCaretContainer(e)||r.startsWithCaretContainer(e)||r.endsWithCaretContainer(e)}function Z(e){return Q(e.startContainer)||Q(e.endContainer)}function ee(t){var n,r=u.$,i=u.dom,o,a,s,l,c,d,f,p,h;if(!t)return null;if(t.collapsed){if(!Z(t)){if(f=M(1,t),C(f.getNode()))return A(1,f.getNode(),!f.isAtEnd());if(C(f.getNode(!0)))return A(1,f.getNode(!0),!1)}return null}return s=t.startContainer,l=t.startOffset,c=t.endOffset,3==s.nodeType&&0==l&&C(s.parentNode)&&(s=s.parentNode,l=i.nodeIndex(s),s=s.parentNode),1!=s.nodeType?null:(c==l+1&&(n=s.childNodes[l]),C(n)?(p=h=n.cloneNode(!0),d=u.fire("ObjectSelected",{target:n,targetClone:p}),d.isDefaultPrevented()?null:(p=d.targetClone,o=r("#"+ue),0===o.length&&(o=r('
    ').attr("id",ue),o.appendTo(u.getBody())),t=u.dom.createRng(),p===h&&e.ie?(o.empty().append('

    \xa0

    ').append(p),t.setStartAfter(o[0].firstChild.firstChild),t.setEndAfter(p)):(o.empty().append("\xa0").append(p).append("\xa0"),t.setStart(o[0].firstChild,1),t.setEnd(o[0].lastChild,0)),o.css({top:i.getPos(n,u.getBody()).y}),o[0].focus(),a=u.selection.getSel(),a.removeAllRanges(),a.addRange(t),u.$("*[data-mce-selected]").removeAttr("data-mce-selected"),n.setAttribute("data-mce-selected",1),ce=n,re(),t)):null)}function te(){ce&&(ce.removeAttribute("data-mce-selected"),u.$("#"+ue).remove(),ce=null)}function ne(){le.destroy(),ce=null}function re(){le.hide()}var ie=u.getBody(),oe=new t(ie),ae=y(g,oe.next),se=y(g,oe.prev),le=new o(u.getBody(),S),ue="sel-"+u.dom.uniqueId(),ce,de=u.$;return e.ceFalse&&(G(),J()),{showBlockCaretContainer:W,hideFakeCaret:re,destroy:ne}}var y=f.curry,b=l.isContentEditableTrue,C=l.isContentEditableFalse,x=l.isElement,w=i.isAfterContentEditableFalse,E=i.isBeforeContentEditableFalse,N=u.getSelectedNode;return v}),r(it,[],function(){var e=0,t=function(){var e=function(){return Math.round(4294967295*Math.random()).toString(36)},t=(new Date).getTime();return"s"+t.toString(36)+e()+e()+e()},n=function(n){return n+e++ +t()};return{uuid:n}}),r(ot,[],function(){var e=function(e,t,n){var r=e.sidebars?e.sidebars:[];r.push({name:t,settings:n}),e.sidebars=r};return{add:e}}),r(at,[w,g,N,R,A,O,P,Y,J,te,ne,re,le,ue,E,f,Le,Ie,B,L,ze,d,m,c,Ue,We,Ve,Ge,rt,it,ot,Ke],function(e,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v,y,b,C,x,w,E,N,_,S,k,T,R,A,B,D){function L(e,t,i){var o=this,a,s,l;a=o.documentBaseUrl=i.documentBaseURL,s=i.baseURI,l=i.defaultSettings,t=H({id:e,theme:"modern",delta_width:0,delta_height:0,popup_css:"",plugins:"",document_base_url:a,add_form_submit_trigger:!0,submit_patch:!0,add_unload_trigger:!0,convert_urls:!0,relative_urls:!0,remove_script_host:!0,object_resizing:!0,doctype:"",visual:!0,font_size_style_values:"xx-small,x-small,small,medium,large,x-large,xx-large",font_size_legacy_values:"xx-small,small,medium,large,x-large,xx-large,300%",forced_root_block:"p",hidden_input:!0,padd_empty_editor:!0,render_ui:!0,indentation:"30px",inline_styles:!0,convert_fonts_to_spans:!0,indent:"simple",indent_before:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",indent_after:"p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,th,ul,ol,li,dl,dt,dd,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,figcaption,option,optgroup,datalist",validate:!0,entity_encoding:"named",url_converter:o.convertURL,url_converter_scope:o,ie7_compat:!0},l,t),l&&l.external_plugins&&t.external_plugins&&(t.external_plugins=H({},l.external_plugins,t.external_plugins)),o.settings=t,r.language=t.language||"en",r.languageLoad=t.language_load,r.baseURL=i.baseURL,o.id=t.id=e,o.setDirty(!1),o.plugins={},o.documentBaseURI=new h(t.document_base_url||a,{base_uri:s}),o.baseURI=s,o.contentCSS=[],o.contentStyles=[],o.shortcuts=new k(o),o.loadedCSS={},o.editorCommands=new p(o),o.suffix=i.suffix,o.editorManager=i,o.inline=t.inline,o.settings.content_editable=o.inline,t.cache_suffix&&(w.cacheSuffix=t.cache_suffix.replace(/^[\?\&]+/,"")),t.override_viewport===!1&&(w.overrideViewPort=!1),i.fire("SetupEditor",o),o.execCallback("setup",o),o.$=n.overrideDefaults(function(){return{context:o.inline?o.getBody():o.getDoc(),element:o.getBody()}})}var M=e.DOM,P=r.ThemeManager,O=r.PluginManager,H=E.extend,I=E.each,F=E.explode,z=E.inArray,U=E.trim,W=E.resolve,V=g.Event,$=w.gecko,q=w.ie;return L.prototype={render:function(){function e(){M.unbind(window,"ready",e),n.render()}function t(){var e=m.ScriptLoader;if(r.language&&"en"!=r.language&&!r.language_url&&(r.language_url=n.editorManager.baseURL+"/langs/"+r.language+".js"),r.language_url&&e.add(r.language_url),r.theme&&"function"!=typeof r.theme&&"-"!=r.theme.charAt(0)&&!P.urls[r.theme]){var t=r.theme_url;t=t?n.documentBaseURI.toAbsolute(t):"themes/"+r.theme+"/theme"+o+".js",P.load(r.theme,t)}E.isArray(r.plugins)&&(r.plugins=r.plugins.join(" ")),I(r.external_plugins,function(e,t){O.load(t,e),r.plugins+=" "+t}),I(r.plugins.split(/[ ,]/),function(e){if(e=U(e),e&&!O.urls[e])if("-"==e.charAt(0)){e=e.substr(1,e.length);var t=O.dependencies(e);I(t,function(e){var t={prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"};e=O.createUrl(t,e),O.load(e.resource,e)})}else O.load(e,{prefix:"plugins/",resource:e,suffix:"/plugin"+o+".js"})}),e.loadQueue(function(){n.removed||n.init()},n,function(e){D.pluginLoadError(n,e[0]),n.removed||n.init()})}var n=this,r=n.settings,i=n.id,o=n.suffix;if(!V.domLoaded)return void M.bind(window,"ready",e);if(n.getElement()&&w.contentEditable){r.inline?n.inline=!0:(n.orgVisibility=n.getElement().style.visibility,n.getElement().style.visibility="hidden");var a=n.getElement().form||M.getParent(i,"form");a&&(n.formElement=a,r.hidden_input&&!/TEXTAREA|INPUT/i.test(n.getElement().nodeName)&&(M.insertAfter(M.create("input",{type:"hidden",name:i}),i),n.hasHiddenInput=!0),n.formEventDelegate=function(e){n.fire(e.type,e)},M.bind(a,"submit reset",n.formEventDelegate),n.on("reset",function(){n.setContent(n.startContent,{format:"raw"})}),!r.submit_patch||a.submit.nodeType||a.submit.length||a._mceOldSubmit||(a._mceOldSubmit=a.submit,a.submit=function(){return n.editorManager.triggerSave(),n.setDirty(!1),a._mceOldSubmit(a)})),n.windowManager=new v(n),n.notificationManager=new y(n),"xml"==r.encoding&&n.on("GetContent",function(e){e.save&&(e.content=M.encode(e.content))}),r.add_form_submit_trigger&&n.on("submit",function(){n.initialized&&n.save()}),r.add_unload_trigger&&(n._beforeUnload=function(){!n.initialized||n.destroyed||n.isHidden()||n.save({format:"raw",no_events:!0,set_dirty:!1})},n.editorManager.on("BeforeUnload",n._beforeUnload)),n.editorManager.add(n),t()}},init:function(){function e(n){var r=O.get(n),i,o;if(i=O.urls[n]||t.documentBaseUrl.replace(/\/$/,""),n=U(n),r&&z(m,n)===-1){if(I(O.dependencies(n),function(t){e(t)}),t.plugins[n])return;o=new r(t,i,t.$),t.plugins[n]=o,o.init&&(o.init(t,i),m.push(n))}}var t=this,n=t.settings,r=t.getElement(),i,o,a,s,l,u,c,d,f,p,h,m=[];if(t.rtl=n.rtl_ui||t.editorManager.i18n.rtl,t.editorManager.i18n.setCode(n.language),n.aria_label=n.aria_label||M.getAttrib(r,"aria-label",t.getLang("aria.rich_text_area")),t.fire("ScriptsLoaded"),n.theme&&("function"!=typeof n.theme?(n.theme=n.theme.replace(/-/,""),u=P.get(n.theme),t.theme=new u(t,P.urls[n.theme]),t.theme.init&&t.theme.init(t,P.urls[n.theme]||t.documentBaseUrl.replace(/\/$/,""),t.$)):t.theme=n.theme),I(n.plugins.replace(/\-/g,"").split(/[ ,]/),e),n.render_ui&&t.theme&&(t.orgDisplay=r.style.display,"function"!=typeof n.theme?(i=n.width||r.style.width||r.offsetWidth,o=n.height||r.style.height||r.offsetHeight,a=n.min_height||100,p=/^[0-9\.]+(|px)$/i,p.test(""+i)&&(i=Math.max(parseInt(i,10),100)),p.test(""+o)&&(o=Math.max(parseInt(o,10),a)),l=t.theme.renderUI({targetNode:r,width:i,height:o,deltaWidth:n.delta_width,deltaHeight:n.delta_height}),n.content_editable||(o=(l.iframeHeight||o)+("number"==typeof o?l.deltaHeight||0:""),o",n.document_base_url!=t.documentBaseUrl&&(t.iframeHTML+=''),!w.caretAfter&&n.ie7_compat&&(t.iframeHTML+=''),t.iframeHTML+='',!/#$/.test(document.location.href))for(h=0;h',t.loadedCSS[g]=!0}d=n.body_id||"tinymce",d.indexOf("=")!=-1&&(d=t.getParam("body_id","","hash"),d=d[t.id]||d),f=n.body_class||"",f.indexOf("=")!=-1&&(f=t.getParam("body_class","","hash"),f=f[t.id]||""),n.content_security_policy&&(t.iframeHTML+=''),t.iframeHTML+='
    ';var v='javascript:(function(){document.open();document.domain="'+document.domain+'";var ed = window.parent.tinymce.get("'+t.id+'");document.write(ed.iframeHTML);document.close();ed.initContentBody(true);})()';document.domain!=location.hostname&&w.ie&&w.ie<12&&(c=v);var y=M.create("iframe",{id:t.id+"_ifr",frameBorder:"0",allowTransparency:"true",title:t.editorManager.translate("Rich Text Area. Press ALT-F9 for menu. Press ALT-F10 for toolbar. Press ALT-0 for help"),style:{width:"100%",height:o,display:"block"}});if(y.onload=function(){y.onload=null,t.fire("load")},M.setAttrib(y,"src",c||'javascript:""'),t.contentAreaContainer=l.iframeContainer,t.iframeElement=y,s=M.add(l.iframeContainer,y),q)try{t.getDoc()}catch(b){s.src=c=v}l.editorContainer&&(M.get(l.editorContainer).style.display=t.orgDisplay,t.hidden=M.isHidden(l.editorContainer)),t.getElement().style.display="none",M.setAttrib(t.id,"aria-hidden",!0),c||t.initContentBody(),r=s=l=null},initContentBody:function(t){var n=this,r=n.settings,s=n.getElement(),p=n.getDoc(),h,m;r.inline||(n.getElement().style.visibility=n.orgVisibility),t||r.content_editable||(p.open(),p.write(n.iframeHTML),p.close()),r.content_editable&&(n.on("remove",function(){var e=this.getBody();M.removeClass(e,"mce-content-body"),M.removeClass(e,"mce-edit-focus"),M.setAttrib(e,"contentEditable",null)}),M.addClass(s,"mce-content-body"),n.contentDocument=p=r.content_document||document,n.contentWindow=r.content_window||window,n.bodyElement=s,r.content_document=r.content_window=null,r.root_name=s.nodeName.toLowerCase()),h=n.getBody(),h.disabled=!0,n.readonly=r.readonly,n.readonly||(n.inline&&"static"==M.getStyle(h,"position",!0)&&(h.style.position="relative"),h.contentEditable=n.getParam("content_editable_state",!0)),h.disabled=!1,n.editorUpload=new T(n),n.schema=new b(r),n.dom=new e(p,{keep_values:!0,url_converter:n.convertURL, url_converter_scope:n,hex_colors:r.force_hex_style_colors,class_filter:r.class_filter,update_styles:!0,root_element:n.inline?n.getBody():null,collect:r.content_editable,schema:n.schema,onSetAttrib:function(e){n.fire("SetAttrib",e)}}),n.parser=new C(r,n.schema),n.parser.addAttributeFilter("src,href,style,tabindex",function(e,t){for(var r=e.length,i,o=n.dom,a,s;r--;)if(i=e[r],a=i.attr(t),s="data-mce-"+t,!i.attributes.map[s]){if(0===a.indexOf("data:")||0===a.indexOf("blob:"))continue;"style"===t?(a=o.serializeStyle(o.parseStyle(a),i.name),a.length||(a=null),i.attr(s,a),i.attr(t,a)):"tabindex"===t?(i.attr(s,a),i.attr(t,null)):i.attr(s,n.convertURL(a,t,i.name))}}),n.parser.addNodeFilter("script",function(e){for(var t=e.length,n,r;t--;)n=e[t],r=n.attr("type")||"no/type",0!==r.indexOf("mce-")&&n.attr("type","mce-"+r)}),n.parser.addNodeFilter("#cdata",function(e){for(var t=e.length,n;t--;)n=e[t],n.type=8,n.name="#comment",n.value="[CDATA["+n.value+"]]"}),n.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div",function(e){for(var t=e.length,r,i=n.schema.getNonEmptyElements();t--;)r=e[t],r.isEmpty(i)&&0===r.getAll("br").length&&(r.append(new o("br",1)).shortEnded=!0)}),n.serializer=new a(r,n),n.selection=new l(n.dom,n.getWin(),n.serializer,n),n.formatter=new u(n),n.undoManager=new c(n),n.forceBlocks=new f(n),n.enterKey=new d(n),n._nodeChangeDispatcher=new i(n),n._selectionOverrides=new R(n),n.fire("PreInit"),r.browser_spellcheck||r.gecko_spellcheck||(p.body.spellcheck=!1,M.setAttrib(h,"spellcheck","false")),n.quirks=new x(n),n.fire("PostRender"),r.directionality&&(h.dir=r.directionality),r.nowrap&&(h.style.whiteSpace="nowrap"),r.protect&&n.on("BeforeSetContent",function(e){I(r.protect,function(t){e.content=e.content.replace(t,function(e){return""})})}),n.on("SetContent",function(){n.addVisual(n.getBody())}),r.padd_empty_editor&&n.on("PostProcess",function(e){e.content=e.content.replace(/^(]*>( | |\s|\u00a0|
    |)<\/p>[\r\n]*|
    [\r\n]*)$/,"")}),n.load({initial:!0,format:"html"}),n.startContent=n.getContent({format:"raw"}),n.initialized=!0,n.bindPendingEventDelegates(),n.fire("init"),n.focus(!0),n.nodeChanged({initial:!0}),n.execCallback("init_instance_callback",n),n.on("compositionstart compositionend",function(e){n.composing="compositionstart"===e.type}),n.contentStyles.length>0&&(m="",I(n.contentStyles,function(e){m+=e+"\r\n"}),n.dom.addStyle(m)),I(n.contentCSS,function(e){n.loadedCSS[e]||(n.dom.loadCSS(e),n.loadedCSS[e]=!0)}),r.auto_focus&&N.setEditorTimeout(n,function(){var e;e=r.auto_focus===!0?n:n.editorManager.get(r.auto_focus),e.destroyed||e.focus()},100),s=p=h=null},focus:function(e){function t(e){return n.dom.getParent(e,function(e){return"true"===n.dom.getContentEditable(e)})}var n=this,r=n.selection,i=n.settings.content_editable,o,a,s=n.getDoc(),l=n.getBody(),u;if(!e){if(o=r.getRng(),o.item&&(a=o.item(0)),n.quirks.refreshContentEditable(),u=t(r.getNode()),n.$.contains(l,u))return u.focus(),r.normalize(),void n.editorManager.setActive(n);if(i||(w.opera||n.getBody().focus(),n.getWin().focus()),$||i){if(l.setActive)try{l.setActive()}catch(c){l.focus()}else n.inline&&document.activeElement!==l&&n.selection.setRng(n.lastRng),l.focus();i&&r.normalize()}a&&a.ownerDocument==s&&(o=s.body.createControlRange(),o.addElement(a),o.select())}n.editorManager.setActive(n)},execCallback:function(e){var t=this,n=t.settings[e],r;if(n)return t.callbackLookup&&(r=t.callbackLookup[e])&&(n=r.func,r=r.scope),"string"==typeof n&&(r=n.replace(/\.\w+$/,""),r=r?W(r):0,n=W(n),t.callbackLookup=t.callbackLookup||{},t.callbackLookup[e]={func:n,scope:r}),n.apply(r||t,Array.prototype.slice.call(arguments,1))},translate:function(e){var t=this.settings.language||"en",n=this.editorManager.i18n;return e?(e=n.data[t+"."+e]||e.replace(/\{\#([^\}]+)\}/g,function(e,r){return n.data[t+"."+r]||"{#"+r+"}"}),this.editorManager.translate(e)):""},getLang:function(e,n){return this.editorManager.i18n.data[(this.settings.language||"en")+"."+e]||(n!==t?n:"{#"+e+"}")},getParam:function(e,t,n){var r=e in this.settings?this.settings[e]:t,i;return"hash"===n?(i={},"string"==typeof r?I(r.indexOf("=")>0?r.split(/[;,](?![^=;,]*(?:[;,]|$))/):r.split(","),function(e){e=e.split("="),e.length>1?i[U(e[0])]=U(e[1]):i[U(e[0])]=U(e)}):i=r,i):r},nodeChanged:function(e){this._nodeChangeDispatcher.nodeChanged(e)},addButton:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),t.text||t.icon||(t.icon=e),n.buttons=n.buttons||{},t.tooltip=t.tooltip||t.title,n.buttons[e]=t},addSidebar:function(e,t){return B.add(this,e,t)},addMenuItem:function(e,t){var n=this;t.cmd&&(t.onclick=function(){n.execCommand(t.cmd)}),n.menuItems=n.menuItems||{},n.menuItems[e]=t},addContextToolbar:function(e,t){var n=this,r;n.contextToolbars=n.contextToolbars||[],"string"==typeof e&&(r=e,e=function(e){return n.dom.is(e,r)}),n.contextToolbars.push({id:A.uuid("mcet"),predicate:e,items:t})},addCommand:function(e,t,n){this.editorCommands.addCommand(e,t,n)},addQueryStateHandler:function(e,t,n){this.editorCommands.addQueryStateHandler(e,t,n)},addQueryValueHandler:function(e,t,n){this.editorCommands.addQueryValueHandler(e,t,n)},addShortcut:function(e,t,n,r){this.shortcuts.add(e,t,n,r)},execCommand:function(e,t,n,r){return this.editorCommands.execCommand(e,t,n,r)},queryCommandState:function(e){return this.editorCommands.queryCommandState(e)},queryCommandValue:function(e){return this.editorCommands.queryCommandValue(e)},queryCommandSupported:function(e){return this.editorCommands.queryCommandSupported(e)},show:function(){var e=this;e.hidden&&(e.hidden=!1,e.inline?e.getBody().contentEditable=!0:(M.show(e.getContainer()),M.hide(e.id)),e.load(),e.fire("show"))},hide:function(){var e=this,t=e.getDoc();e.hidden||(q&&t&&!e.inline&&t.execCommand("SelectAll"),e.save(),e.inline?(e.getBody().contentEditable=!1,e==e.editorManager.focusedEditor&&(e.editorManager.focusedEditor=null)):(M.hide(e.getContainer()),M.setStyle(e.id,"display",e.orgDisplay)),e.hidden=!0,e.fire("hide"))},isHidden:function(){return!!this.hidden},setProgressState:function(e,t){this.fire("ProgressState",{state:e,time:t})},load:function(e){var n=this,r=n.getElement(),i;if(r)return e=e||{},e.load=!0,i=n.setContent(r.value!==t?r.value:r.innerHTML,e),e.element=r,e.no_events||n.fire("LoadContent",e),e.element=r=null,i},save:function(e){var t=this,n=t.getElement(),r,i;if(n&&t.initialized)return e=e||{},e.save=!0,e.element=n,r=e.content=t.getContent(e),e.no_events||t.fire("SaveContent",e),"raw"==e.format&&t.fire("RawSaveContent",e),r=e.content,/TEXTAREA|INPUT/i.test(n.nodeName)?n.value=r:(t.inline||(n.innerHTML=r),(i=M.getParent(t.id,"form"))&&I(i.elements,function(e){if(e.name==t.id)return e.value=r,!1})),e.element=n=null,e.set_dirty!==!1&&t.setDirty(!1),r},setContent:function(e,t){var n=this,r=n.getBody(),i,o;return t=t||{},t.format=t.format||"html",t.set=!0,t.content=e,t.no_events||n.fire("BeforeSetContent",t),e=t.content,0===e.length||/^\s+$/.test(e)?(o=q&&q<11?"":'
    ',"TABLE"==r.nodeName?e=""+o+"":/^(UL|OL)$/.test(r.nodeName)&&(e="
  • "+o+"
  • "),i=n.settings.forced_root_block,i&&n.schema.isValidChild(r.nodeName.toLowerCase(),i.toLowerCase())?(e=o,e=n.dom.createHTML(i,n.settings.forced_root_block_attrs,e)):q||e||(e='
    '),n.dom.setHTML(r,e),n.fire("SetContent",t)):("raw"!==t.format&&(e=new s({validate:n.validate},n.schema).serialize(n.parser.parse(e,{isRootContent:!0}))),t.content=U(e),n.dom.setHTML(r,t.content),t.no_events||n.fire("SetContent",t)),t.content},getContent:function(e){var t=this,n,r=t.getBody();return e=e||{},e.format=e.format||"html",e.get=!0,e.getInner=!0,e.no_events||t.fire("BeforeGetContent",e),n="raw"==e.format?E.trim(t.serializer.getTrimmedContent()):"text"==e.format?r.innerText||r.textContent:t.serializer.serialize(r,e),"text"!=e.format?e.content=U(n):e.content=n,e.no_events||t.fire("GetContent",e),e.content},insertContent:function(e,t){t&&(e=H({content:e},t)),this.execCommand("mceInsertContent",!1,e)},isDirty:function(){return!this.isNotDirty},setDirty:function(e){var t=!this.isNotDirty;this.isNotDirty=!e,e&&e!=t&&this.fire("dirty")},setMode:function(e){S.setMode(this,e)},getContainer:function(){var e=this;return e.container||(e.container=M.get(e.editorContainer||e.id+"_parent")),e.container},getContentAreaContainer:function(){return this.contentAreaContainer},getElement:function(){return this.targetElm||(this.targetElm=M.get(this.id)),this.targetElm},getWin:function(){var e=this,t;return e.contentWindow||(t=e.iframeElement,t&&(e.contentWindow=t.contentWindow)),e.contentWindow},getDoc:function(){var e=this,t;return e.contentDocument||(t=e.getWin(),t&&(e.contentDocument=t.document)),e.contentDocument},getBody:function(){var e=this.getDoc();return this.bodyElement||(e?e.body:null)},convertURL:function(e,t,n){var r=this,i=r.settings;return i.urlconverter_callback?r.execCallback("urlconverter_callback",e,n,!0,t):!i.convert_urls||n&&"LINK"==n.nodeName||0===e.indexOf("file:")||0===e.length?e:i.relative_urls?r.documentBaseURI.toRelative(e):e=r.documentBaseURI.toAbsolute(e,i.remove_script_host)},addVisual:function(e){var n=this,r=n.settings,i=n.dom,o;e=e||n.getBody(),n.hasVisual===t&&(n.hasVisual=r.visual),I(i.select("table,a",e),function(e){var t;switch(e.nodeName){case"TABLE":return o=r.visual_table_class||"mce-item-table",t=i.getAttrib(e,"border"),void(t&&"0"!=t||!n.hasVisual?i.removeClass(e,o):i.addClass(e,o));case"A":return void(i.getAttrib(e,"href",!1)||(t=i.getAttrib(e,"name")||e.id,o=r.visual_anchor_class||"mce-item-anchor",t&&n.hasVisual?i.addClass(e,o):i.removeClass(e,o)))}}),n.fire("VisualAid",{element:e,hasVisual:n.hasVisual})},remove:function(){var e=this;e.removed||(e.save(),e.removed=1,e.unbindAllNativeEvents(),e.hasHiddenInput&&M.remove(e.getElement().nextSibling),e.inline||(q&&q<10&&e.getDoc().execCommand("SelectAll",!1,null),M.setStyle(e.id,"display",e.orgDisplay),e.getBody().onload=null),e.fire("remove"),e.editorManager.remove(e),M.remove(e.getContainer()),e._selectionOverrides.destroy(),e.editorUpload.destroy(),e.destroy())},destroy:function(e){var t=this,n;if(!t.destroyed){if(!e&&!t.removed)return void t.remove();e||(t.editorManager.off("beforeunload",t._beforeUnload),t.theme&&t.theme.destroy&&t.theme.destroy(),t.selection.destroy(),t.dom.destroy()),n=t.formElement,n&&(n._mceOldSubmit&&(n.submit=n._mceOldSubmit,n._mceOldSubmit=null),M.unbind(n,"submit reset",t.formEventDelegate)),t.contentAreaContainer=t.formElement=t.container=t.editorContainer=null,t.bodyElement=t.contentDocument=t.contentWindow=null,t.iframeElement=t.targetElm=null,t.selection&&(t.selection=t.selection.win=t.selection.dom=t.selection.dom.doc=null),t.destroyed=1}},uploadImages:function(e){return this.editorUpload.uploadImages(e)},_scanForImages:function(){return this.editorUpload.scanForImages()}},H(L.prototype,_),L}),r(st,[m],function(e){var t={},n="en";return{setCode:function(e){e&&(n=e,this.rtl=!!this.data[e]&&"rtl"===this.data[e]._dir)},getCode:function(){return n},rtl:!1,add:function(e,n){var r=t[e];r||(t[e]=r={});for(var i in n)r[i]=n[i];this.setCode(e)},translate:function(r){function i(t){return e.is(t,"function")?Object.prototype.toString.call(t):o(t)?"":""+t}function o(t){return""===t||null===t||e.is(t,"undefined")}function a(t){return t=i(t),e.hasOwn(s,t)?i(s[t]):t}var s=t[n]||{};if(o(r))return"";if(e.is(r,"object")&&e.hasOwn(r,"raw"))return i(r.raw);if(e.is(r,"array")){var l=r.slice(1);r=a(r[0]).replace(/\{([0-9]+)\}/g,function(t,n){return e.hasOwn(l,n)?i(l[n]):t})}return a(r).replace(/{context:\w+}$/,"")},data:t}}),r(lt,[w,c,d],function(e,t,n){function r(e){function r(){try{return document.activeElement}catch(e){return document.body}}function u(e,t){if(t&&t.startContainer){if(!e.isChildOf(t.startContainer,e.getRoot())||!e.isChildOf(t.endContainer,e.getRoot()))return;return{startContainer:t.startContainer,startOffset:t.startOffset,endContainer:t.endContainer,endOffset:t.endOffset}}return t}function c(e,t){var n;return t.startContainer?(n=e.getDoc().createRange(),n.setStart(t.startContainer,t.startOffset),n.setEnd(t.endContainer,t.endOffset)):n=t,n}function d(d){var f=d.editor;f.on("init",function(){(f.inline||n.ie)&&("onbeforedeactivate"in document&&n.ie<9?f.dom.bind(f.getBody(),"beforedeactivate",function(e){if(e.target==f.getBody())try{f.lastRng=f.selection.getRng()}catch(t){}}):f.on("nodechange mouseup keyup",function(e){var t=r();"nodechange"==e.type&&e.selectionChange||(t&&t.id==f.id+"_ifr"&&(t=f.getBody()),f.dom.isChildOf(t,f.getBody())&&(f.lastRng=f.selection.getRng()))}),n.webkit&&!i&&(i=function(){var t=e.activeEditor;if(t&&t.selection){var n=t.selection.getRng();n&&!n.collapsed&&(f.lastRng=n)}},s.bind(document,"selectionchange",i)))}),f.on("setcontent",function(){f.lastRng=null}),f.on("mousedown",function(){f.selection.lastFocusBookmark=null}),f.on("focusin",function(){var t=e.focusedEditor,n;f.selection.lastFocusBookmark&&(n=c(f,f.selection.lastFocusBookmark),f.selection.lastFocusBookmark=null,f.selection.setRng(n)),t!=f&&(t&&t.fire("blur",{focusedEditor:f}),e.setActive(f),e.focusedEditor=f,f.fire("focus",{blurredEditor:t}),f.focus(!0)),f.lastRng=null}),f.on("focusout",function(){t.setEditorTimeout(f,function(){var t=e.focusedEditor;l(f,r())||t!=f||(f.fire("blur",{focusedEditor:null}),e.focusedEditor=null,f.selection&&(f.selection.lastFocusBookmark=null))})}),o||(o=function(t){var n=e.activeEditor,r;r=t.target,n&&r.ownerDocument==document&&(n.selection&&r!=n.getBody()&&(n.selection.lastFocusBookmark=u(n.dom,n.lastRng)),r==document.body||l(n,r)||e.focusedEditor!=n||(n.fire("blur",{focusedEditor:null}),e.focusedEditor=null))},s.bind(document,"focusin",o)),f.inline&&!a&&(a=function(t){var n=e.activeEditor,r=n.dom;if(n.inline&&r&&!r.isChildOf(t.target,n.getBody())){var i=n.selection.getRng();i.collapsed||(n.lastRng=i)}},s.bind(document,"mouseup",a))}function f(t){e.focusedEditor==t.editor&&(e.focusedEditor=null),e.activeEditor||(s.unbind(document,"selectionchange",i),s.unbind(document,"focusin",o),s.unbind(document,"mouseup",a),i=o=a=null)}e.on("AddEditor",d),e.on("RemoveEditor",f)}var i,o,a,s=e.DOM,l=function(e,t){var n=e?e.settings.custom_ui_selector:"",i=s.getParent(t,function(t){return r.isEditorUIElement(t)||!!n&&e.dom.is(t,n)});return null!==i};return r.isEditorUIElement=function(e){return e.className.toString().indexOf("mce-")!==-1},r._isUIElement=l,r}),r(ut,[at,g,w,ue,d,m,u,pe,st,lt,N],function(e,t,n,r,i,o,a,s,l,u,c){function d(e){v(x.editors,function(t){"scroll"===e.type?t.fire("ScrollWindow",e):t.fire("ResizeWindow",e)})}function f(e,n){n!==w&&(n?t(window).on("resize scroll",d):t(window).off("resize scroll",d),w=n)}function p(e){var t=x.editors,n;delete t[e.id];for(var r=0;r0&&v(g(t),function(e){var t;(t=m.get(e))?n.push(t):v(document.forms,function(t){v(t.elements,function(t){t.name===e&&(e="mce_editor_"+b++,m.setAttrib(t,"id",e),n.push(t))})})});break;case"textareas":case"specific_textareas":v(m.select("textarea"),function(t){e.editor_deselector&&u(t,e.editor_deselector)||e.editor_selector&&!u(t,e.editor_selector)||n.push(t)})}return n}function d(){function a(t,n,r){var i=new e(t,n,f);p.push(i),i.on("init",function(){++u===g.length&&x(p)}),i.targetElm=i.targetElm||r,i.render()}var u=0,p=[],g;return m.unbind(window,"ready",d),l("onpageload"),g=t.unique(c(n)),n.types?void v(n.types,function(e){o.each(g,function(t){return!m.is(t,e.selector)||(a(s(t),y({},n,e),t),!1)})}):(o.each(g,function(e){h(f.get(e.id))}),g=o.grep(g,function(e){return!f.get(e.id)}),void v(g,function(e){r(n,e)?i("Could not initialize inline editor on invalid inline target element",e):a(s(e),n,e)}))}var f=this,p,C;C=o.makeMap("area base basefont br col frame hr img input isindex link meta param embed source wbr track colgroup option tbody tfoot thead tr script noscript style textarea video audio iframe object menu"," ");var x=function(e){p=e};return f.settings=n,m.bind(window,"ready",d),new a(function(e){p?e(p):x=function(t){e(t)}})},get:function(e){return arguments.length?e in this.editors?this.editors[e]:null:this.editors},add:function(e){var t=this,n=t.editors;return n[e.id]=e,n.push(e),f(n,!0),t.activeEditor=e,t.fire("AddEditor",{editor:e}),C||(C=function(){t.fire("BeforeUnload")},m.bind(window,"beforeunload",C)),e},createEditor:function(t,n){return this.add(new e(t,n,this))},remove:function(e){var t=this,n,r=t.editors,i;{if(e)return"string"==typeof e?(e=e.selector||e,void v(m.select(e),function(e){i=r[e.id],i&&t.remove(i)})):(i=e,r[i.id]?(p(i)&&t.fire("RemoveEditor",{editor:i}),r.length||m.unbind(window,"beforeunload",C),i.remove(),f(r,r.length>0),i):null);for(n=r.length-1;n>=0;n--)t.remove(r[n])}},execCommand:function(t,n,r){var i=this,o=i.get(r);switch(t){case"mceAddEditor":return i.get(r)||new e(r,i.settings,i).render(),!0;case"mceRemoveEditor":return o&&o.remove(),!0;case"mceToggleEditor":return o?(o.isHidden()?o.show():o.hide(),!0):(i.execCommand("mceAddEditor",0,r),!0)}return!!i.activeEditor&&i.activeEditor.execCommand(t,n,r)},triggerSave:function(){v(this.editors,function(e){e.save()})},addI18n:function(e,t){l.add(e,t)},translate:function(e){return l.translate(e)},setActive:function(e){var t=this.activeEditor;this.activeEditor!=e&&(t&&t.fire("deactivate",{relatedTarget:e}),e.fire("activate",{relatedTarget:t})),this.activeEditor=e}},y(x,s),x.setup(),window.tinymce=window.tinyMCE=x,x}),r(ct,[ut,m],function(e,t){var n=t.each,r=t.explode;e.on("AddEditor",function(e){var t=e.editor;t.on("preInit",function(){function e(e,t){n(t,function(t,n){t&&s.setStyle(e,n,t)}),s.rename(e,"span")}function i(e){s=t.dom,l.convert_fonts_to_spans&&n(s.select("font,u,strike",e.node),function(e){o[e.nodeName.toLowerCase()](s,e)})}var o,a,s,l=t.settings;l.inline_styles&&(a=r(l.font_size_legacy_values),o={font:function(t,n){e(n,{backgroundColor:n.style.backgroundColor,color:n.color,fontFamily:n.face,fontSize:a[parseInt(n.size,10)-1]})},u:function(n,r){"html4"===t.settings.schema&&e(r,{textDecoration:"underline"})},strike:function(t,n){e(n,{textDecoration:"line-through"})}},t.on("PreProcess SetContent",i))})})}),r(dt,[pe,m],function(e,t){var n={send:function(e){function r(){!e.async||4==i.readyState||o++>1e4?(e.success&&o<1e4&&200==i.status?e.success.call(e.success_scope,""+i.responseText,i,e):e.error&&e.error.call(e.error_scope,o>1e4?"TIMED_OUT":"GENERAL",i,e),i=null):setTimeout(r,10)}var i,o=0;if(e.scope=e.scope||this,e.success_scope=e.success_scope||e.scope,e.error_scope=e.error_scope||e.scope,e.async=e.async!==!1,e.data=e.data||"",n.fire("beforeInitialize",{settings:e}),i=new XMLHttpRequest){if(i.overrideMimeType&&i.overrideMimeType(e.content_type),i.open(e.type||(e.data?"POST":"GET"),e.url,e.async),e.crossDomain&&(i.withCredentials=!0),e.content_type&&i.setRequestHeader("Content-Type",e.content_type),e.requestheaders&&t.each(e.requestheaders,function(e){i.setRequestHeader(e.key,e.value)}),i.setRequestHeader("X-Requested-With","XMLHttpRequest"),i=n.fire("beforeSend",{xhr:i,settings:e}).xhr,i.send(e.data),!e.async)return r();setTimeout(r,10)}}};return t.extend(n,e),n}),r(ft,[],function(){function e(t,n){var r,i,o,a;if(n=n||'"',null===t)return"null";if(o=typeof t,"string"==o)return i="\bb\tt\nn\ff\rr\"\"''\\\\",n+t.replace(/([\u0080-\uFFFF\x00-\x1f\"\'\\])/g,function(e,t){return'"'===n&&"'"===e?e:(r=i.indexOf(t),r+1?"\\"+i.charAt(r+1):(e=t.charCodeAt().toString(16),"\\u"+"0000".substring(e.length)+e))})+n;if("object"==o){if(t.hasOwnProperty&&"[object Array]"===Object.prototype.toString.call(t)){for(r=0,i="[";r0?",":"")+e(t[r],n);return i+"]"}i="{";for(a in t)t.hasOwnProperty(a)&&(i+="function"!=typeof t[a]?(i.length>1?","+n:n)+a+n+":"+e(t[a],n):"");return i+"}"}return""+t}return{serialize:e,parse:function(e){try{return window[String.fromCharCode(101)+"val"]("("+e+")")}catch(t){}}}}),r(pt,[ft,dt,m],function(e,t,n){function r(e){this.settings=i({},e),this.count=0}var i=n.extend;return r.sendRPC=function(e){return(new r).send(e)},r.prototype={send:function(n){var r=n.error,o=n.success;n=i(this.settings,n),n.success=function(t,i){t=e.parse(t),"undefined"==typeof t&&(t={error:"JSON Parse error."}),t.error?r.call(n.error_scope||n.scope,t.error,i):o.call(n.success_scope||n.scope,t.result)},n.error=function(e,t){r&&r.call(n.error_scope||n.scope,e,t)},n.data=e.serialize({id:n.id||"c"+this.count++,method:n.method,params:n.params}),n.content_type="application/json",t.send(n)}},r}),r(ht,[w],function(e){return{callbacks:{},count:0,send:function(n){var r=this,i=e.DOM,o=n.count!==t?n.count:r.count,a="tinymce_jsonp_"+o;r.callbacks[o]=function(e){i.remove(a),delete r.callbacks[o],n.callback(e)},i.add(i.doc.body,"script",{id:a,src:n.url,type:"text/javascript"}),r.count++}}}),r(mt,[],function(){function e(){s=[];for(var e in a)s.push(e);i.length=s.length}function n(){function n(e){var n,r;return r=e!==t?c+e:i.indexOf(",",c),r===-1||r>i.length?null:(n=i.substring(c,r),c=r+1,n)}var r,i,s,c=0;if(a={},u){o.load(l),i=o.getAttribute(l)||"";do{var d=n();if(null===d)break;if(r=n(parseInt(d,32)||0),null!==r){if(d=n(),null===d)break;s=n(parseInt(d,32)||0),r&&(a[r]=s)}}while(null!==r);e()}}function r(){var t,n="";if(u){for(var r in a)t=a[r],n+=(n?",":"")+r.length.toString(32)+","+r+","+t.length.toString(32)+","+t;o.setAttribute(l,n);try{o.save(l)}catch(i){}e()}}var i,o,a,s,l,u;try{if(window.localStorage)return localStorage}catch(c){}return l="tinymce",o=document.documentElement,u=!!o.addBehavior,u&&o.addBehavior("#default#userData"),i={key:function(e){return s[e]},getItem:function(e){return e in a?a[e]:null},setItem:function(e,t){a[e]=""+t,r()},removeItem:function(e){delete a[e],r()},clear:function(){a={},r()}},n(),i}),r(gt,[w,f,E,N,m,d],function(e,t,n,r,i,o){var a=window.tinymce;return a.DOM=e.DOM,a.ScriptLoader=n.ScriptLoader,a.PluginManager=r.PluginManager,a.ThemeManager=r.ThemeManager,a.dom=a.dom||{},a.dom.Event=t.Event,i.each("trim isArray is toArray makeMap each map grep inArray extend create walk createNS resolve explode _addCacheSuffix".split(" "),function(e){a[e]=i[e]}),i.each("isOpera isWebKit isIE isGecko isMac".split(" "),function(e){a[e]=o[e.substr(2).toLowerCase()]}),{}}),r(vt,[ce,m],function(e,t){return e.extend({Defaults:{firstControlClass:"first",lastControlClass:"last"},init:function(e){this.settings=t.extend({},this.Defaults,e)},preRender:function(e){e.bodyClasses.add(this.settings.containerClass)},applyClasses:function(e){var t=this,n=t.settings,r,i,o,a;r=n.firstControlClass,i=n.lastControlClass,e.each(function(e){e.classes.remove(r).remove(i).add(n.controlClass),e.visible()&&(o||(o=e),a=e)}),o&&o.classes.add(r),a&&a.classes.add(i)},renderHtml:function(e){var t=this,n="";return t.applyClasses(e.items()),e.items().each(function(e){n+=e.renderHtml()}),n},recalc:function(){},postRender:function(){},isNative:function(){return!1}})}),r(yt,[vt],function(e){return e.extend({Defaults:{containerClass:"abs-layout",controlClass:"abs-layout-item"},recalc:function(e){e.items().filter(":visible").each(function(e){var t=e.settings;e.layoutRect({x:t.x,y:t.y,w:t.w,h:t.h}),e.recalc&&e.recalc()})},renderHtml:function(e){return'
    '+this._super(e)}})}),r(bt,[Pe],function(e){return e.extend({Defaults:{classes:"widget btn",role:"button"},init:function(e){var t=this,n;t._super(e),e=t.settings,n=t.settings.size,t.on("click mousedown",function(e){e.preventDefault()}),t.on("touchstart",function(e){t.fire("click",e),e.preventDefault()}),e.subtype&&t.classes.add(e.subtype),n&&t.classes.add("btn-"+n),e.icon&&t.icon(e.icon)},icon:function(e){return arguments.length?(this.state.set("icon",e),this):this.state.get("icon")},repaint:function(){var e=this.getEl().firstChild,t;e&&(t=e.style,t.width=t.height="100%"),this._super()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("icon"),i,o=e.state.get("text"),a="";return i=e.settings.image,i?(r="none","string"!=typeof i&&(i=window.getSelection?i[0]:i[1]),i=" style=\"background-image: url('"+i+"')\""):i="",o&&(e.classes.add("btn-has-text"),a=''+e.encode(o)+""),r=r?n+"ico "+n+"i-"+r:"",'
    "},bindStates:function(){function e(e){var i=n("span."+r,t.getEl());e?(i[0]||(n("button:first",t.getEl()).append(''),i=n("span."+r,t.getEl())),i.html(t.encode(e))):i.remove(),t.classes.toggle("btn-has-text",!!e)}var t=this,n=t.$,r=t.classPrefix+"txt";return t.state.on("change:text",function(t){e(t.value)}),t.state.on("change:icon",function(n){var r=n.value,i=t.classPrefix;t.settings.icon=r,r=r?i+"ico "+i+"i-"+t.settings.icon:"";var o=t.getEl().firstChild,a=o.getElementsByTagName("i")[0];r?(a&&a==o.firstChild||(a=document.createElement("i"),o.insertBefore(a,o.firstChild)),a.className=r):a&&o.removeChild(a),e(t.state.get("text"))}),t._super()}})}),r(Ct,[Ne],function(e){return e.extend({Defaults:{defaultType:"button",role:"group"},renderHtml:function(){var e=this,t=e._layout;return e.classes.add("btn-group"),e.preRender(),t.preRender(e),'
    '+(e.settings.html||"")+t.renderHtml(e)+"
    "}})}),r(xt,[Pe],function(e){return e.extend({Defaults:{classes:"checkbox",role:"checkbox",checked:!1},init:function(e){var t=this;t._super(e),t.on("click mousedown",function(e){e.preventDefault()}),t.on("click",function(e){e.preventDefault(),t.disabled()||t.checked(!t.checked())}),t.checked(t.settings.checked)},checked:function(e){return arguments.length?(this.state.set("checked",e),this):this.state.get("checked")},value:function(e){return arguments.length?this.checked(e):this.checked()},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'
    '+e.encode(e.state.get("text"))+"
    "},bindStates:function(){function e(e){t.classes.toggle("checked",e),t.aria("checked",e)}var t=this;return t.state.on("change:text",function(e){t.getEl("al").firstChild.data=t.translate(e.value)}),t.state.on("change:checked change:value",function(n){t.fire("change"),e(n.value)}),t.state.on("change:icon",function(e){var n=e.value,r=t.classPrefix;if("undefined"==typeof n)return t.settings.icon;t.settings.icon=n,n=n?r+"ico "+r+"i-"+t.settings.icon:"";var i=t.getEl().firstChild,o=i.getElementsByTagName("i")[0];n?(o&&o==i.firstChild||(o=document.createElement("i"),i.insertBefore(o,i.firstChild)),o.className=n):o&&i.removeChild(o)}),t.state.get("checked")&&e(!0),t._super()}})}),r(wt,[Pe,we,ve,g,I,m],function(e,t,n,r,i,o){return e.extend({init:function(e){var t=this;t._super(e),e=t.settings,t.classes.add("combobox"),t.subinput=!0,t.ariaTarget="inp",e.menu=e.menu||e.values,e.menu&&(e.icon="caret"),t.on("click",function(n){var i=n.target,o=t.getEl();if(r.contains(o,i)||i==o)for(;i&&i!=o;)i.id&&i.id.indexOf("-open")!=-1&&(t.fire("action"),e.menu&&(t.showMenu(),n.aria&&t.menu.items()[0].focus())),i=i.parentNode}),t.on("keydown",function(e){var n;13==e.keyCode&&"INPUT"===e.target.nodeName&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){if("INPUT"==e.target.nodeName){var n=t.state.get("value"),r=e.target.value;r!==n&&(t.state.set("value",r),t.fire("autocomplete",e))}}),t.on("mouseover",function(e){var n=t.tooltip().moveTo(-65535);if(t.statusLevel()&&e.target.className.indexOf(t.classPrefix+"status")!==-1){var r=t.statusMessage()||"Ok",i=n.text(r).show().testMoveRel(e.target,["bc-tc","bc-tl","bc-tr"]);n.classes.toggle("tooltip-n","bc-tc"==i),n.classes.toggle("tooltip-nw","bc-tl"==i),n.classes.toggle("tooltip-ne","bc-tr"==i),n.moveRel(e.target,i)}})},statusLevel:function(e){return arguments.length>0&&this.state.set("statusLevel",e),this.state.get("statusLevel")},statusMessage:function(e){return arguments.length>0&&this.state.set("statusMessage",e),this.state.get("statusMessage")},showMenu:function(){var e=this,n=e.settings,r;e.menu||(r=n.menu||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",e.menu=t.create(r).parent(e).renderTo(e.getContainerElm()),e.fire("createmenu"),e.menu.reflow(),e.menu.on("cancel",function(t){t.control===e.menu&&e.focus()}),e.menu.on("show hide",function(t){t.control.items().each(function(t){t.active(t.value()==e.value())})}).fire("show"),e.menu.on("select",function(t){e.value(t.control.value())}),e.on("focusin",function(t){"INPUT"==t.target.tagName.toUpperCase()&&e.menu.hide()}),e.aria("expanded",!0)),e.menu.show(),e.menu.layoutRect({w:e.layoutRect().w}),e.menu.moveRel(e.getEl(),e.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},focus:function(){this.getEl("inp").focus()},repaint:function(){var e=this,t=e.getEl(),i=e.getEl("open"),o=e.layoutRect(),a,s,l=0,u=t.firstChild;e.statusLevel()&&"none"!==e.statusLevel()&&(l=parseInt(n.getRuntimeStyle(u,"padding-right"),10)-parseInt(n.getRuntimeStyle(u,"padding-left"),10)),a=i?o.w-n.getSize(i).width-10:o.w-10;var c=document;return c.all&&(!c.documentMode||c.documentMode<=8)&&(s=e.layoutRect().h-2+"px"),r(u).css({width:a-l,lineHeight:s}),e._super(),e},postRender:function(){var e=this;return r(this.getEl("inp")).on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)}),e._super()},renderHtml:function(){var e=this,t=e._id,n=e.settings,r=e.classPrefix,i=e.state.get("value")||"",o,a,s="",l="",u="";return"spellcheck"in n&&(l+=' spellcheck="'+n.spellcheck+'"'),n.maxLength&&(l+=' maxlength="'+n.maxLength+'"'),n.size&&(l+=' size="'+n.size+'"'),n.subtype&&(l+=' type="'+n.subtype+'"'), u='',e.disabled()&&(l+=' disabled="disabled"'),o=n.icon,o&&"caret"!=o&&(o=r+"ico "+r+"i-"+n.icon),a=e.state.get("text"),(o||a)&&(s='
    ",e.classes.add("has-open")),'
    '+u+s+"
    "},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl("inp").value),this.state.get("value"))},showAutoComplete:function(e,n){var r=this;if(0===e.length)return void r.hideMenu();var i=function(e,t){return function(){r.fire("selectitem",{title:t,value:e})}};r.menu?r.menu.items().remove():r.menu=t.create({type:"menu",classes:"combobox-menu",layout:"flow"}).parent(r).renderTo(),o.each(e,function(e){r.menu.add({text:e.title,url:e.previewUrl,match:n,classes:"menu-item-ellipsis",onclick:i(e.value,e.title)})}),r.menu.renderNew(),r.hideMenu(),r.menu.on("cancel",function(e){e.control.parent()===r.menu&&(e.stopPropagation(),r.focus(),r.hideMenu())}),r.menu.on("select",function(){r.focus()});var a=r.layoutRect().w;r.menu.layoutRect({w:a,minW:0,maxW:a}),r.menu.reflow(),r.menu.show(),r.menu.moveRel(r.getEl(),r.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"])},hideMenu:function(){this.menu&&this.menu.hide()},bindStates:function(){var e=this;e.state.on("change:value",function(t){e.getEl("inp").value!=t.value&&(e.getEl("inp").value=t.value)}),e.state.on("change:disabled",function(t){e.getEl("inp").disabled=t.value}),e.state.on("change:statusLevel",function(t){var r=e.getEl("status"),i=e.classPrefix,o=t.value;n.css(r,"display","none"===o?"none":""),n.toggleClass(r,i+"i-checkmark","ok"===o),n.toggleClass(r,i+"i-warning","warn"===o),n.toggleClass(r,i+"i-error","error"===o),e.classes.toggle("has-status","none"!==o),e.repaint()}),n.on(e.getEl("status"),"mouseleave",function(){e.tooltip().hide()}),e.on("cancel",function(t){e.menu&&e.menu.visible()&&(t.stopPropagation(),e.hideMenu())});var t=function(e,t){t&&t.items().length>0&&t.items().eq(e)[0].focus()};return e.on("keydown",function(n){var r=n.keyCode;"INPUT"===n.target.nodeName&&(r===i.DOWN?(n.preventDefault(),e.fire("autocomplete"),t(0,e.menu)):r===i.UP&&(n.preventDefault(),t(-1,e.menu)))}),e._super()},remove:function(){r(this.getEl("inp")).off(),this.menu&&this.menu.remove(),this._super()}})}),r(Et,[wt],function(e){return e.extend({init:function(e){var t=this;e.spellcheck=!1,e.onaction&&(e.icon="none"),t._super(e),t.classes.add("colorbox"),t.on("change keyup postrender",function(){t.repaintColor(t.value())})},repaintColor:function(e){var t=this.getEl("open"),n=t?t.getElementsByTagName("i")[0]:null;if(n)try{n.style.background=e}catch(r){}},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.state.get("rendered")&&e.repaintColor(t.value)}),e._super()}})}),r(Nt,[bt,Ae],function(e,t){return e.extend({showPanel:function(){var e=this,n=e.settings;if(e.active(!0),e.panel)e.panel.show();else{var r=n.panel;r.type&&(r={layout:"grid",items:r}),r.role=r.role||"dialog",r.popover=!0,r.autohide=!0,r.ariaRoot=!0,e.panel=new t(r).on("hide",function(){e.active(!1)}).on("cancel",function(t){t.stopPropagation(),e.focus(),e.hidePanel()}).parent(e).renderTo(e.getContainerElm()),e.panel.fire("show"),e.panel.reflow()}e.panel.moveRel(e.getEl(),n.popoverAlign||(e.isRtl()?["bc-tr","bc-tc"]:["bc-tl","bc-tc"]))},hidePanel:function(){var e=this;e.panel&&e.panel.hide()},postRender:function(){var e=this;return e.aria("haspopup",!0),e.on("click",function(t){t.control===e&&(e.panel&&e.panel.visible()?e.hidePanel():(e.showPanel(),e.panel.focus(!!t.aria)))}),e._super()},remove:function(){return this.panel&&(this.panel.remove(),this.panel=null),this._super()}})}),r(_t,[Nt,w],function(e,t){var n=t.DOM;return e.extend({init:function(e){this._super(e),this.classes.add("colorbutton")},color:function(e){return e?(this._color=e,this.getEl("preview").style.backgroundColor=e,this):this._color},resetColor:function(){return this._color=null,this.getEl("preview").style.backgroundColor=null,this},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r=e.state.get("text"),i=e.settings.icon?n+"ico "+n+"i-"+e.settings.icon:"",o=e.settings.image?" style=\"background-image: url('"+e.settings.image+"')\"":"",a="";return r&&(e.classes.add("btn-has-text"),a=''+e.encode(r)+""),'
    '},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(r){r.aria&&"down"==r.aria.key||r.control!=e||n.getParent(r.target,"."+e.classPrefix+"open")||(r.stopImmediatePropagation(),t.call(e,r))}),delete e.settings.onclick,e._super()}})}),r(St,[],function(){function e(e){function i(e,i,o){var a,s,l,u,c,d;return a=0,s=0,l=0,e/=255,i/=255,o/=255,c=t(e,t(i,o)),d=n(e,n(i,o)),c==d?(l=c,{h:0,s:0,v:100*l}):(u=e==c?i-o:o==c?e-i:o-e,a=e==c?3:o==c?1:5,a=60*(a-u/(d-c)),s=(d-c)/d,l=d,{h:r(a),s:r(100*s),v:r(100*l)})}function o(e,i,o){var a,s,l,u;if(e=(parseInt(e,10)||0)%360,i=parseInt(i,10)/100,o=parseInt(o,10)/100,i=n(0,t(i,1)),o=n(0,t(o,1)),0===i)return void(d=f=p=r(255*o));switch(a=e/60,s=o*i,l=s*(1-Math.abs(a%2-1)),u=o-s,Math.floor(a)){case 0:d=s,f=l,p=0;break;case 1:d=l,f=s,p=0;break;case 2:d=0,f=s,p=l;break;case 3:d=0,f=l,p=s;break;case 4:d=l,f=0,p=s;break;case 5:d=s,f=0,p=l;break;default:d=f=p=0}d=r(255*(d+u)),f=r(255*(f+u)),p=r(255*(p+u))}function a(){function e(e){return e=parseInt(e,10).toString(16),e.length>1?e:"0"+e}return"#"+e(d)+e(f)+e(p)}function s(){return{r:d,g:f,b:p}}function l(){return i(d,f,p)}function u(e){var t;return"object"==typeof e?"r"in e?(d=e.r,f=e.g,p=e.b):"v"in e&&o(e.h,e.s,e.v):(t=/rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)[^\)]*\)/gi.exec(e))?(d=parseInt(t[1],10),f=parseInt(t[2],10),p=parseInt(t[3],10)):(t=/#([0-F]{2})([0-F]{2})([0-F]{2})/gi.exec(e))?(d=parseInt(t[1],16),f=parseInt(t[2],16),p=parseInt(t[3],16)):(t=/#([0-F])([0-F])([0-F])/gi.exec(e))&&(d=parseInt(t[1]+t[1],16),f=parseInt(t[2]+t[2],16),p=parseInt(t[3]+t[3],16)),d=d<0?0:d>255?255:d,f=f<0?0:f>255?255:f,p=p<0?0:p>255?255:p,c}var c=this,d=0,f=0,p=0;e&&u(e),c.toRgb=s,c.toHsv=l,c.toHex=a,c.parse=u}var t=Math.min,n=Math.max,r=Math.round;return e}),r(kt,[Pe,_e,ve,St],function(e,t,n,r){return e.extend({Defaults:{classes:"widget colorpicker"},init:function(e){this._super(e)},postRender:function(){function e(e,t){var r=n.getPos(e),i,o;return i=t.pageX-r.x,o=t.pageY-r.y,i=Math.max(0,Math.min(i/e.clientWidth,1)),o=Math.max(0,Math.min(o/e.clientHeight,1)),{x:i,y:o}}function i(e,t){var i=(360-e.h)/360;n.css(d,{top:100*i+"%"}),t||n.css(p,{left:e.s+"%",top:100-e.v+"%"}),f.style.background=new r({s:100,v:100,h:e.h}).toHex(),s.color().parse({s:e.s,v:e.v,h:e.h})}function o(t){var n;n=e(f,t),u.s=100*n.x,u.v=100*(1-n.y),i(u),s.fire("change")}function a(t){var n;n=e(c,t),u=l.toHsv(),u.h=360*(1-n.y),i(u,!0),s.fire("change")}var s=this,l=s.color(),u,c,d,f,p;c=s.getEl("h"),d=s.getEl("hp"),f=s.getEl("sv"),p=s.getEl("svp"),s._repaint=function(){u=l.toHsv(),i(u)},s._super(),s._svdraghelper=new t(s._id+"-sv",{start:o,drag:o}),s._hdraghelper=new t(s._id+"-h",{start:a,drag:a}),s._repaint()},rgb:function(){return this.color().toRgb()},value:function(e){var t=this;return arguments.length?(t.color().parse(e),void(t._rendered&&t._repaint())):t.color().toHex()},color:function(){return this._color||(this._color=new r),this._color},renderHtml:function(){function e(){var e,t,n="",i,a;for(i="filter:progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=",a=o.split(","),e=0,t=a.length-1;e';return n}var t=this,n=t._id,r=t.classPrefix,i,o="#ff0000,#ff0080,#ff00ff,#8000ff,#0000ff,#0080ff,#00ffff,#00ff80,#00ff00,#80ff00,#ffff00,#ff8000,#ff0000",a="background: -ms-linear-gradient(top,"+o+");background: linear-gradient(to bottom,"+o+");";return i='
    '+e()+'
    ','
    '+i+"
    "}})}),r(Tt,[Pe],function(e){return e.extend({init:function(e){var t=this;e.delimiter||(e.delimiter="\xbb"),t._super(e),t.classes.add("path"),t.canFocus=!0,t.on("click",function(e){var n,r=e.target;(n=r.getAttribute("data-index"))&&t.fire("select",{value:t.row()[n],index:n})}),t.row(t.settings.row)},focus:function(){var e=this;return e.getEl().firstChild.focus(),e},row:function(e){return arguments.length?(this.state.set("row",e),this):this.state.get("row")},renderHtml:function(){var e=this;return'
    '+e._getDataPathHtml(e.state.get("row"))+"
    "},bindStates:function(){var e=this;return e.state.on("change:row",function(t){e.innerHtml(e._getDataPathHtml(t.value))}),e._super()},_getDataPathHtml:function(e){var t=this,n=e||[],r,i,o="",a=t.classPrefix;for(r=0,i=n.length;r0?'":"")+'
    '+n[r].name+"
    ";return o||(o='
    \xa0
    '),o}})}),r(Rt,[Tt],function(e){return e.extend({postRender:function(){function e(e){if(1===e.nodeType){if("BR"==e.nodeName||e.getAttribute("data-mce-bogus"))return!0;if("bookmark"===e.getAttribute("data-mce-type"))return!0}return!1}var t=this,n=t.settings.editor;return n.settings.elementpath!==!1&&(t.on("select",function(e){n.focus(),n.selection.select(this.row()[e.index].element),n.nodeChanged()}),n.on("nodeChange",function(r){for(var i=[],o=r.parents,a=o.length;a--;)if(1==o[a].nodeType&&!e(o[a])){var s=n.fire("ResolveName",{name:o[a].nodeName.toLowerCase(),target:o[a]});if(s.isDefaultPrevented()||i.push({name:s.name,element:o[a]}),s.isPropagationStopped())break}t.row(i)})),t._super()}})}),r(At,[Ne],function(e){return e.extend({Defaults:{layout:"flex",align:"center",defaults:{flex:1}},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.classes.add("formitem"),t.preRender(e),'
    '+(e.settings.title?'
    '+e.settings.title+"
    ":"")+'
    '+(e.settings.html||"")+t.renderHtml(e)+"
    "}})}),r(Bt,[Ne,At,m],function(e,t,n){return e.extend({Defaults:{containerCls:"form",layout:"flex",direction:"column",align:"stretch",flex:1,padding:20,labelGap:30,spacing:10,callbacks:{submit:function(){this.submit()}}},preRender:function(){var e=this,r=e.items();e.settings.formItemDefaults||(e.settings.formItemDefaults={layout:"flex",autoResize:"overflow",defaults:{flex:1}}),r.each(function(r){var i,o=r.settings.label;o&&(i=new t(n.extend({items:{type:"label",id:r._id+"-l",text:o,flex:0,forId:r._id,disabled:r.disabled()}},e.settings.formItemDefaults)),i.type="formitem",r.aria("labelledby",r._id+"-l"),"undefined"==typeof r.settings.flex&&(r.settings.flex=1),e.replace(r,i),i.add(r))})},submit:function(){return this.fire("submit",{data:this.toJSON()})},postRender:function(){var e=this;e._super(),e.fromJSON(e.settings.data)},bindStates:function(){function e(){var e=0,n=[],r,i,o;if(t.settings.labelGapCalc!==!1)for(o="children"==t.settings.labelGapCalc?t.find("formitem"):t.items(),o.filter("formitem").each(function(t){var r=t.items()[0],i=r.getEl().clientWidth;e=i>e?i:e,n.push(r)}),i=t.settings.labelGap||0,r=n.length;r--;)n[r].settings.minWidth=e+i}var t=this;t._super(),t.on("show",e),e()}})}),r(Dt,[Bt],function(e){return e.extend({Defaults:{containerCls:"fieldset",layout:"flex",direction:"column",align:"stretch",flex:1,padding:"25 15 5 15",labelGap:30,spacing:10,border:1},renderHtml:function(){var e=this,t=e._layout,n=e.classPrefix;return e.preRender(),t.preRender(e),'
    '+(e.settings.title?''+e.settings.title+"":"")+'
    '+(e.settings.html||"")+t.renderHtml(e)+"
    "}})}),r(Lt,[w,z,h,it,m,_],function(e,t,n,r,i,o){var a=i.trim,s=function(e,t,n,r,i){return{type:e,title:t,url:n,level:r,attach:i}},l=function(e){for(;e=e.parentNode;){var t=e.contentEditable;if(t&&"inherit"!==t)return o.isContentEditableTrue(e)}return!1},u=function(t,n){return e.DOM.select(t,n)},c=function(e){return e.innerText||e.textContent},d=function(e){return e.id?e.id:r.uuid("h")},f=function(e){return e&&"A"===e.nodeName&&(e.id||e.name)},p=function(e){return f(e)&&m(e)},h=function(e){return e&&/^(H[1-6])$/.test(e.nodeName)},m=function(e){return l(e)&&!o.isContentEditableFalse(e)},g=function(e){return h(e)&&m(e)},v=function(e){return h(e)?parseInt(e.nodeName.substr(1),10):0},y=function(e){var t=d(e),n=function(){e.id=t};return s("header",c(e),"#"+t,v(e),n)},b=function(e){var n=e.id||e.name,r=c(e);return s("anchor",r?r:"#"+n,"#"+n,0,t.noop)},C=function(e){return n.map(n.filter(e,g),y)},x=function(e){return n.map(n.filter(e,p),b)},w=function(e){var t=u("h1,h2,h3,h4,h5,h6,a:not([href])",e);return t},E=function(e){return a(e.title).length>0},N=function(e){var t=w(e);return n.filter(C(t).concat(x(t)),E)};return{find:N}}),r(Mt,[wt,m,h,z,I,Lt],function(e,t,n,r,i,o){var a={},s=5,l=function(e){return{title:e.title,value:{title:{raw:e.title},url:e.url,attach:e.attach}}},u=function(e){return t.map(e,l)},c=function(e,t){return{title:e,value:{title:e,url:t,attach:r.noop}}},d=function(e,t){var r=n.find(t,function(t){return t.url===e});return!r},f=function(e,t,n){var r=t in e?e[t]:n;return r===!1?null:r},p=function(e,i,o,s){var l={title:"-"},p=function(e){var a=n.filter(e[o],function(e){return d(e,i)});return t.map(a,function(e){return{title:e,value:{title:e,url:e,attach:r.noop}}})},h=function(e){var t=n.filter(i,function(t){return t.type==e});return u(t)},g=function(){var e=h("anchor"),t=f(s,"anchor_top","#top"),n=f(s,"anchor_bottom","#bottom");return null!==t&&e.unshift(c("",t)),null!==n&&e.push(c("",n)),e},v=function(e){return n.reduce(e,function(e,t){var n=0===e.length||0===t.length;return n?e.concat(t):e.concat(l,t)},[])};return s.typeahead_urls===!1?[]:"file"===o?v([m(e,p(a)),m(e,h("header")),m(e,g())]):m(e,p(a))},h=function(e,t){var r=a[t];/^https?/.test(e)&&(r?n.indexOf(r,e)===-1&&(a[t]=r.slice(0,s).concat(e)):a[t]=[e])},m=function(e,n){var r=e.toLowerCase(),i=t.grep(n,function(e){return e.title.toLowerCase().indexOf(r)!==-1});return 1===i.length&&i[0].title===e?[]:i},g=function(e){var t=e.title;return t.raw?t.raw:t},v=function(e,t,n,r){var i=function(i){var a=o.find(n),s=p(i,a,r,t);e.showAutoComplete(s,i)};e.on("autocomplete",function(){i(e.value())}),e.on("selectitem",function(t){var n=t.value;e.value(n.url);var i=g(n);"image"===r?e.fire("change",{meta:{alt:i,attach:n.attach}}):e.fire("change",{meta:{text:i,attach:n.attach}}),e.focus()}),e.on("click",function(t){0===e.value().length&&"INPUT"===t.target.nodeName&&i("")}),e.on("PostRender",function(){e.getRoot().on("submit",function(t){t.isDefaultPrevented()||h(e.value(),r)})})},y=function(e){var t=e.status,n=e.message;return"valid"===t?{status:"ok",message:n}:"unknown"===t?{status:"warn",message:n}:"invalid"===t?{status:"warn",message:n}:{status:"none",message:""}},b=function(e,t,n){var r=t.filepicker_validator_handler;if(r){var i=function(t){return 0===t.length?void e.statusLevel("none"):void r({url:t,type:n},function(t){var n=y(t);e.statusMessage(n.message),e.statusLevel(n.status)})};e.state.on("change:value",function(e){i(e.value)})}};return e.extend({init:function(e){var n=this,r=tinymce.activeEditor,i=r.settings,o,a,s,l=e.filetype;e.spellcheck=!1,s=i.file_picker_types||i.file_browser_callback_types,s&&(s=t.makeMap(s,/[, ]/)),s&&!s[l]||(a=i.file_picker_callback,!a||s&&!s[l]?(a=i.file_browser_callback,!a||s&&!s[l]||(o=function(){a(n.getEl("inp").id,n.value(),l,window)})):o=function(){var e=n.fire("beforecall").meta;e=t.extend({filetype:l},e),a.call(r,function(e,t){n.value(e).fire("change",{meta:t})},n.value(),e)}),o&&(e.icon="browse",e.onaction=o),n._super(e),v(n,i,r.getBody(),l),b(n,i,l)}})}),r(Pt,[yt],function(e){return e.extend({recalc:function(e){var t=e.layoutRect(),n=e.paddingBox;e.items().filter(":visible").each(function(e){e.layoutRect({x:n.left,y:n.top,w:t.innerW-n.right-n.left,h:t.innerH-n.top-n.bottom}),e.recalc&&e.recalc()})}})}),r(Ot,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v=[],y,b,C,x,w,E,N,_,S,k,T,R,A,B,D,L,M,P,O,H,I,F,z=Math.max,U=Math.min;for(r=e.items().filter(":visible"),i=e.layoutRect(),o=e.paddingBox,a=e.settings,f=e.isRtl()?a.direction||"row-reversed":a.direction,s=a.align,l=e.isRtl()?a.pack||"end":a.pack,u=a.spacing||0,"row-reversed"!=f&&"column-reverse"!=f||(r=r.set(r.toArray().reverse()),f=f.split("-")[0]),"column"==f?(S="y",N="h",_="minH",k="maxH",R="innerH",T="top",A="deltaH",B="contentH",O="left",M="w",D="x",L="innerW",P="minW",H="right",I="deltaW",F="contentW"):(S="x",N="w",_="minW",k="maxW",R="innerW",T="left",A="deltaW",B="contentW",O="top",M="h",D="y",L="innerH",P="minH",H="bottom",I="deltaH",F="contentH"),d=i[R]-o[T]-o[T],E=c=0,t=0,n=r.length;t0&&(c+=g,h[k]&&v.push(p),h.flex=g),d-=h[_],y=o[O]+h[P]+o[H],y>E&&(E=y);if(x={},d<0?x[_]=i[_]-d+i[A]:x[_]=i[R]-d+i[A],x[P]=E+i[I],x[B]=i[R]-d,x[F]=E,x.minW=U(x.minW,i.maxW),x.minH=U(x.minH,i.maxH),x.minW=z(x.minW,i.startMinWidth),x.minH=z(x.minH,i.startMinHeight),!i.autoResize||x.minW==i.minW&&x.minH==i.minH){for(C=d/c,t=0,n=v.length;tb?(d-=h[k]-h[_],c-=h.flex,h.flex=0,h.maxFlexSize=b):h.maxFlexSize=0;for(C=d/c,w=o[T],x={},0===c&&("end"==l?w=d+o[T]:"center"==l?(w=Math.round(i[R]/2-(i[R]-d)/2)+o[T],w<0&&(w=o[T])):"justify"==l&&(w=o[T],u=Math.floor(d/(r.length-1)))),x[D]=o[O],t=0,n=r.length;t0&&(y+=h.flex*C),x[N]=y,x[S]=w,p.layoutRect(x),p.recalc&&p.recalc(),w+=y+u}else if(x.w=x.minW,x.h=x.minH,e.layoutRect(x),this.recalc(e),null===e._lastRect){var W=e.parent();W&&(W._lastRect=null,W.recalc())}}})}),r(Ht,[vt],function(e){return e.extend({Defaults:{containerClass:"flow-layout",controlClass:"flow-layout-item",endClass:"break"},recalc:function(e){e.items().filter(":visible").each(function(e){e.recalc&&e.recalc()})},isNative:function(){return!0}})}),r(It,[w],function(e){var n=function(e,t,n){for(;n!==t;){if(n.style[e])return n.style[e];n=n.parentNode}return""},r=function(e){return/[0-9.]+px$/.test(e)?Math.round(72*parseInt(e,10)/96)+"pt":e},i=function(e){return e.replace(/[\'\"]/g,"").replace(/,\s+/g,",")},o=function(t,n){return e.DOM.getStyle(n,t,!0)},a=function(e,t){var r=n("fontSize",e,t);return""!==r?r:o("fontSize",t)},s=function(e,r){var a=n("fontFamily",e,r),s=""!==a?a:o("fontFamily",r);return s!==t?i(s):""};return{getFontSize:a,getFontFamily:s,toPt:r}}),r(Ft,[xe,Pe,Ae,m,h,w,ut,d,It],function(e,t,n,r,i,o,a,s,l){function u(e){e.settings.ui_container&&(s.container=o.DOM.select(e.settings.ui_container)[0])}function c(t){t.on("ScriptsLoaded",function(){t.rtl&&(e.rtl=!0)})}function d(e){function t(t,n){return function(){var r=this;e.on("nodeChange",function(i){var o=e.formatter,a=null;f(i.parents,function(e){if(f(t,function(t){if(n?o.matchNode(e,n,{value:t.value})&&(a=t.value):o.matchNode(e,t.value)&&(a=t.value),a)return!1}),a)return!1}),r.value(a)})}}function i(t){return function(){var n=this,r=function(e){return e?e.split(",")[0]:""};e.on("nodeChange",function(i){var o,a=null;o=l.getFontFamily(e.getBody(),i.element),f(t,function(e){e.value.toLowerCase()===o.toLowerCase()&&(a=e.value)}),f(t,function(e){a||r(e.value).toLowerCase()!==r(o).toLowerCase()||(a=e.value)}),n.value(a),!a&&o&&n.text(r(o))})}}function o(t){return function(){var n=this;e.on("nodeChange",function(r){var i,o,a=null;i=l.getFontSize(e.getBody(),r.element),o=l.toPt(i),f(t,function(e){e.value===i?a=i:e.value===o&&(a=o)}),n.value(a),a||n.text(o)})}}function a(e){e=e.replace(/;$/,"").split(";");for(var t=e.length;t--;)e[t]=e[t].split("=");return e}function s(){function t(e){var n=[];if(e)return f(e,function(e){var o={text:e.title,icon:e.icon};if(e.items)o.menu=t(e.items);else{var a=e.format||"custom"+r++;e.format||(e.name=a,i.push(e)),o.format=a,o.cmd=e.cmd}n.push(o)}),n}function n(){var n;return n=t(e.settings.style_formats_merge?e.settings.style_formats?o.concat(e.settings.style_formats):o:e.settings.style_formats||o)}var r=0,i=[],o=[{title:"Headings",items:[{title:"Heading 1",format:"h1"},{title:"Heading 2",format:"h2"},{title:"Heading 3",format:"h3"},{title:"Heading 4",format:"h4"},{title:"Heading 5",format:"h5"},{title:"Heading 6",format:"h6"}]},{title:"Inline",items:[{title:"Bold",icon:"bold",format:"bold"},{title:"Italic",icon:"italic",format:"italic"},{title:"Underline",icon:"underline",format:"underline"},{title:"Strikethrough",icon:"strikethrough",format:"strikethrough"},{title:"Superscript",icon:"superscript",format:"superscript"},{title:"Subscript",icon:"subscript",format:"subscript"},{title:"Code",icon:"code",format:"code"}]},{title:"Blocks",items:[{title:"Paragraph",format:"p"},{title:"Blockquote",format:"blockquote"},{title:"Div",format:"div"},{title:"Pre",format:"pre"}]},{title:"Alignment",items:[{title:"Left",icon:"alignleft",format:"alignleft"},{title:"Center",icon:"aligncenter",format:"aligncenter"},{title:"Right",icon:"alignright",format:"alignright"},{title:"Justify",icon:"alignjustify",format:"alignjustify"}]}];return e.on("init",function(){f(i,function(t){e.formatter.register(t.name,t)})}),{type:"menu",items:n(),onPostRender:function(t){e.fire("renderFormatsMenu",{control:t.control})},itemDefaults:{preview:!0,textStyle:function(){if(this.settings.format)return e.formatter.getCssText(this.settings.format)},onPostRender:function(){var t=this;t.parent().on("show",function(){var n,r;n=t.settings.format,n&&(t.disabled(!e.formatter.canApply(n)),t.active(e.formatter.match(n))),r=t.settings.cmd,r&&t.active(e.queryCommandState(r))})},onclick:function(){this.settings.format&&h(this.settings.format),this.settings.cmd&&e.execCommand(this.settings.cmd)}}}}function u(t){return function(){var n=this;e.formatter?e.formatter.formatChanged(t,function(e){n.active(e)}):e.on("init",function(){e.formatter.formatChanged(t,function(e){n.active(e)})})}}function c(t){return function(){function n(){var n="redo"==t?"hasRedo":"hasUndo";return!!e.undoManager&&e.undoManager[n]()}var r=this;r.disabled(!n()),e.on("Undo Redo AddUndo TypingUndo ClearUndos SwitchMode",function(){r.disabled(e.readonly||!n())})}}function d(){var t=this;e.on("VisualAid",function(e){t.active(e.hasVisual)}),t.active(e.hasVisual)}function h(t){t.control&&(t=t.control.value()),t&&e.execCommand("mceToggleFormat",!1,t)}function m(t){var n=t.length;return r.each(t,function(t){t.menu&&(t.hidden=0===m(t.menu));var r=t.format;r&&(t.hidden=!e.formatter.canApply(r)),t.hidden&&n--}),n}function g(t){var n=t.items().length;return t.items().each(function(t){t.menu&&t.visible(g(t.menu)>0),!t.menu&&t.settings.menu&&t.visible(m(t.settings.menu)>0);var r=t.settings.format;r&&t.visible(e.formatter.canApply(r)),t.visible()||n--}),n}var v;v=s(),f({bold:"Bold",italic:"Italic",underline:"Underline",strikethrough:"Strikethrough",subscript:"Subscript",superscript:"Superscript"},function(t,n){e.addButton(n,{tooltip:t,onPostRender:u(n),onclick:function(){h(n)}})}),f({outdent:["Decrease indent","Outdent"],indent:["Increase indent","Indent"],cut:["Cut","Cut"],copy:["Copy","Copy"],paste:["Paste","Paste"],help:["Help","mceHelp"],selectall:["Select all","SelectAll"],removeformat:["Clear formatting","RemoveFormat"],visualaid:["Visual aids","mceToggleVisualAid"],newdocument:["New document","mceNewDocument"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1]})}),f({blockquote:["Blockquote","mceBlockQuote"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],alignleft:["Align left","JustifyLeft"],aligncenter:["Align center","JustifyCenter"],alignright:["Align right","JustifyRight"],alignjustify:["Justify","JustifyFull"],alignnone:["No alignment","JustifyNone"]},function(t,n){e.addButton(n,{tooltip:t[0],cmd:t[1],onPostRender:u(n)})});var y=function(e){var t=e;return t.length>0&&"-"===t[0].text&&(t=t.slice(1)),t.length>0&&"-"===t[t.length-1].text&&(t=t.slice(0,t.length-1)),t},b=function(t){var n,i;if("string"==typeof t)i=t.split(" ");else if(r.isArray(t))return p(r.map(t,b));return n=r.grep(i,function(t){return"|"===t||t in e.menuItems}),r.map(n,function(t){return"|"===t?{text:"-"}:e.menuItems[t]})},C=function(t){var n=[{text:"-"}],i=r.grep(e.menuItems,function(e){return e.context===t});return r.each(i,function(e){"before"==e.separator&&n.push({text:"|"}),e.prependToContext?n.unshift(e):n.push(e),"after"==e.separator&&n.push({text:"|"})}),n},x=function(e){return y(e.insert_button_items?b(e.insert_button_items):C("insert"))};e.addButton("undo",{tooltip:"Undo",onPostRender:c("undo"),cmd:"undo"}),e.addButton("redo",{tooltip:"Redo",onPostRender:c("redo"),cmd:"redo"}),e.addMenuItem("newdocument",{text:"New document",icon:"newdocument",cmd:"mceNewDocument"}),e.addMenuItem("undo",{text:"Undo",icon:"undo",shortcut:"Meta+Z",onPostRender:c("undo"),cmd:"undo"}),e.addMenuItem("redo",{text:"Redo",icon:"redo",shortcut:"Meta+Y",onPostRender:c("redo"),cmd:"redo"}),e.addMenuItem("visualaid",{text:"Visual aids",selectable:!0,onPostRender:d,cmd:"mceToggleVisualAid"}),e.addButton("remove",{tooltip:"Remove",icon:"remove",cmd:"Delete"}),e.addButton("insert",{type:"menubutton",icon:"insert",menu:[],oncreatemenu:function(){this.menu.add(x(e.settings)),this.menu.renderNew()}}),f({cut:["Cut","Cut","Meta+X"],copy:["Copy","Copy","Meta+C"],paste:["Paste","Paste","Meta+V"],selectall:["Select all","SelectAll","Meta+A"],bold:["Bold","Bold","Meta+B"],italic:["Italic","Italic","Meta+I"],underline:["Underline","Underline","Meta+U"],strikethrough:["Strikethrough","Strikethrough"],subscript:["Subscript","Subscript"],superscript:["Superscript","Superscript"],removeformat:["Clear formatting","RemoveFormat"]},function(t,n){e.addMenuItem(n,{text:t[0],icon:n,shortcut:t[2],cmd:t[1]})}),e.on("mousedown",function(){n.hideAll()}),e.addButton("styleselect",{type:"menubutton",text:"Formats",menu:v,onShowMenu:function(){e.settings.style_formats_autohide&&g(this.menu)}}),e.addButton("formatselect",function(){var n=[],r=a(e.settings.block_formats||"Paragraph=p;Heading 1=h1;Heading 2=h2;Heading 3=h3;Heading 4=h4;Heading 5=h5;Heading 6=h6;Preformatted=pre");return f(r,function(t){n.push({text:t[0],value:t[1],textStyle:function(){return e.formatter.getCssText(t[1])}})}),{type:"listbox",text:r[0][0],values:n,fixedWidth:!0,onselect:h,onPostRender:t(n)}}),e.addButton("fontselect",function(){var t="Andale Mono=andale mono,monospace;Arial=arial,helvetica,sans-serif;Arial Black=arial black,sans-serif;Book Antiqua=book antiqua,palatino,serif;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier,monospace;Georgia=georgia,palatino,serif;Helvetica=helvetica,arial,sans-serif;Impact=impact,sans-serif;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco,monospace;Times New Roman=times new roman,times,serif;Trebuchet MS=trebuchet ms,geneva,sans-serif;Verdana=verdana,geneva,sans-serif;Webdings=webdings;Wingdings=wingdings,zapf dingbats",n=[],r=a(e.settings.font_formats||t);return f(r,function(e){n.push({text:{raw:e[0]},value:e[1],textStyle:e[1].indexOf("dings")==-1?"font-family:"+e[1]:""})}),{type:"listbox",text:"Font Family",tooltip:"Font Family",values:n,fixedWidth:!0,onPostRender:i(n),onselect:function(t){t.control.settings.value&&e.execCommand("FontName",!1,t.control.settings.value)}}}),e.addButton("fontsizeselect",function(){var t=[],n="8pt 10pt 12pt 14pt 18pt 24pt 36pt",r=e.settings.fontsize_formats||n;return f(r.split(" "),function(e){var n=e,r=e,i=e.split("=");i.length>1&&(n=i[0],r=i[1]),t.push({text:n,value:r})}),{type:"listbox",text:"Font Sizes",tooltip:"Font Sizes",values:t,fixedWidth:!0,onPostRender:o(t),onclick:function(t){t.control.settings.value&&e.execCommand("FontSize",!1,t.control.settings.value)}}}),e.addMenuItem("formats",{text:"Formats",menu:v})}var f=r.each,p=function(e){return i.reduce(e,function(e,t){return e.concat(t)},[])};a.on("AddEditor",function(e){var t=e.editor;c(t),d(t),u(t)}),e.translate=function(e){return a.translate(e)},t.tooltips=!s.iOS}),r(zt,[yt],function(e){return e.extend({recalc:function(e){var t,n,r,i,o,a,s,l,u,c,d,f,p,h,m,g,v,y,b,C,x,w,E,N=[],_=[],S,k,T,R,A,B;t=e.settings,i=e.items().filter(":visible"),o=e.layoutRect(),r=t.columns||Math.ceil(Math.sqrt(i.length)),n=Math.ceil(i.length/r),y=t.spacingH||t.spacing||0,b=t.spacingV||t.spacing||0,C=t.alignH||t.align,x=t.alignV||t.align,g=e.paddingBox,A="reverseRows"in t?t.reverseRows:e.isRtl(),C&&"string"==typeof C&&(C=[C]),x&&"string"==typeof x&&(x=[x]);for(d=0;dN[d]?S:N[d],_[f]=k>_[f]?k:_[f];for(T=o.innerW-g.left-g.right,w=0,d=0;d0?y:0),T-=(d>0?y:0)+N[d];for(R=o.innerH-g.top-g.bottom,E=0,f=0;f0?b:0),R-=(f>0?b:0)+_[f];if(w+=g.left+g.right,E+=g.top+g.bottom,l={},l.minW=w+(o.w-o.innerW),l.minH=E+(o.h-o.innerH),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH,l.minW=Math.min(l.minW,o.maxW),l.minH=Math.min(l.minH,o.maxH),l.minW=Math.max(l.minW,o.startMinWidth),l.minH=Math.max(l.minH,o.startMinHeight),!o.autoResize||l.minW==o.minW&&l.minH==o.minH){o.autoResize&&(l=e.layoutRect(l),l.contentW=l.minW-o.deltaW,l.contentH=l.minH-o.deltaH);var D;D="start"==t.packV?0:R>0?Math.floor(R/n):0;var L=0,M=t.flexWidths;if(M)for(d=0;d'},src:function(e){this.getEl().src=e},html:function(e,n){var r=this,i=this.getEl().contentWindow.document.body; return i?(i.innerHTML=e,n&&n()):t.setTimeout(function(){r.html(e)}),this}})}),r(Wt,[Pe],function(e){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("infobox"),t.canFocus=!1},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},help:function(e){this.state.set("help",e)},renderHtml:function(){var e=this,t=e.classPrefix;return'
    '+e.encode(e.state.get("text"))+'
    '},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.getEl("body").firstChild.data=e.encode(t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e.state.on("change:help",function(t){e.classes.toggle("has-help",t.value),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}})}),r(Vt,[Pe,ve],function(e,t){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("widget").add("label"),t.canFocus=!1,e.multiline&&t.classes.add("autoscroll"),e.strong&&t.classes.add("strong")},initLayoutRect:function(){var e=this,n=e._super();if(e.settings.multiline){var r=t.getSize(e.getEl());r.width>n.maxW&&(n.minW=n.maxW,e.classes.add("multiline")),e.getEl().style.width=n.minW+"px",n.startMinH=n.h=n.minH=Math.min(n.maxH,t.getSize(e.getEl()).height)}return n},repaint:function(){var e=this;return e.settings.multiline||(e.getEl().style.lineHeight=e.layoutRect().h+"px"),e._super()},severity:function(e){this.classes.remove("error"),this.classes.remove("warning"),this.classes.remove("success"),this.classes.add(e)},renderHtml:function(){var e=this,t,n,r=e.settings.forId;return!r&&(n=e.settings.forName)&&(t=e.getRoot().find("#"+n)[0],t&&(r=t._id)),r?'":''+e.encode(e.state.get("text"))+""},bindStates:function(){var e=this;return e.state.on("change:text",function(t){e.innerHtml(e.encode(t.value)),e.state.get("rendered")&&e.updateLayoutRect()}),e._super()}})}),r($t,[Ne],function(e){return e.extend({Defaults:{role:"toolbar",layout:"flow"},init:function(e){var t=this;t._super(e),t.classes.add("toolbar")},postRender:function(){var e=this;return e.items().each(function(e){e.classes.add("toolbar-item")}),e._super()}})}),r(qt,[$t],function(e){return e.extend({Defaults:{role:"menubar",containerCls:"menubar",ariaRoot:!0,defaults:{type:"menubutton"}}})}),r(jt,[bt,we,qt],function(e,t,n){function r(e,t){for(;e;){if(t===e)return!0;e=e.parentNode}return!1}var i=e.extend({init:function(e){var t=this;t._renderOpen=!0,t._super(e),e=t.settings,t.classes.add("menubtn"),e.fixedWidth&&t.classes.add("fixed-width"),t.aria("haspopup",!0),t.state.set("menu",e.menu||t.render())},showMenu:function(e){var n=this,r;return n.menu&&n.menu.visible()&&e!==!1?n.hideMenu():(n.menu||(r=n.state.get("menu")||[],r.length?r={type:"menu",items:r}:r.type=r.type||"menu",r.renderTo?n.menu=r.parent(n).show().renderTo():n.menu=t.create(r).parent(n).renderTo(),n.fire("createmenu"),n.menu.reflow(),n.menu.on("cancel",function(e){e.control.parent()===n.menu&&(e.stopPropagation(),n.focus(),n.hideMenu())}),n.menu.on("select",function(){n.focus()}),n.menu.on("show hide",function(e){e.control==n.menu&&n.activeMenu("show"==e.type),n.aria("expanded","show"==e.type)}).fire("show")),n.menu.show(),n.menu.layoutRect({w:n.layoutRect().w}),n.menu.moveRel(n.getEl(),n.isRtl()?["br-tr","tr-br"]:["bl-tl","tl-bl"]),void n.fire("showmenu"))},hideMenu:function(){var e=this;e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide())},activeMenu:function(e){this.classes.toggle("active",e)},renderHtml:function(){var e=this,t=e._id,r=e.classPrefix,i=e.settings.icon,o,a=e.state.get("text"),s="";return o=e.settings.image,o?(i="none","string"!=typeof o&&(o=window.getSelection?o[0]:o[1]),o=" style=\"background-image: url('"+o+"')\""):o="",a&&(e.classes.add("btn-has-text"),s=''+e.encode(a)+""),i=e.settings.icon?r+"ico "+r+"i-"+i:"",e.aria("role",e.parent()instanceof n?"menuitem":"button"),'
    '},postRender:function(){var e=this;return e.on("click",function(t){t.control===e&&r(t.target,e.getEl())&&(e.focus(),e.showMenu(!t.aria),t.aria&&e.menu.items().filter(":visible")[0].focus())}),e.on("mouseenter",function(t){var n=t.control,r=e.parent(),o;n&&r&&n instanceof i&&n.parent()==r&&(r.items().filter("MenuButton").each(function(e){e.hideMenu&&e!=n&&(e.menu&&e.menu.visible()&&(o=!0),e.hideMenu())}),o&&(n.focus(),n.showMenu()))}),e._super()},bindStates:function(){var e=this;return e.state.on("change:menu",function(){e.menu&&e.menu.remove(),e.menu=null}),e._super()},remove:function(){this._super(),this.menu&&this.menu.remove()}});return i}),r(Yt,[Pe,we,d,c],function(e,t,n,r){return e.extend({Defaults:{border:0,role:"menuitem"},init:function(e){var t=this,n;t._super(e),e=t.settings,t.classes.add("menu-item"),e.menu&&t.classes.add("menu-item-expand"),e.preview&&t.classes.add("menu-item-preview"),n=t.state.get("text"),"-"!==n&&"|"!==n||(t.classes.add("menu-item-sep"),t.aria("role","separator"),t.state.set("text","-")),e.selectable&&(t.aria("role","menuitemcheckbox"),t.classes.add("menu-item-checkbox"),e.icon="selected"),e.preview||e.selectable||t.classes.add("menu-item-normal"),t.on("mousedown",function(e){e.preventDefault()}),e.menu&&!e.ariaHideMenu&&t.aria("haspopup",!0)},hasMenus:function(){return!!this.settings.menu},showMenu:function(){var e=this,n=e.settings,r,i=e.parent();if(i.items().each(function(t){t!==e&&t.hideMenu()}),n.menu){r=e.menu,r?r.show():(r=n.menu,r.length?r={type:"menu",items:r}:r.type=r.type||"menu",i.settings.itemDefaults&&(r.itemDefaults=i.settings.itemDefaults),r=e.menu=t.create(r).parent(e).renderTo(),r.reflow(),r.on("cancel",function(t){t.stopPropagation(),e.focus(),r.hide()}),r.on("show hide",function(e){e.control.items&&e.control.items().each(function(e){e.active(e.settings.selected)})}).fire("show"),r.on("hide",function(t){t.control===r&&e.classes.remove("selected")}),r.submenu=!0),r._parentMenu=i,r.classes.add("menu-sub");var o=r.testMoveRel(e.getEl(),e.isRtl()?["tl-tr","bl-br","tr-tl","br-bl"]:["tr-tl","br-bl","tl-tr","bl-br"]);r.moveRel(e.getEl(),o),r.rel=o,o="menu-sub-"+o,r.classes.remove(r._lastRel).add(o),r._lastRel=o,e.classes.add("selected"),e.aria("expanded",!0)}},hideMenu:function(){var e=this;return e.menu&&(e.menu.items().each(function(e){e.hideMenu&&e.hideMenu()}),e.menu.hide(),e.aria("expanded",!1)),e},renderHtml:function(){function e(e){var t,r,i={};for(i=n.mac?{alt:"⌥",ctrl:"⌘",shift:"⇧",meta:"⌘"}:{meta:"Ctrl"},e=e.split("+"),t=0;t").replace(new RegExp(t("]mce~match!"),"g"),"")}var o=this,a=o._id,s=o.settings,l=o.classPrefix,u=o.state.get("text"),c=o.settings.icon,d="",f=s.shortcut,p=o.encode(s.url),h="";return c&&o.parent().classes.add("menu-has-icons"),s.image&&(d=" style=\"background-image: url('"+s.image+"')\""),f&&(f=e(f)),c=l+"ico "+l+"i-"+(o.settings.icon||"none"),h="-"!==u?'\xa0":"",u=i(o.encode(r(u))),p=i(o.encode(r(p))),'
    '+h+("-"!==u?''+u+"":"")+(f?'
    '+f+"
    ":"")+(s.menu?'
    ':"")+(p?'":"")+"
    "},postRender:function(){var e=this,t=e.settings,n=t.textStyle;if("function"==typeof n&&(n=n.call(this)),n){var i=e.getEl("text");i&&i.setAttribute("style",n)}return e.on("mouseenter click",function(n){n.control===e&&(t.menu||"click"!==n.type?(e.showMenu(),n.aria&&e.menu.focus(!0)):(e.fire("select"),r.requestAnimationFrame(function(){e.parent().hideAll()})))}),e._super(),e},hover:function(){var e=this;return e.parent().items().each(function(e){e.classes.remove("selected")}),e.classes.toggle("selected",!0),e},active:function(e){return"undefined"!=typeof e&&this.aria("checked",e),this._super(e)},remove:function(){this._super(),this.menu&&this.menu.remove()}})}),r(Xt,[g,xe,c],function(e,t,n){return function(r,i){var o=this,a,s=t.classPrefix,l;o.show=function(t,u){function c(){a&&(e(r).append('
    '),u&&u())}return o.hide(),a=!0,t?l=n.setTimeout(c,t):c(),o},o.hide=function(){var e=r.lastChild;return n.clearTimeout(l),e&&e.className.indexOf("throbber")!=-1&&e.parentNode.removeChild(e),a=!1,o}}}),r(Kt,[Ae,Yt,Xt,m],function(e,t,n,r){return e.extend({Defaults:{defaultType:"menuitem",border:1,layout:"stack",role:"application",bodyRole:"menu",ariaRoot:!0},init:function(e){var t=this;if(e.autohide=!0,e.constrainToViewport=!0,"function"==typeof e.items&&(e.itemsFactory=e.items,e.items=[]),e.itemDefaults)for(var n=e.items,i=n.length;i--;)n[i]=r.extend({},e.itemDefaults,n[i]);t._super(e),t.classes.add("menu")},repaint:function(){return this.classes.toggle("menu-align",!0),this._super(),this.getEl().style.height="",this.getEl("body").style.height="",this},cancel:function(){var e=this;e.hideAll(),e.fire("select")},load:function(){function e(){t.throbber&&(t.throbber.hide(),t.throbber=null)}var t=this,r,i;i=t.settings.itemsFactory,i&&(t.throbber||(t.throbber=new n(t.getEl("body"),!0),0===t.items().length?(t.throbber.show(),t.fire("loading")):t.throbber.show(100,function(){t.items().remove(),t.fire("loading")}),t.on("hide close",e)),t.requestTime=r=(new Date).getTime(),t.settings.itemsFactory(function(n){return 0===n.length?void t.hide():void(t.requestTime===r&&(t.getEl().style.width="",t.getEl("body").style.width="",e(),t.items().remove(),t.getEl("body").innerHTML="",t.add(n),t.renderNew(),t.fire("loaded")))}))},hideAll:function(){var e=this;return this.find("menuitem").exec("hideMenu"),e._super()},preRender:function(){var e=this;return e.items().each(function(t){var n=t.settings;if(n.icon||n.image||n.selectable)return e._hasIcons=!0,!1}),e.settings.itemsFactory&&e.on("postrender",function(){e.settings.itemsFactory&&e.load()}),e._super()}})}),r(Gt,[jt,Kt],function(e,t){return e.extend({init:function(e){function t(r){for(var a=0;a0&&(o=r[0].text,n.state.set("value",r[0].value)),n.state.set("menu",r)),n.state.set("text",e.text||o),n.classes.add("listbox"),n.on("select",function(t){var r=t.control;a&&(t.lastControl=a),e.multiple?r.active(!r.active()):n.value(t.control.value()),a=r})},bindStates:function(){function e(e,n){e instanceof t&&e.items().each(function(e){e.hasMenus()||e.active(e.value()===n)})}function n(e,t){var r;if(e)for(var i=0;i'},postRender:function(){var e=this;e._super(),e.resizeDragHelper=new t(this._id,{start:function(){e.fire("ResizeStart")},drag:function(t){"both"!=e.settings.direction&&(t.deltaX=0),e.fire("Resize",t)},stop:function(){e.fire("ResizeEnd")}})},remove:function(){return this.resizeDragHelper&&this.resizeDragHelper.destroy(),this._super()}})}),r(Zt,[Pe],function(e){function t(e){var t="";if(e)for(var n=0;n'+e[n]+"";return t}return e.extend({Defaults:{classes:"selectbox",role:"selectbox",options:[]},init:function(e){var t=this;t._super(e),t.settings.size&&(t.size=t.settings.size),t.settings.options&&(t._options=t.settings.options),t.on("keydown",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))})},options:function(e){return arguments.length?(this.state.set("options",e),this):this.state.get("options")},renderHtml:function(){var e=this,n,r="";return n=t(e._options),e.size&&(r=' size = "'+e.size+'"'),'"},bindStates:function(){var e=this;return e.state.on("change:options",function(n){e.getEl().innerHTML=t(n.value)}),e._super()}})}),r(en,[Pe,_e,ve],function(e,t,n){function r(e,t,n){return en&&(e=n),e}function i(e,t,n){e.setAttribute("aria-"+t,n)}function o(e,t){var r,o,a,s,l,u;"v"==e.settings.orientation?(s="top",a="height",o="h"):(s="left",a="width",o="w"),u=e.getEl("handle"),r=(e.layoutRect()[o]||100)-n.getSize(u)[a],l=r*((t-e._minValue)/(e._maxValue-e._minValue))+"px",u.style[s]=l,u.style.height=e.layoutRect().h+"px",i(u,"valuenow",t),i(u,"valuetext",""+e.settings.previewFilter(t)),i(u,"valuemin",e._minValue),i(u,"valuemax",e._maxValue)}return e.extend({init:function(e){var t=this;e.previewFilter||(e.previewFilter=function(e){return Math.round(100*e)/100}),t._super(e),t.classes.add("slider"),"v"==e.orientation&&t.classes.add("vertical"),t._minValue=e.minValue||0,t._maxValue=e.maxValue||100,t._initValue=t.state.get("value")},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix;return'
    '},reset:function(){this.value(this._initValue).repaint()},postRender:function(){function e(e,t,n){return(n+e)/(t-e)}function i(e,t,n){return n*(t-e)-e}function o(t,n){function o(o){var a;a=s.value(),a=i(t,n,e(t,n,a)+.05*o),a=r(a,t,n),s.value(a),s.fire("dragstart",{value:a}),s.fire("drag",{value:a}),s.fire("dragend",{value:a})}s.on("keydown",function(e){switch(e.keyCode){case 37:case 38:o(-1);break;case 39:case 40:o(1)}})}function a(e,i,o){var a,l,u,h,m;s._dragHelper=new t(s._id,{handle:s._id+"-handle",start:function(e){a=e[c],l=parseInt(s.getEl("handle").style[d],10),u=(s.layoutRect()[p]||100)-n.getSize(o)[f],s.fire("dragstart",{value:m})},drag:function(t){var n=t[c]-a;h=r(l+n,0,u),o.style[d]=h+"px",m=e+h/u*(i-e),s.value(m),s.tooltip().text(""+s.settings.previewFilter(m)).show().moveRel(o,"bc tc"),s.fire("drag",{value:m})},stop:function(){s.tooltip().hide(),s.fire("dragend",{value:m})}})}var s=this,l,u,c,d,f,p;l=s._minValue,u=s._maxValue,"v"==s.settings.orientation?(c="screenY",d="top",f="height",p="h"):(c="screenX",d="left",f="width",p="w"),s._super(),o(l,u,s.getEl("handle")),a(l,u,s.getEl("handle"))},repaint:function(){this._super(),o(this,this.value())},bindStates:function(){var e=this;return e.state.on("change:value",function(t){o(e,t.value)}),e._super()}})}),r(tn,[Pe],function(e){return e.extend({renderHtml:function(){var e=this;return e.classes.add("spacer"),e.canFocus=!1,'
    '}})}),r(nn,[jt,ve,g],function(e,t,n){return e.extend({Defaults:{classes:"widget btn splitbtn",role:"button"},repaint:function(){var e=this,r=e.getEl(),i=e.layoutRect(),o,a;return e._super(),o=r.firstChild,a=r.lastChild,n(o).css({width:i.w-t.getSize(a).width,height:i.h-2}),n(a).css({height:i.h-2}),e},activeMenu:function(e){var t=this;n(t.getEl().lastChild).toggleClass(t.classPrefix+"active",e)},renderHtml:function(){var e=this,t=e._id,n=e.classPrefix,r,i=e.state.get("icon"),o=e.state.get("text"),a="";return r=e.settings.image,r?(i="none","string"!=typeof r&&(r=window.getSelection?r[0]:r[1]),r=" style=\"background-image: url('"+r+"')\""):r="",i=e.settings.icon?n+"ico "+n+"i-"+i:"",o&&(e.classes.add("btn-has-text"),a=''+e.encode(o)+""),'
    '},postRender:function(){var e=this,t=e.settings.onclick;return e.on("click",function(e){var n=e.target;if(e.control==this)for(;n;){if(e.aria&&"down"!=e.aria.key||"BUTTON"==n.nodeName&&n.className.indexOf("open")==-1)return e.stopImmediatePropagation(),void(t&&t.call(this,e));n=n.parentNode}}),delete e.settings.onclick,e._super()}})}),r(rn,[Ht],function(e){return e.extend({Defaults:{containerClass:"stack-layout",controlClass:"stack-layout-item",endClass:"break"},isNative:function(){return!0}})}),r(on,[ke,g,ve],function(e,t,n){return e.extend({Defaults:{layout:"absolute",defaults:{type:"panel"}},activateTab:function(e){var n;this.activeTabId&&(n=this.getEl(this.activeTabId),t(n).removeClass(this.classPrefix+"active"),n.setAttribute("aria-selected","false")),this.activeTabId="t"+e,n=this.getEl("t"+e),n.setAttribute("aria-selected","true"),t(n).addClass(this.classPrefix+"active"),this.items()[e].show().fire("showtab"),this.reflow(),this.items().each(function(t,n){e!=n&&t.hide()})},renderHtml:function(){var e=this,t=e._layout,n="",r=e.classPrefix;return e.preRender(),t.preRender(e),e.items().each(function(t,i){var o=e._id+"-t"+i;t.aria("role","tabpanel"),t.aria("labelledby",o),n+='"}),'
    '+n+'
    '+t.renderHtml(e)+"
    "},postRender:function(){var e=this;e._super(),e.settings.activeTab=e.settings.activeTab||0,e.activateTab(e.settings.activeTab),this.on("click",function(t){var n=t.target.parentNode;if(n&&n.id==e._id+"-head")for(var r=n.childNodes.length;r--;)n.childNodes[r]==t.target&&e.activateTab(r)})},initLayoutRect:function(){var e=this,t,r,i;r=n.getSize(e.getEl("head")).width,r=r<0?0:r,i=0,e.items().each(function(e){r=Math.max(r,e.layoutRect().minW),i=Math.max(i,e.layoutRect().minH)}),e.items().each(function(e){e.settings.x=0,e.settings.y=0,e.settings.w=r,e.settings.h=i,e.layoutRect({x:0,y:0,w:r,h:i})});var o=n.getSize(e.getEl("head")).height;return e.settings.minWidth=r,e.settings.minHeight=i+o,t=e._super(),t.deltaH+=o,t.innerH=t.h-t.deltaH,t}})}),r(an,[Pe,m,ve],function(e,t,n){return e.extend({init:function(e){var t=this;t._super(e),t.classes.add("textbox"),e.multiline?t.classes.add("multiline"):(t.on("keydown",function(e){var n;13==e.keyCode&&(e.preventDefault(),t.parents().reverse().each(function(e){if(e.toJSON)return n=e,!1}),t.fire("submit",{data:n.toJSON()}))}),t.on("keyup",function(e){t.state.set("value",e.target.value)}))},repaint:function(){var e=this,t,n,r,i,o=0,a;t=e.getEl().style,n=e._layoutRect,a=e._lastRepaintRect||{};var s=document;return!e.settings.multiline&&s.all&&(!s.documentMode||s.documentMode<=8)&&(t.lineHeight=n.h-o+"px"),r=e.borderBox,i=r.left+r.right+8,o=r.top+r.bottom+(e.settings.multiline?8:0),n.x!==a.x&&(t.left=n.x+"px",a.x=n.x),n.y!==a.y&&(t.top=n.y+"px",a.y=n.y),n.w!==a.w&&(t.width=n.w-i+"px",a.w=n.w),n.h!==a.h&&(t.height=n.h-o+"px",a.h=n.h),e._lastRepaintRect=a,e.fire("repaint",{},!1),e},renderHtml:function(){var e=this,r=e.settings,i,o;return i={id:e._id,hidefocus:"1"},t.each(["rows","spellcheck","maxLength","size","readonly","min","max","step","list","pattern","placeholder","required","multiple"],function(e){i[e]=r[e]}),e.disabled()&&(i.disabled="disabled"),r.subtype&&(i.type=r.subtype),o=n.create(r.multiline?"textarea":"input",i),o.value=e.state.get("value"),o.className=e.classes,o.outerHTML},value:function(e){return arguments.length?(this.state.set("value",e),this):(this.state.get("rendered")&&this.state.set("value",this.getEl().value),this.state.get("value"))},postRender:function(){var e=this;e.getEl().value=e.state.get("value"),e._super(),e.$el.on("change",function(t){e.state.set("value",t.target.value),e.fire("change",t)})},bindStates:function(){var e=this;return e.state.on("change:value",function(t){e.getEl().value!=t.value&&(e.getEl().value=t.value)}),e.state.on("change:disabled",function(t){e.getEl().disabled=t.value}),e._super()},remove:function(){this.$el.off(),this._super()}})}),r(sn,[],function(){var e=this||window,t=function(){return e.tinymce};return"function"==typeof e.define&&(e.define.amd||e.define("ephox/tinymce",[],t)),"object"==typeof module&&(module.exports=window.tinymce),{}}),a([l,u,c,d,f,p,m,g,v,y,C,w,E,N,T,A,B,D,L,M,P,O,I,F,j,Y,J,te,le,ue,ce,de,pe,me,ge,Ce,xe,we,Ee,Ne,_e,Se,ke,Te,Re,Ae,Be,De,Le,Me,Pe,Oe,He,Ie,Ue,Ve,at,st,lt,ut,dt,ft,pt,ht,mt,gt,vt,yt,bt,Ct,xt,wt,Et,Nt,_t,St,kt,Tt,Rt,At,Bt,Dt,Mt,Pt,Ot,Ht,Ft,zt,Ut,Wt,Vt,$t,qt,jt,Yt,Xt,Kt,Gt,Jt,Qt,Zt,en,tn,nn,rn,on,an])}(window);themes/modern/theme.min.js000060400000031513152455403670011551 0ustar00!function(){var e={},t=function(t){for(var n=e[t],i=n.deps,o=n.defn,a=i.length,s=new Array(a),l=0;l=0;t--)for(n=i.length-1;n>=0;n--)if(i[n].predicate(r[t]))return{toolbar:i[n],element:r[t]};return null};a.on("click keyup setContent ObjectResized",function(e){("setcontent"!==e.type||e.selection)&&n.setEditorTimeout(a,function(){var e;e=x(a.selection.getNode()),e?(y(),b(e)):y()})}),a.on("blur hide contextmenu",y),a.on("ObjectResizeStart",function(){var e=x(a.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.hide()}),a.on("ResizeEditor ResizeWindow",h(!0)),a.on("nodeChange",h(!1)),a.on("remove",function(){t.each(p(),function(e){e.panel&&e.panel.remove()}),a.contextToolbars={}}),a.shortcuts.add("ctrl+F9","",function(){var e=x(a.selection.getNode());e&&e.toolbar.panel&&e.toolbar.panel.items()[0].focus()})};return{addContextualToolbars:d}}),a("e",[],function(){var e=function(e,t){return function(){var n=e.find(t)[0];n&&n.focus(!0)}},t=function(t,n){t.shortcuts.add("Alt+F9","",e(n,"menubar")),t.shortcuts.add("Alt+F10,F10","",e(n,"toolbar")),t.shortcuts.add("Alt+F11","",e(n,"elementpath")),n.on("cancel",function(){t.focus()})};return{addKeys:t}}),a("f",["8","9","1"],function(e,t,n){var r=function(e){return{element:function(){return e}}},i=function(e,t,n){var i=e.settings[n];i&&i(r(t.getEl("body")))},o=function(t,n,r){e.each(r,function(e){var r=n.items().filter("#"+e.name)[0];r&&r.visible()&&e.name!==t&&(i(e,r,"onhide"),r.visible(!1))})},a=function(e){e.items().each(function(e){e.active(!1)})},s=function(t,n){return e.grep(t,function(e){return e.name===n})[0]},l=function(e,n,r){return function(l){var c=l.control,u=c.parents().filter("panel")[0],d=u.find("#"+n)[0],f=s(r,n);o(n,u,r),a(c.parent()),d&&d.visible()?(i(f,d,"onhide"),d.hide(),c.active(!1)):(d?(d.show(),i(f,d,"onshow")):(d=t.create({type:"container",name:n,layout:"stack",classes:"sidebar-panel",html:""}),u.prepend(d),i(f,d,"onrender"),i(f,d,"onshow")),c.active(!0)),e.fire("ResizeEditor")}},c=function(){return!n.ie||n.ie>=11},u=function(e){return!(!c()||!e.sidebars)&&e.sidebars.length>0},d=function(t){var n=e.map(t.sidebars,function(e){var n=e.settings;return{type:"button",icon:n.icon,image:n.image,tooltip:n.tooltip,onclick:l(t,e.name,t.sidebars)}});return{type:"panel",name:"sidebar",layout:"stack",classes:"sidebar",items:[{type:"toolbar",layout:"stack",classes:"sidebar-toolbar",items:n}]}};return{hasSidebar:u,createSidebar:d}}),a("g",[],function(){var e=function(e){var t=function(){e._skinLoaded=!0,e.fire("SkinLoaded")};return function(){e.initialized?t():e.on("init",t)}};return{fireSkinLoaded:e}}),a("6",["a"],function(e){var t=function(e){return{width:e.clientWidth,height:e.clientHeight}},n=function(n,r,i){var o,a,s,l,c=n.settings;o=n.getContainer(),a=n.getContentAreaContainer().firstChild,s=t(o),l=t(a),null!==r&&(r=Math.max(c.min_width||100,r),r=Math.min(c.max_width||65535,r),e.setStyle(o,"width",r+(s.width-l.width)),e.setStyle(a,"width",r)),i=Math.max(c.min_height||100,i),i=Math.min(c.max_height||65535,i),e.setStyle(a,"height",i),n.fire("ResizeEditor")},r=function(e,t,r){var i=e.getContentAreaContainer();n(e,i.clientWidth+t,i.clientHeight+r)};return{resizeTo:n,resizeBy:r}}),a("4",["8","9","a","b","c","d","e","f","g","6"],function(e,t,n,r,i,o,a,s,l,c){var u=function(e){return function(t){e.find("*").disabled("readonly"===t.mode)}},d=function(e){return{type:"panel",name:"iframe",layout:"stack",classes:"edit-area",border:e,html:""}},f=function(e){return{type:"panel",layout:"stack",classes:"edit-aria-container",border:"1 0 0 0",items:[d("0"),s.createSidebar(e)]}},p=function(e,p,m){var g,h,v,b=e.settings;return m.skinUiCss&&n.styleSheetLoader.load(m.skinUiCss,l.fireSkinLoaded(e)),g=p.panel=t.create({type:"panel",role:"application",classes:"tinymce",style:"visibility: hidden",layout:"stack",border:1,items:[b.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:i.createMenuButtons(e)},r.createToolbars(e,b.toolbar_items_size),s.hasSidebar(e)?f(e):d("1 0 0 0")]}),b.resize!==!1&&(h={type:"resizehandle",direction:b.resize,onResizeStart:function(){var t=e.getContentAreaContainer().firstChild;v={width:t.clientWidth,height:t.clientHeight}},onResize:function(t){"both"===b.resize?c.resizeTo(e,v.width+t.deltaX,v.height+t.deltaY):c.resizeTo(e,null,v.height+t.deltaY)}}),b.statusbar!==!1&&g.add({type:"panel",name:"statusbar",classes:"statusbar",layout:"flow",border:"1 0 0 0",ariaRoot:!0,items:[{type:"elementpath",editor:e},h]}),e.fire("BeforeRenderUI"),e.on("SwitchMode",u(g)),g.renderBefore(m.targetNode).reflow(),b.readonly&&e.setMode("readonly"),b.width&&n.setStyle(g.getEl(),"width",b.width),e.on("remove",function(){g.remove(),g=null}),a.addKeys(e,g),o.addContextualToolbars(e),{iframeContainer:g.find("#iframe")[0].getEl(),editorContainer:g.getEl()}};return{render:p}}),s("h",tinymce.ui.FloatPanel),a("5",["8","9","a","h","b","c","d","e","g"],function(e,t,n,r,i,o,a,s,l){var c=function(e,c,u){var d,f,p=e.settings;p.fixed_toolbar_container&&(f=n.select(p.fixed_toolbar_container)[0]);var m=function(){if(d&&d.moveRel&&d.visible()&&!d._fixed){var t=e.selection.getScrollContainer(),r=e.getBody(),i=0,o=0;if(t){var a=n.getPos(r),s=n.getPos(t);i=Math.max(0,s.x-a.x),o=Math.max(0,s.y-a.y)}d.fixed(!1).moveRel(r,e.rtl?["tr-br","br-tr"]:["tl-bl","bl-tl","tr-br"]).moveBy(i,o)}},g=function(){d&&(d.show(),m(),n.addClass(e.getBody(),"mce-edit-focus"))},h=function(){d&&(d.hide(),r.hideAll(),n.removeClass(e.getBody(),"mce-edit-focus"))},v=function(){return d?void(d.visible()||g()):(d=c.panel=t.create({type:f?"panel":"floatpanel",role:"application",classes:"tinymce tinymce-inline",layout:"flex",direction:"column",align:"stretch",autohide:!1,autofix:!0,fixed:!!f,border:1,items:[p.menubar===!1?null:{type:"menubar",border:"0 0 1 0",items:o.createMenuButtons(e)},i.createToolbars(e,p.toolbar_items_size)]}),e.fire("BeforeRenderUI"),d.renderTo(f||document.body).reflow(),s.addKeys(e,d),g(),a.addContextualToolbars(e),e.on("nodeChange",m),e.on("activate",g),e.on("deactivate",h),void e.nodeChanged())};return p.content_editable=!0,e.on("focus",function(){u.skinUiCss?n.styleSheetLoader.load(u.skinUiCss,v,v):v()}),e.on("blur hide",h),e.on("remove",function(){d&&(d.remove(),d=null)}),u.skinUiCss&&n.styleSheetLoader.load(u.skinUiCss,l.fireSkinLoaded(e)),{}};return{render:c}}),s("i",tinymce.ui.Throbber),a("7",["i"],function(e){var t=function(t,n){var r;t.on("ProgressState",function(t){r=r||new e(n.panel.getEl("body")),t.state?r.show(t.time):r.hide()})};return{setup:t}}),a("0",["1","2","3","4","5","6","7"],function(e,t,n,r,i,o,a){var s=function(n,o,s){var l=n.settings,c=l.skin!==!1&&(l.skin||"lightgray");if(c){var u=l.skin_url;u=u?n.documentBaseURI.toAbsolute(u):t.baseURL+"/skins/"+c,e.documentMode<=7?s.skinUiCss=u+"/skin.ie7.min.css":s.skinUiCss=u+"/skin.min.css",n.contentCSS.push(u+"/content"+(n.inline?".inline":"")+".min.css")}return a.setup(n,o),l.inline?i.render(n,o,s):r.render(n,o,s)};return n.add("modern",function(e){return{renderUI:function(t){return s(e,this,t)},resizeTo:function(t,n){return o.resizeTo(e,t,n)},resizeBy:function(t,n){return o.resizeBy(e,t,n)}}}),function(){}}),r("0")()}();tinymce.php000060400000163176152455611460006750 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\HTML\HTMLHelper; /** * TinyMCE Editor Plugin * * @since 1.5 */ class PlgEditorTinymce extends JPlugin { /** * Base path for editor files * * @since 3.5 */ protected $_basePath = 'media/editors/tinymce'; /** * Load the language file on instantiation. * * @var boolean * @since 3.1 */ protected $autoloadLanguage = true; /** * Loads the application object * * @var JApplicationCms * @since 3.2 */ protected $app = null; /** * Initialises the Editor. * * @return void * * @since 1.5 */ public function onInit() { JHtml::_('behavior.core'); JHtml::_('behavior.polyfill', array('event'), 'lt IE 9'); JHtml::_('script', $this->_basePath . '/tinymce.min.js', array('version' => 'auto')); JHtml::_('script', 'editors/tinymce/tinymce.min.js', array('version' => 'auto', 'relative' => true)); } /** * TinyMCE WYSIWYG Editor - get the editor content * * @param string $id The name of the editor * * @since 1.5 * * @return string * * @deprecated 4.0 Use directly the returned code */ public function onGetContent($id) { return 'Joomla.editors.instances[' . json_encode($id) . '].getValue();'; } /** * TinyMCE WYSIWYG Editor - set the editor content * * @param string $id The name of the editor * @param string $html The html to place in the editor * * @since 1.5 * * @return string * * @deprecated 4.0 Use directly the returned code */ public function onSetContent($id, $html) { return 'Joomla.editors.instances[' . json_encode($id) . '].setValue(' . json_encode($html) . ');'; } /** * TinyMCE WYSIWYG Editor - copy editor content to form field * * @param string $id The name of the editor * * @since 1.5 * * @return void * * @deprecated 4.0 Use directly the returned code */ public function onSave($id) { } /** * Inserts html code into the editor * * @param string $name The name of the editor * * @since 1.5 * * @return string * * @deprecated 3.5 tinyMCE (API v4) will get the content automatically from the text area */ public function onGetInsertMethod($name) { } /** * Display the editor area. * * @param string $name The name of the editor area. * @param string $content The content of the field. * @param string $width The width of the editor area. * @param string $height The height of the editor area. * @param int $col The number of columns for the editor area. * @param int $row The number of rows for the editor area. * @param boolean $buttons True and the editor buttons will be displayed. * @param string $id An optional ID for the textarea. If not supplied the name is used. * @param string $asset The object asset * @param object $author The author. * @param array $params Associative array of editor parameters. * * @return string */ public function onDisplay( $name, $content, $width, $height, $col, $row, $buttons = true, $id = null, $asset = null, $author = null, $params = array()) { $app = JFactory::getApplication(); // Check for old params for B/C $config_warn_count = $app->getUserState('plg_editors_tinymce.config_legacy_warn_count', 0); if ($this->params->exists('mode') && $this->params->exists('alignment')) { if ($app->isClient('administrator') && $config_warn_count < 2) { $link = JRoute::_('index.php?option=com_plugins&task=plugin.edit&extension_id=' . $this->getPluginId()); $app->enqueueMessage(JText::sprintf('PLG_TINY_LEGACY_WARNING', $link), 'warning'); $app->setUserState('plg_editors_tinymce.config_legacy_warn_count', ++$config_warn_count); } return $this->onDisplayLegacy($name, $content, $width, $height, $col, $row, $buttons, $id, $asset, $author, $params); } if (empty($id)) { $id = $name; } $id = preg_replace('/(\s|[^A-Za-z0-9_])+/', '_', $id); $nameGroup = explode('[', preg_replace('/\[\]|\]/', '', $name)); $fieldName = end($nameGroup); $scriptOptions = array(); // Check for existing options $doc = JFactory::getDocument(); $options = $doc->getScriptOptions('plg_editor_tinymce'); // Only add "px" to width and height if they are not given as a percentage if (is_numeric($width)) { $width .= 'px'; } if (is_numeric($height)) { $height .= 'px'; } // Data object for the layout $textarea = new stdClass; $textarea->name = $name; $textarea->id = $id; $textarea->class = 'mce_editable joomla-editor-tinymce'; $textarea->cols = $col; $textarea->rows = $row; $textarea->width = $width; $textarea->height = $height; $textarea->content = $content; // Set editor to readonly mode $textarea->readonly = !empty($params['readonly']); // Render Editor markup $editor = '
    '; $editor .= JLayoutHelper::render('joomla.tinymce.textarea', $textarea); $editor .= $this->_toogleButton($id); $editor .= '
    '; // Prepare the instance specific options, actually the ext-buttons if (empty($options['tinyMCE'][$fieldName]['joomlaExtButtons'])) { $btns = $this->tinyButtons($id, $buttons); if (!empty($btns['names'])) { JHtml::_('script', 'editors/tinymce/tiny-close.min.js', array('version' => 'auto', 'relative' => true), array('defer' => 'defer')); } // Set editor to readonly mode if (!empty($params['readonly'])) { $options['tinyMCE'][$fieldName]['readonly'] = 1; } $options['tinyMCE'][$fieldName]['joomlaMergeDefaults'] = true; $options['tinyMCE'][$fieldName]['joomlaExtButtons'] = $btns; $doc->addScriptOptions('plg_editor_tinymce', $options, false); } // Setup Default (common) options for the Editor script // Check whether we already have them if (!empty($options['tinyMCE']['default'])) { return $editor; } $user = JFactory::getUser(); $language = JFactory::getLanguage(); $theme = 'modern'; $ugroups = array_combine($user->getAuthorisedGroups(), $user->getAuthorisedGroups()); // Prepare the parameters $levelParams = new Joomla\Registry\Registry; $extraOptions = new stdClass; $toolbarParams = new stdClass; $extraOptionsAll = $this->params->get('configuration.setoptions', array()); $toolbarParamsAll = $this->params->get('configuration.toolbars', array()); // Get configuration depend from User group foreach ($extraOptionsAll as $set => $val) { $val->access = empty($val->access) ? array() : $val->access; // Check whether User in one of allowed group foreach ($val->access as $group) { if (isset($ugroups[$group])) { $extraOptions = $val; $toolbarParams = $toolbarParamsAll->$set; } } } // Merge the params $levelParams->loadObject($toolbarParams); $levelParams->loadObject($extraOptions); // List the skins $skindirs = glob(JPATH_ROOT . '/media/editors/tinymce/skins' . '/*', GLOB_ONLYDIR); // Set the selected skin $skin = 'lightgray'; $side = $app->isClient('administrator') ? 'skin_admin' : 'skin'; if ((int) $levelParams->get($side, 0) < count($skindirs)) { $skin = basename($skindirs[(int) $levelParams->get($side, 0)]); } $langMode = $levelParams->get('lang_mode', 1); $langPrefix = $levelParams->get('lang_code', 'en'); if ($langMode) { if (file_exists(JPATH_ROOT . '/media/editors/tinymce/langs/' . $language->getTag() . '.js')) { $langPrefix = $language->getTag(); } elseif (file_exists(JPATH_ROOT . '/media/editors/tinymce/langs/' . substr($language->getTag(), 0, strpos($language->getTag(), '-')) . '.js')) { $langPrefix = substr($language->getTag(), 0, strpos($language->getTag(), '-')); } else { $langPrefix = 'en'; } } $text_direction = 'ltr'; if ($language->isRtl()) { $text_direction = 'rtl'; } $use_content_css = $levelParams->get('content_css', 1); $content_css_custom = $levelParams->get('content_css_custom', ''); /* * Lets get the default template for the site application */ $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select('template') ->from('#__template_styles') ->where('client_id=0 AND home=' . $db->quote('1')); $db->setQuery($query); try { $template = $db->loadResult(); } catch (RuntimeException $e) { $app->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error'); return ''; } $content_css = null; $templates_path = JPATH_SITE . '/templates'; // Loading of css file for 'styles' dropdown if ($content_css_custom) { // If URL, just pass it to $content_css if (strpos($content_css_custom, 'http') !== false) { $content_css = $content_css_custom; } // If it is not a URL, assume it is a file name in the current template folder else { $content_css = JUri::root(true) . '/templates/' . $template . '/css/' . $content_css_custom; // Issue warning notice if the file is not found (but pass name to $content_css anyway to avoid TinyMCE error if (!file_exists($templates_path . '/' . $template . '/css/' . $content_css_custom)) { $msg = sprintf(JText::_('PLG_TINY_ERR_CUSTOMCSSFILENOTPRESENT'), $content_css_custom); JLog::add($msg, JLog::WARNING, 'jerror'); } } } else { // Process when use_content_css is Yes and no custom file given if ($use_content_css) { // First check templates folder for default template // if no editor.css file in templates folder, check system template folder if (!file_exists($templates_path . '/' . $template . '/css/editor.css')) { // If no editor.css file in system folder, show alert if (!file_exists($templates_path . '/system/css/editor.css')) { JLog::add(JText::_('PLG_TINY_ERR_EDITORCSSFILENOTPRESENT'), JLog::WARNING, 'jerror'); } else { $content_css = JUri::root(true) . '/templates/system/css/editor.css'; } } else { $content_css = JUri::root(true) . '/templates/' . $template . '/css/editor.css'; } } } $ignore_filter = false; // Text filtering if ($levelParams->get('use_config_textfilters', 0)) { // Use filters from com_config $filter = static::getGlobalFilters(); $ignore_filter = $filter === false; $tagBlacklist = !empty($filter->tagBlacklist) ? $filter->tagBlacklist : array(); $attrBlacklist = !empty($filter->attrBlacklist) ? $filter->attrBlacklist : array(); $tagArray = !empty($filter->tagArray) ? $filter->tagArray : array(); $attrArray = !empty($filter->attrArray) ? $filter->attrArray : array(); $invalid_elements = implode(',', array_merge($tagBlacklist, $attrBlacklist, $tagArray, $attrArray)); // Valid elements are all whitelist entries in com_config, which are now missing in the tagBlacklist $default_filter = JFilterInput::getInstance(); $valid_elements = implode(',', array_diff($default_filter->tagBlacklist, $tagBlacklist)); $extended_elements = ''; } else { // Use filters from TinyMCE params $invalid_elements = trim($levelParams->get('invalid_elements', 'script,applet,iframe')); $extended_elements = trim($levelParams->get('extended_elements', '')); $valid_elements = trim($levelParams->get('valid_elements', '')); } $html_height = $this->params->get('html_height', '550'); $html_width = $this->params->get('html_width', ''); if ($html_width == 750) { $html_width = ''; } // The param is true for vertical resizing only, false or both $resizing = (bool) $levelParams->get('resizing', true); $resize_horizontal = (bool) $levelParams->get('resize_horizontal', true); if ($resizing && $resize_horizontal) { $resizing = 'both'; } // Set of always available plugins $plugins = array( 'autolink', 'lists', 'colorpicker', 'importcss', ); // Allowed elements $elements = array( 'hr[id|title|alt|class|width|size|noshade]', ); if ($extended_elements) { $elements = array_merge($elements, explode(',', $extended_elements)); } // Prepare the toolbar/menubar $knownButtons = static::getKnownButtons(); // Check if there no value at all if (!$levelParams->get('menu') && !$levelParams->get('toolbar1') && !$levelParams->get('toolbar2')) { // Get from preset $presets = static::getToolbarPreset(); /* * Predefine group as: * Set 0: for Administrator, Editor, Super Users (4,7,8) * Set 1: for Registered, Manager (2,6), all else are public */ switch (true) { case isset($ugroups[4]) || isset($ugroups[7]) || isset($ugroups[8]): $preset = $presets['advanced']; break; case isset($ugroups[2]) || isset($ugroups[6]): $preset = $presets['medium']; break; default: $preset = $presets['simple']; } $levelParams->loadArray($preset); } $menubar = (array) $levelParams->get('menu', array()); $toolbar1 = (array) $levelParams->get('toolbar1', array()); $toolbar2 = (array) $levelParams->get('toolbar2', array()); // Make an easy way to check which button is enabled $allButtons = array_merge($toolbar1, $toolbar2); $allButtons = array_combine($allButtons, $allButtons); // Check for button-specific plugins foreach ($allButtons as $btnName) { if (!empty($knownButtons[$btnName]['plugin'])) { $plugins[] = $knownButtons[$btnName]['plugin']; } } // Template $templates = array(); if (!empty($allButtons['template'])) { // Note this check for the template_list.js file will be removed in Joomla 4.0 if (is_file(JPATH_ROOT . '/media/editors/tinymce/templates/template_list.js')) { // If using the legacy file we need to include and input the files the new way $str = file_get_contents(JPATH_ROOT . '/media/editors/tinymce/templates/template_list.js'); // Find from one [ to the last ] $matches = array(); preg_match_all('/\[.*\]/', $str, $matches); // Set variables foreach ($matches['0'] as $match) { $values = array(); preg_match_all('/\".*\"/', $match, $values); $result = trim($values['0']['0'], '"'); $final_result = explode(',', $result); $templates[] = array( 'title' => trim($final_result['0'], ' " '), 'description' => trim($final_result['2'], ' " '), 'url' => JUri::root(true) . '/' . trim($final_result['1'], ' " '), ); } } else { foreach (glob(JPATH_ROOT . '/media/editors/tinymce/templates/*.html') as $filename) { $filename = basename($filename, '.html'); if ($filename !== 'index') { $lang = JFactory::getLanguage(); $title = $filename; $description = ' '; if ($lang->hasKey('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_TITLE')) { $title = JText::_('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_TITLE'); } if ($lang->hasKey('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_DESC')) { $description = JText::_('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_DESC'); } $templates[] = array( 'title' => $title, 'description' => $description, 'url' => JUri::root(true) . '/media/editors/tinymce/templates/' . $filename . '.html', ); } } } } // Check for extra plugins, from the setoptions form foreach (array('wordcount' => 1, 'advlist' => 1, 'autosave' => 1, 'contextmenu' => 1) as $pName => $def) { if ($levelParams->get($pName, $def)) { $plugins[] = $pName; } } // User custom plugins and buttons $custom_plugin = trim($levelParams->get('custom_plugin', '')); $custom_button = trim($levelParams->get('custom_button', '')); if ($custom_plugin) { $separator = strpos($custom_plugin, ',') !== false ? ',' : ' '; $plugins = array_merge($plugins, explode($separator, $custom_plugin)); } if ($custom_button) { $separator = strpos($custom_button, ',') !== false ? ',' : ' '; $toolbar1 = array_merge($toolbar1, explode($separator, $custom_button)); } // Drag and drop Images $allowImgPaste = false; $dragdrop = $levelParams->get('drag_drop', 1); if ($dragdrop && $user->authorise('core.create', 'com_media')) { $externalPlugins['jdragdrop'] = HTMLHelper::_( 'script', 'editors/tinymce/plugins/dragdrop/plugin.min.js', array('relative' => true, 'version' => 'auto', 'pathOnly' => true) ); $allowImgPaste = true; $isSubDir = ''; $session = JFactory::getSession(); $uploadUrl = JUri::base() . 'index.php?option=com_media&task=file.upload&tmpl=component&' . $session->getName() . '=' . $session->getId() . '&' . JSession::getFormToken() . '=1' . '&asset=image&format=json'; if ($app->isClient('site')) { $uploadUrl = htmlentities($uploadUrl, 0, 'UTF-8', false); } // Is Joomla installed in subdirectory if (JUri::root(true) !== '/') { $isSubDir = JUri::root(true); } JText::script('PLG_TINY_ERR_UNSUPPORTEDBROWSER'); $scriptOptions['setCustomDir'] = $isSubDir; $scriptOptions['mediaUploadPath'] = $levelParams->get('path', ''); $scriptOptions['uploadUri'] = $uploadUrl; } // Build the final options set $scriptOptions = array_merge( $scriptOptions, array( 'suffix' => '.min', 'baseURL' => JUri::root(true) . '/media/editors/tinymce', 'directionality' => $text_direction, 'language' => $langPrefix, 'autosave_restore_when_empty' => false, 'skin' => $skin, 'theme' => $theme, 'schema' => 'html5', // Toolbars 'menubar' => empty($menubar) ? false : implode(' ', array_unique($menubar)), 'toolbar1' => empty($toolbar1) ? null : implode(' ', $toolbar1), 'toolbar2' => empty($toolbar2) ? null : implode(' ', $toolbar2), 'plugins' => implode(',', array_unique($plugins)), // Cleanup/Output 'inline_styles' => true, 'gecko_spellcheck' => true, 'entity_encoding' => $levelParams->get('entity_encoding', 'raw'), 'verify_html' => !$ignore_filter, 'valid_elements' => $valid_elements, 'extended_valid_elements' => implode(',', $elements), 'invalid_elements' => $invalid_elements, // URL 'relative_urls' => (bool) $levelParams->get('relative_urls', true), 'remove_script_host' => false, // Layout 'content_css' => $content_css, 'document_base_url' => JUri::root(true) . '/', 'paste_data_images' => $allowImgPaste, 'importcss_append' => true, 'image_title' => true, 'height' => $html_height, 'width' => $html_width, 'resize' => $resizing, 'templates' => $templates, 'image_advtab' => (bool) $levelParams->get('image_advtab', false), 'external_plugins' => empty($externalPlugins) ? null : $externalPlugins, 'contextmenu' => (bool) $levelParams->get('contextmenu', true) ? null : false, 'elementpath' => (bool) $levelParams->get('element_path', true), ) ); if ($levelParams->get('newlines')) { // Break $scriptOptions['force_br_newlines'] = true; $scriptOptions['force_p_newlines'] = false; $scriptOptions['forced_root_block'] = ''; } else { // Paragraph $scriptOptions['force_br_newlines'] = false; $scriptOptions['force_p_newlines'] = true; $scriptOptions['forced_root_block'] = 'p'; } $scriptOptions['rel_list'] = array( array('title' => 'None', 'value' => ''), array('title' => 'Alternate', 'value' => 'alternate'), array('title' => 'Author', 'value' => 'author'), array('title' => 'Bookmark', 'value' => 'bookmark'), array('title' => 'Help', 'value' => 'help'), array('title' => 'License', 'value' => 'license'), array('title' => 'Lightbox', 'value' => 'lightbox'), array('title' => 'Next', 'value' => 'next'), array('title' => 'No Follow', 'value' => 'nofollow'), array('title' => 'No Referrer', 'value' => 'noreferrer'), array('title' => 'Prefetch', 'value' => 'prefetch'), array('title' => 'Prev', 'value' => 'prev'), array('title' => 'Search', 'value' => 'search'), array('title' => 'Tag', 'value' => 'tag'), ); /** * Shrink the buttons if not on a mobile or if mobile view is off. * If mobile view is on force into simple mode and enlarge the buttons **/ if (!$this->app->client->mobile) { $scriptOptions['toolbar_items_size'] = 'small'; } elseif ($levelParams->get('mobile', 0)) { $scriptOptions['menubar'] = false; unset($scriptOptions['toolbar2']); } $options['tinyMCE']['default'] = $scriptOptions; $doc->addStyleDeclaration('.mce-in { padding: 5px 10px !important;}'); $doc->addScriptOptions('plg_editor_tinymce', $options); return $editor; } /** * Get the toggle editor button * * @param string $name Editor name * * @return string */ private function _toogleButton($name) { return JLayoutHelper::render('joomla.tinymce.togglebutton', $name); } /** * Get the XTD buttons and render them inside tinyMCE * * @param string $name the id of the editor field * @param string $excluded the buttons that should be hidden * * @return array */ private function tinyButtons($name, $excluded) { // Get the available buttons $buttons = $this->_subject->getButtons($name, $excluded); // Init the arrays for the buttons $tinyBtns = array(); $btnsNames = array(); // Build the script foreach ($buttons as $i => $button) { if ($button->get('name')) { // Set some vars $name = 'button-' . $i . str_replace(' ', '', $button->get('text')); $title = $button->get('text'); $onclick = $button->get('onclick') ?: null; $options = $button->get('options'); $icon = $button->get('name'); if ($button->get('link') !== '#') { $href = JUri::base() . $button->get('link'); } else { $href = null; } // We do some hack here to set the correct icon for 3PD buttons $icon = 'none icon-' . $icon; $tempConstructor = array(); // Now we can built the script $tempConstructor[] = '!(function(){'; // Get the modal width/height if ($options && is_scalar($options)) { $tempConstructor[] = 'var getBtnOptions=new Function("return ' . addslashes($options) . '"),'; $tempConstructor[] = 'btnOptions=getBtnOptions(),'; $tempConstructor[] = 'modalWidth=btnOptions.size&&btnOptions.size.x?btnOptions.size.x:null,'; $tempConstructor[] = 'modalHeight=btnOptions.size&&btnOptions.size.y?btnOptions.size.y:null;'; } else { $tempConstructor[] = 'var btnOptions={},modalWidth=null,modalHeight=null;'; } // Now we can built the script // AddButton starts here $tempConstructor[] = 'editor.addButton("' . $name . '",{'; $tempConstructor[] = 'text:"' . $title . '",'; $tempConstructor[] = 'title:"' . $title . '",'; $tempConstructor[] = 'icon:"' . $icon . '",'; // Onclick starts here $tempConstructor[] = 'onclick:function(){'; if ($href || $button->get('modal')) { // TinyMCE standard modal options $tempConstructor[] = 'var modalOptions={'; $tempConstructor[] = 'title:"' . $title . '",'; $tempConstructor[] = 'url:"' . $href . '",'; $tempConstructor[] = 'buttons:[{text: "Close",onclick:"close"}]'; $tempConstructor[] = '};'; // Set width/height $tempConstructor[] = 'if(modalWidth){modalOptions.width=modalWidth;}'; $tempConstructor[] = 'if(modalHeight){modalOptions.height = modalHeight;}'; $tempConstructor[] = 'var win=editor.windowManager.open(modalOptions);'; if (JFactory::getApplication()->client->mobile) { $tempConstructor[] = 'win.fullscreen(true);'; } if ($onclick && ($button->get('modal') || $href)) { // Adds callback for close button $tempConstructor[] = $onclick . ';'; } } else { // Adds callback for the button, eg: readmore $tempConstructor[] = $onclick . ';'; } // Onclick ends here $tempConstructor[] = '}'; // AddButton ends here $tempConstructor[] = '});'; // IIFE ends here $tempConstructor[] = '})();'; // The array with the toolbar buttons $btnsNames[] = $name . ' | '; // The array with code for each button $tinyBtns[] = implode('', $tempConstructor); } } return array( 'names' => $btnsNames, 'script' => $tinyBtns ); } /** * Get the global text filters to arbitrary text as per settings for current user groups * * @return JFilterInput * * @since 3.6 */ protected static function getGlobalFilters() { // Filter settings $config = JComponentHelper::getParams('com_config'); $user = JFactory::getUser(); $userGroups = JAccess::getGroupsByUser($user->get('id')); $filters = $config->get('filters'); $blackListTags = array(); $blackListAttributes = array(); $customListTags = array(); $customListAttributes = array(); $whiteListTags = array(); $whiteListAttributes = array(); $whiteList = false; $blackList = false; $customList = false; $unfiltered = false; // Cycle through each of the user groups the user is in. // Remember they are included in the public group as well. foreach ($userGroups as $groupId) { // May have added a group but not saved the filters. if (!isset($filters->$groupId)) { continue; } // Each group the user is in could have different filtering properties. $filterData = $filters->$groupId; $filterType = strtoupper($filterData->filter_type); if ($filterType === 'NH') { // Maximum HTML filtering. } elseif ($filterType === 'NONE') { // No HTML filtering. $unfiltered = true; } else { // Blacklist or whitelist. // Preprocess the tags and attributes. $tags = explode(',', $filterData->filter_tags); $attributes = explode(',', $filterData->filter_attributes); $tempTags = array(); $tempAttributes = array(); foreach ($tags as $tag) { $tag = trim($tag); if ($tag) { $tempTags[] = $tag; } } foreach ($attributes as $attribute) { $attribute = trim($attribute); if ($attribute) { $tempAttributes[] = $attribute; } } // Collect the blacklist or whitelist tags and attributes. // Each list is cummulative. if ($filterType === 'BL') { $blackList = true; $blackListTags = array_merge($blackListTags, $tempTags); $blackListAttributes = array_merge($blackListAttributes, $tempAttributes); } elseif ($filterType === 'CBL') { // Only set to true if Tags or Attributes were added if ($tempTags || $tempAttributes) { $customList = true; $customListTags = array_merge($customListTags, $tempTags); $customListAttributes = array_merge($customListAttributes, $tempAttributes); } } elseif ($filterType === 'WL') { $whiteList = true; $whiteListTags = array_merge($whiteListTags, $tempTags); $whiteListAttributes = array_merge($whiteListAttributes, $tempAttributes); } } } // Remove duplicates before processing (because the blacklist uses both sets of arrays). $blackListTags = array_unique($blackListTags); $blackListAttributes = array_unique($blackListAttributes); $customListTags = array_unique($customListTags); $customListAttributes = array_unique($customListAttributes); $whiteListTags = array_unique($whiteListTags); $whiteListAttributes = array_unique($whiteListAttributes); // Unfiltered assumes first priority. if ($unfiltered) { // Dont apply filtering. return false; } else { // Custom blacklist precedes Default blacklist if ($customList) { $filter = JFilterInput::getInstance(array(), array(), 1, 1); // Override filter's default blacklist tags and attributes if ($customListTags) { $filter->tagBlacklist = $customListTags; } if ($customListAttributes) { $filter->attrBlacklist = $customListAttributes; } } // Blacklists take second precedence. elseif ($blackList) { // Remove the white-listed tags and attributes from the black-list. $blackListTags = array_diff($blackListTags, $whiteListTags); $blackListAttributes = array_diff($blackListAttributes, $whiteListAttributes); $filter = JFilterInput::getInstance($blackListTags, $blackListAttributes, 1, 1); // Remove whitelisted tags from filter's default blacklist if ($whiteListTags) { $filter->tagBlacklist = array_diff($filter->tagBlacklist, $whiteListTags); } // Remove whitelisted attributes from filter's default blacklist if ($whiteListAttributes) { $filter->attrBlacklist = array_diff($filter->attrBlacklist, $whiteListAttributes); } } // Whitelists take third precedence. elseif ($whiteList) { // Turn off XSS auto clean $filter = JFilterInput::getInstance($whiteListTags, $whiteListAttributes, 0, 0, 0); } // No HTML takes last place. else { $filter = JFilterInput::getInstance(); } return $filter; } } /** * Return list of known TinyMCE buttons * * @return array * * @since 3.7.0 */ public static function getKnownButtons() { // See https://www.tinymce.com/docs/demo/full-featured/ // And https://www.tinymce.com/docs/plugins/ $buttons = array( // General buttons '|' => array('label' => JText::_('PLG_TINY_TOOLBAR_BUTTON_SEPARATOR'), 'text' => '|'), 'undo' => array('label' => 'Undo'), 'redo' => array('label' => 'Redo'), 'bold' => array('label' => 'Bold'), 'italic' => array('label' => 'Italic'), 'underline' => array('label' => 'Underline'), 'strikethrough' => array('label' => 'Strikethrough'), 'styleselect' => array('label' => JText::_('PLG_TINY_TOOLBAR_BUTTON_STYLESELECT'), 'text' => 'Formats'), 'formatselect' => array('label' => JText::_('PLG_TINY_TOOLBAR_BUTTON_FORMATSELECT'), 'text' => 'Paragraph'), 'fontselect' => array('label' => JText::_('PLG_TINY_TOOLBAR_BUTTON_FONTSELECT'), 'text' => 'Font Family'), 'fontsizeselect' => array('label' => JText::_('PLG_TINY_TOOLBAR_BUTTON_FONTSIZESELECT'), 'text' => 'Font Sizes'), 'alignleft' => array('label' => 'Align left'), 'aligncenter' => array('label' => 'Align center'), 'alignright' => array('label' => 'Align right'), 'alignjustify' => array('label' => 'Justify'), 'outdent' => array('label' => 'Decrease indent'), 'indent' => array('label' => 'Increase indent'), 'bullist' => array('label' => 'Bullet list'), 'numlist' => array('label' => 'Numbered list'), 'link' => array('label' => 'Insert/edit link', 'plugin' => 'link'), 'unlink' => array('label' => 'Remove link', 'plugin' => 'link'), 'subscript' => array('label' => 'Subscript'), 'superscript' => array('label' => 'Superscript'), 'blockquote' => array('label' => 'Blockquote'), 'cut' => array('label' => 'Cut'), 'copy' => array('label' => 'Copy'), 'paste' => array('label' => 'Paste', 'plugin' => 'paste'), 'pastetext' => array('label' => 'Paste as text', 'plugin' => 'paste'), 'removeformat' => array('label' => 'Clear formatting'), // Buttons from the plugins 'forecolor' => array('label' => 'Text color', 'plugin' => 'textcolor'), 'backcolor' => array('label' => 'Background color', 'plugin' => 'textcolor'), 'anchor' => array('label' => 'Anchor', 'plugin' => 'anchor'), 'hr' => array('label' => 'Horizontal line', 'plugin' => 'hr'), 'ltr' => array('label' => 'Left to right', 'plugin' => 'directionality'), 'rtl' => array('label' => 'Right to left', 'plugin' => 'directionality'), 'code' => array('label' => 'Source code', 'plugin' => 'code'), 'codesample' => array('label' => 'Insert/Edit code sample', 'plugin' => 'codesample'), 'table' => array('label' => 'Table', 'plugin' => 'table'), 'charmap' => array('label' => 'Special character', 'plugin' => 'charmap'), 'visualchars' => array('label' => 'Show invisible characters', 'plugin' => 'visualchars'), 'visualblocks' => array('label' => 'Show blocks', 'plugin' => 'visualblocks'), 'nonbreaking' => array('label' => 'Nonbreaking space', 'plugin' => 'nonbreaking'), 'emoticons' => array('label' => 'Emoticons', 'plugin' => 'emoticons'), 'image' => array('label' => 'Insert/edit image', 'plugin' => 'image'), 'media' => array('label' => 'Insert/edit video', 'plugin' => 'media'), 'pagebreak' => array('label' => 'Page break', 'plugin' => 'pagebreak'), 'print' => array('label' => 'Print', 'plugin' => 'print'), 'preview' => array('label' => 'Preview', 'plugin' => 'preview'), 'fullscreen' => array('label' => 'Fullscreen', 'plugin' => 'fullscreen'), 'template' => array('label' => 'Insert template', 'plugin' => 'template'), 'searchreplace' => array('label' => 'Find and replace', 'plugin' => 'searchreplace'), 'insertdatetime' => array('label' => 'Insert date/time', 'plugin' => 'insertdatetime'), // 'spellchecker' => array('label' => 'Spellcheck', 'plugin' => 'spellchecker'), ); return $buttons; } /** * Return toolbar presets * * @return array * * @since 3.7.0 */ public static function getToolbarPreset() { $preset = array(); $preset['simple'] = array( 'menu' => array(), 'toolbar1' => array( 'bold', 'underline', 'strikethrough', '|', 'undo', 'redo', '|', 'bullist', 'numlist', '|', 'pastetext' ), 'toolbar2' => array(), ); $preset['medium'] = array( 'menu' => array('edit', 'insert', 'view', 'format', 'table', 'tools'), 'toolbar1' => array( 'bold', 'italic', 'underline', 'strikethrough', '|', 'alignleft', 'aligncenter', 'alignright', 'alignjustify', '|', 'formatselect', '|', 'bullist', 'numlist', '|', 'outdent', 'indent', '|', 'undo', 'redo', '|', 'link', 'unlink', 'anchor', 'code', '|', 'hr', 'table', '|', 'subscript', 'superscript', '|', 'charmap', 'pastetext' , 'preview' ), 'toolbar2' => array(), ); $preset['advanced'] = array( 'menu' => array('edit', 'insert', 'view', 'format', 'table', 'tools'), 'toolbar1' => array( 'bold', 'italic', 'underline', 'strikethrough', '|', 'alignleft', 'aligncenter', 'alignright', 'alignjustify', '|', 'styleselect', '|', 'formatselect', 'fontselect', 'fontsizeselect', '|', 'searchreplace', '|', 'bullist', 'numlist', '|', 'outdent', 'indent', '|', 'undo', 'redo', '|', 'link', 'unlink', 'anchor', 'image', '|', 'code', '|', 'forecolor', 'backcolor', '|', 'fullscreen', '|', 'table', '|', 'subscript', 'superscript', '|', 'charmap', 'emoticons', 'media', 'hr', 'ltr', 'rtl', '|', 'cut', 'copy', 'paste', 'pastetext', '|', 'visualchars', 'visualblocks', 'nonbreaking', 'blockquote', 'template', '|', 'print', 'preview', 'codesample', 'insertdatetime', 'removeformat', ), 'toolbar2' => array(), ); return $preset; } /** * Gets the plugin extension id. * * @return int The plugin id. * * @since 3.7.0 */ private function getPluginId() { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select($db->quoteName('extension_id')) ->from($db->quoteName('#__extensions')) ->where($db->quoteName('folder') . ' = ' . $db->quote($this->_type)) ->where($db->quoteName('element') . ' = ' . $db->quote($this->_name)); $db->setQuery($query); return (int) $db->loadResult(); } /** * Display the editor area. * * @param string $name The name of the editor area. * @param string $content The content of the field. * @param string $width The width of the editor area. * @param string $height The height of the editor area. * @param int $col The number of columns for the editor area. * @param int $row The number of rows for the editor area. * @param boolean $buttons True and the editor buttons will be displayed. * @param string $id An optional ID for the textarea. If not supplied the name is used. * @param string $asset The object asset * @param object $author The author. * @param array $params Associative array of editor parameters. * * @return string * * @since 3.7.0 * * @deprecated 4.0 */ private function onDisplayLegacy( $name, $content, $width, $height, $col, $row, $buttons = true, $id = null, $asset = null, $author = null, $params = array()) { if (empty($id)) { $id = $name; } $id = preg_replace('/(\s|[^A-Za-z0-9_])+/', '_', $id); $nameGroup = explode('[', preg_replace('/\[\]|\]/', '', $name)); $fieldName = end($nameGroup); $scriptOptions = array(); // Check for existing options $doc = JFactory::getDocument(); $options = $doc->getScriptOptions('plg_editor_tinymce'); // Only add "px" to width and height if they are not given as a percentage if (is_numeric($width)) { $width .= 'px'; } if (is_numeric($height)) { $height .= 'px'; } // Data object for the layout $textarea = new stdClass; $textarea->name = $name; $textarea->id = $id; $textarea->class = 'mce_editable joomla-editor-tinymce'; $textarea->cols = $col; $textarea->rows = $row; $textarea->width = $width; $textarea->height = $height; $textarea->content = $content; // Set editor to readonly mode $textarea->readonly = !empty($params['readonly']); // Render Editor markup $editor = '
    '; $editor .= JLayoutHelper::render('joomla.tinymce.textarea', $textarea); $editor .= $this->_toogleButton($id); $editor .= '
    '; // Prepare instance specific options, actually the ext-buttons if (empty($options['tinyMCE'][$fieldName]['joomlaExtButtons'])) { $btns = $this->tinyButtons($id, $buttons); if (!empty($btns['names'])) { JHtml::_('script', 'editors/tinymce/tiny-close.min.js', array('version' => 'auto', 'relative' => true), array('defer' => 'defer')); } // Set editor to readonly mode if (!empty($params['readonly'])) { $options['tinyMCE'][$fieldName]['readonly'] = 1; } $options['tinyMCE'][$fieldName]['joomlaMergeDefaults'] = true; $options['tinyMCE'][$fieldName]['joomlaExtButtons'] = $btns; $doc->addScriptOptions('plg_editor_tinymce', $options, false); } // Setup Default options for the Editor script // Check whether we already have them if (!empty($options['tinyMCE']['default'])) { return $editor; } $app = JFactory::getApplication(); $user = JFactory::getUser(); $language = JFactory::getLanguage(); $mode = (int) $this->params->get('mode', 1); $theme = 'modern'; // List the skins $skindirs = glob(JPATH_ROOT . '/media/editors/tinymce/skins' . '/*', GLOB_ONLYDIR); // Set the selected skin $skin = 'lightgray'; $side = $app->isClient('administrator') ? 'skin_admin' : 'skin'; if ((int) $this->params->get($side, 0) < count($skindirs)) { $skin = basename($skindirs[(int) $this->params->get($side, 0)]); } $langMode = $this->params->get('lang_mode', 0); $langPrefix = $this->params->get('lang_code', 'en'); if ($langMode) { if (file_exists(JPATH_ROOT . "/media/editors/tinymce/langs/" . $language->getTag() . ".js")) { $langPrefix = $language->getTag(); } elseif (file_exists(JPATH_ROOT . "/media/editors/tinymce/langs/" . substr($language->getTag(), 0, strpos($language->getTag(), '-')) . ".js")) { $langPrefix = substr($language->getTag(), 0, strpos($language->getTag(), '-')); } else { $langPrefix = "en"; } } $text_direction = 'ltr'; if ($language->isRtl()) { $text_direction = 'rtl'; } $use_content_css = $this->params->get('content_css', 1); $content_css_custom = $this->params->get('content_css_custom', ''); /* * Lets get the default template for the site application */ $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select('template') ->from('#__template_styles') ->where('client_id=0 AND home=' . $db->quote('1')); $db->setQuery($query); try { $template = $db->loadResult(); } catch (RuntimeException $e) { $app->enqueueMessage(JText::_('JERROR_AN_ERROR_HAS_OCCURRED'), 'error'); return; } $content_css = null; $templates_path = JPATH_SITE . '/templates'; // Loading of css file for 'styles' dropdown if ($content_css_custom) { // If URL, just pass it to $content_css if (strpos($content_css_custom, 'http') !== false) { $content_css = $content_css_custom; } // If it is not a URL, assume it is a file name in the current template folder else { $content_css = JUri::root(true) . '/templates/' . $template . '/css/' . $content_css_custom; // Issue warning notice if the file is not found (but pass name to $content_css anyway to avoid TinyMCE error if (!file_exists($templates_path . '/' . $template . '/css/' . $content_css_custom)) { $msg = sprintf(JText::_('PLG_TINY_ERR_CUSTOMCSSFILENOTPRESENT'), $content_css_custom); JLog::add($msg, JLog::WARNING, 'jerror'); } } } else { // Process when use_content_css is Yes and no custom file given if ($use_content_css) { // First check templates folder for default template // if no editor.css file in templates folder, check system template folder if (!file_exists($templates_path . '/' . $template . '/css/editor.css')) { // If no editor.css file in system folder, show alert if (!file_exists($templates_path . '/system/css/editor.css')) { JLog::add(JText::_('PLG_TINY_ERR_EDITORCSSFILENOTPRESENT'), JLog::WARNING, 'jerror'); } else { $content_css = JUri::root(true) . '/templates/system/css/editor.css'; } } else { $content_css = JUri::root(true) . '/templates/' . $template . '/css/editor.css'; } } } $ignore_filter = false; // Text filtering if ($this->params->get('use_config_textfilters', 0)) { // Use filters from com_config $filter = static::getGlobalFilters(); $ignore_filter = $filter === false; $tagBlacklist = !empty($filter->tagBlacklist) ? $filter->tagBlacklist : array(); $attrBlacklist = !empty($filter->attrBlacklist) ? $filter->attrBlacklist : array(); $tagArray = !empty($filter->tagArray) ? $filter->tagArray : array(); $attrArray = !empty($filter->attrArray) ? $filter->attrArray : array(); $invalid_elements = implode(',', array_merge($tagBlacklist, $attrBlacklist, $tagArray, $attrArray)); // Valid elements are all whitelist entries in com_config, which are now missing in the tagBlacklist $default_filter = JFilterInput::getInstance(); $valid_elements = implode(',', array_diff($default_filter->tagBlacklist, $tagBlacklist)); $extended_elements = ''; } else { // Use filters from TinyMCE params $invalid_elements = $this->params->get('invalid_elements', 'script,applet,iframe'); $extended_elements = $this->params->get('extended_elements', ''); $valid_elements = $this->params->get('valid_elements', ''); } // Advanced Options $access = $user->getAuthorisedViewLevels(); // Flip for performance, so we can direct check for the key isset($access[$key]) $access = array_flip($access); $html_height = $this->params->get('html_height', '550'); $html_width = $this->params->get('html_width', ''); if ($html_width == 750) { $html_width = ''; } // Image advanced options $image_advtab = $this->params->get('image_advtab', true); if (isset($access[$image_advtab])) { $image_advtab = true; } else { $image_advtab = false; } // The param is true for vertical resizing only, false or both $resizing = $this->params->get('resizing', '1'); $resize_horizontal = $this->params->get('resize_horizontal', '1'); if ($resizing || $resizing == 'true') { if ($resize_horizontal || $resize_horizontal == 'true') { $resizing = 'both'; } else { $resizing = true; } } else { $resizing = false; } $toolbar1_add = array(); $toolbar2_add = array(); $toolbar3_add = array(); $toolbar4_add = array(); $elements = array(); $plugins = array( 'autolink', 'lists', 'image', 'charmap', 'print', 'preview', 'anchor', 'pagebreak', 'code', 'save', 'textcolor', 'colorpicker', 'importcss'); $toolbar1_add[] = 'bold'; $toolbar1_add[] = 'italic'; $toolbar1_add[] = 'underline'; $toolbar1_add[] = 'strikethrough'; // Alignment buttons $alignment = $this->params->get('alignment', 1); if (isset($access[$alignment])) { $toolbar1_add[] = '|'; $toolbar1_add[] = 'alignleft'; $toolbar1_add[] = 'aligncenter'; $toolbar1_add[] = 'alignright'; $toolbar1_add[] = 'alignjustify'; } $toolbar1_add[] = '|'; $toolbar1_add[] = 'styleselect'; $toolbar1_add[] = '|'; $toolbar1_add[] = 'formatselect'; // Fonts $fonts = $this->params->get('fonts', 1); if (isset($access[$fonts])) { $toolbar1_add[] = 'fontselect'; $toolbar1_add[] = 'fontsizeselect'; } // Search & replace $searchreplace = $this->params->get('searchreplace', 1); if (isset($access[$searchreplace])) { $plugins[] = 'searchreplace'; $toolbar2_add[] = 'searchreplace'; } $toolbar2_add[] = '|'; $toolbar2_add[] = 'bullist'; $toolbar2_add[] = 'numlist'; $toolbar2_add[] = '|'; $toolbar2_add[] = 'outdent'; $toolbar2_add[] = 'indent'; $toolbar2_add[] = '|'; $toolbar2_add[] = 'undo'; $toolbar2_add[] = 'redo'; $toolbar2_add[] = '|'; // Insert date and/or time plugin $insertdate = $this->params->get('insertdate', 1); if (isset($access[$insertdate])) { $plugins[] = 'insertdatetime'; $toolbar4_add[] = 'inserttime'; } // Link plugin $link = $this->params->get('link', 1); if (isset($access[$link])) { $plugins[] = 'link'; $toolbar2_add[] = 'link'; $toolbar2_add[] = 'unlink'; } $toolbar2_add[] = 'anchor'; $toolbar2_add[] = 'image'; $toolbar2_add[] = '|'; $toolbar2_add[] = 'code'; // Colors $colors = $this->params->get('colors', 1); if (isset($access[$colors])) { $toolbar2_add[] = '|'; $toolbar2_add[] = 'forecolor,backcolor'; } // Fullscreen $fullscreen = $this->params->get('fullscreen', 1); if (isset($access[$fullscreen])) { $plugins[] = 'fullscreen'; $toolbar2_add[] = '|'; $toolbar2_add[] = 'fullscreen'; } // Table $table = $this->params->get('table', 1); if (isset($access[$table])) { $plugins[] = 'table'; $toolbar3_add[] = 'table'; $toolbar3_add[] = '|'; } $toolbar3_add[] = 'subscript'; $toolbar3_add[] = 'superscript'; $toolbar3_add[] = '|'; $toolbar3_add[] = 'charmap'; // Emotions $smilies = $this->params->get('smilies', 1); if (isset($access[$smilies])) { $plugins[] = 'emoticons'; $toolbar3_add[] = 'emoticons'; } // Media plugin $media = $this->params->get('media', 1); if (isset($access[$media])) { $plugins[] = 'media'; $toolbar3_add[] = 'media'; } // Horizontal line $hr = $this->params->get('hr', 1); if (isset($access[$hr])) { $plugins[] = 'hr'; $elements[] = 'hr[id|title|alt|class|width|size|noshade]'; $toolbar3_add[] = 'hr'; } else { $elements[] = 'hr[id|class|title|alt]'; } // RTL/LTR buttons $directionality = $this->params->get('directionality', 1); if (isset($access[$directionality])) { $plugins[] = 'directionality'; $toolbar3_add[] = 'ltr rtl'; } if ($extended_elements != "") { $elements = explode(',', $extended_elements); } $toolbar4_add[] = 'cut'; $toolbar4_add[] = 'copy'; // Paste $paste = $this->params->get('paste', 1); if (isset($access[$paste])) { $plugins[] = 'paste'; $toolbar4_add[] = 'paste'; } $toolbar4_add[] = '|'; // Visualchars $visualchars = $this->params->get('visualchars', 1); if (isset($access[$visualchars])) { $plugins[] = 'visualchars'; $toolbar4_add[] = 'visualchars'; } // Visualblocks $visualblocks = $this->params->get('visualblocks', 1); if (isset($access[$visualblocks])) { $plugins[] = 'visualblocks'; $toolbar4_add[] = 'visualblocks'; } // Non-breaking $nonbreaking = $this->params->get('nonbreaking', 1); if (isset($access[$nonbreaking])) { $plugins[] = 'nonbreaking'; $toolbar4_add[] = 'nonbreaking'; } // Blockquote $blockquote = $this->params->get('blockquote', 1); if (isset($access[$blockquote])) { $toolbar4_add[] = 'blockquote'; } // Template $template = $this->params->get('template', 1); $templates = array(); if (isset($access[$template])) { $plugins[] = 'template'; $toolbar4_add[] = 'template'; // Note this check for the template_list.js file will be removed in Joomla 4.0 if (is_file(JPATH_ROOT . "/media/editors/tinymce/templates/template_list.js")) { // If using the legacy file we need to include and input the files the new way $str = file_get_contents(JPATH_ROOT . "/media/editors/tinymce/templates/template_list.js"); // Find from one [ to the last ] $matches = array(); preg_match_all('/\[.*\]/', $str, $matches); // Set variables foreach ($matches['0'] as $match) { $values = array(); preg_match_all('/\".*\"/', $match, $values); $result = trim($values["0"]["0"], '"'); $final_result = explode(',', $result); $templates[] = array( 'title' => trim($final_result['0'], ' " '), 'description' => trim($final_result['2'], ' " '), 'url' => JUri::root(true) . '/' . trim($final_result['1'], ' " '), ); } } else { foreach (glob(JPATH_ROOT . '/media/editors/tinymce/templates/*.html') as $filename) { $filename = basename($filename, '.html'); if ($filename !== 'index') { $lang = JFactory::getLanguage(); $title = $filename; $description = ' '; if ($lang->hasKey('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_TITLE')) { $title = JText::_('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_TITLE'); } if ($lang->hasKey('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_DESC')) { $description = JText::_('PLG_TINY_TEMPLATE_' . strtoupper($filename) . '_DESC'); } $templates[] = array( 'title' => $title, 'description' => $description, 'url' => JUri::root(true) . '/media/editors/tinymce/templates/' . $filename . '.html', ); } } } } // Print $print = $this->params->get('print', 1); if (isset($access[$print])) { $plugins[] = 'print'; $toolbar4_add[] = '|'; $toolbar4_add[] = 'print'; $toolbar4_add[] = 'preview'; } // Spellchecker $spell = $this->params->get('spell', 0); if (isset($access[$spell])) { $plugins[] = 'spellchecker'; $toolbar4_add[] = '|'; $toolbar4_add[] = 'spellchecker'; } // Wordcount $wordcount = $this->params->get('wordcount', 1); if (isset($access[$wordcount])) { $plugins[] = 'wordcount'; } // Advlist $advlist = $this->params->get('advlist', 1); if (isset($access[$advlist])) { $plugins[] = 'advlist'; } // Codesample $advlist = $this->params->get('code_sample', 1); if (isset($access[$advlist])) { $plugins[] = 'codesample'; $toolbar4_add[] = 'codesample'; } // Autosave $autosave = $this->params->get('autosave', 1); if (isset($access[$autosave])) { $plugins[] = 'autosave'; } // Context menu $contextmenu = $this->params->get('contextmenu', 1); if (isset($access[$contextmenu])) { $plugins[] = 'contextmenu'; } $custom_plugin = $this->params->get('custom_plugin', ''); if ($custom_plugin != "") { $plugins[] = $custom_plugin; } $custom_button = $this->params->get('custom_button', ''); if ($custom_button != "") { $toolbar4_add[] = $custom_button; } // Drag and drop Images $externalPlugins = array(); $allowImgPaste = false; $dragdrop = $this->params->get('drag_drop', 1); if ($dragdrop && $user->authorise('core.create', 'com_media')) { $allowImgPaste = true; $isSubDir = ''; $session = JFactory::getSession(); $uploadUrl = JUri::base() . 'index.php?option=com_media&task=file.upload&tmpl=component&' . $session->getName() . '=' . $session->getId() . '&' . JSession::getFormToken() . '=1' . '&asset=image&format=json'; if ($app->isClient('site')) { $uploadUrl = htmlentities($uploadUrl, 0, 'UTF-8', false); } // Is Joomla installed in subdirectory if (JUri::root(true) != '/') { $isSubDir = JUri::root(true); } JText::script('PLG_TINY_ERR_UNSUPPORTEDBROWSER'); $scriptOptions['setCustomDir'] = $isSubDir; $scriptOptions['mediaUploadPath'] = $this->params->get('path', ''); $scriptOptions['uploadUri'] = $uploadUrl; $externalPlugins = array( array( 'jdragdrop' => HTMLHelper::_( 'script', 'editors/tinymce/plugins/dragdrop/plugin.min.js', array('relative' => true, 'version' => 'auto', 'pathOnly' => true) ), ), ); } // Prepare config variables $plugins = implode(',', $plugins); $elements = implode(',', $elements); // Prepare config variables $toolbar1 = implode(' ', $toolbar1_add) . ' | ' . implode(' ', $toolbar2_add) . ' | ' . implode(' ', $toolbar3_add) . ' | ' . implode(' ', $toolbar4_add); // See if mobileVersion is activated $mobileVersion = $this->params->get('mobile', 0); $scriptOptions = array_merge( $scriptOptions, array( 'suffix' => '.min', 'baseURL' => JUri::root(true) . '/media/editors/tinymce', 'directionality' => $text_direction, 'language' => $langPrefix, 'autosave_restore_when_empty' => false, 'skin' => $skin, 'theme' => $theme, 'schema' => 'html5', // Cleanup/Output 'inline_styles' => true, 'gecko_spellcheck' => true, 'entity_encoding' => $this->params->get('entity_encoding', 'raw'), 'verify_html' => !$ignore_filter, // URL 'relative_urls' => (bool) $this->params->get('relative_urls', true), 'remove_script_host' => false, // Layout 'content_css' => $content_css, 'document_base_url' => JUri::root(true) . '/', 'paste_data_images' => $allowImgPaste, 'externalPlugins' => json_encode($externalPlugins), ) ); if ($this->params->get('newlines')) { // Break $scriptOptions['force_br_newlines'] = true; $scriptOptions['force_p_newlines'] = false; $scriptOptions['forced_root_block'] = ''; } else { // Paragraph $scriptOptions['force_br_newlines'] = false; $scriptOptions['force_p_newlines'] = true; $scriptOptions['forced_root_block'] = 'p'; } /** * Shrink the buttons if not on a mobile or if mobile view is off. * If mobile view is on force into simple mode and enlarge the buttons **/ if (!$this->app->client->mobile) { $scriptOptions['toolbar_items_size'] = 'small'; } elseif ($mobileVersion) { $mode = 0; } switch ($mode) { case 0: /* Simple mode*/ $scriptOptions['menubar'] = false; $scriptOptions['toolbar1'] = 'bold italic underline strikethrough | undo redo | bullist numlist | code'; $scriptOptions['plugins'] = ' code'; break; case 1: default: /* Advanced mode*/ $toolbar1 = "bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | formatselect | bullist numlist " . "| outdent indent | undo redo | link unlink anchor code | hr table | subscript superscript | charmap"; $scriptOptions['valid_elements'] = $valid_elements; $scriptOptions['extended_valid_elements'] = $elements; $scriptOptions['invalid_elements'] = $invalid_elements; $scriptOptions['plugins'] = 'table link code hr charmap autolink lists importcss '; $scriptOptions['toolbar1'] = $toolbar1; $scriptOptions['removed_menuitems'] = 'newdocument'; $scriptOptions['importcss_append'] = true; $scriptOptions['height'] = $html_height; $scriptOptions['width'] = $html_width; $scriptOptions['resize'] = $resizing; break; case 2: /* Extended mode*/ $scriptOptions['valid_elements'] = $valid_elements; $scriptOptions['extended_valid_elements'] = $elements; $scriptOptions['invalid_elements'] = $invalid_elements; $scriptOptions['plugins'] = $plugins; $scriptOptions['toolbar1'] = $toolbar1; $scriptOptions['removed_menuitems'] = 'newdocument'; $scriptOptions['rel_list'] = array( array('title' => 'None', 'value' => ''), array('title' => 'Alternate', 'value' => 'alternate'), array('title' => 'Author', 'value' => 'author'), array('title' => 'Bookmark', 'value' => 'bookmark'), array('title' => 'Help', 'value' => 'help'), array('title' => 'License', 'value' => 'license'), array('title' => 'Lightbox', 'value' => 'lightbox'), array('title' => 'Next', 'value' => 'next'), array('title' => 'No Follow', 'value' => 'nofollow'), array('title' => 'No Referrer', 'value' => 'noreferrer'), array('title' => 'Prefetch', 'value' => 'prefetch'), array('title' => 'Prev', 'value' => 'prev'), array('title' => 'Search', 'value' => 'search'), array('title' => 'Tag', 'value' => 'tag'), ); $scriptOptions['importcss_append'] = true; $scriptOptions['image_advtab'] = $image_advtab; $scriptOptions['height'] = $html_height; $scriptOptions['width'] = $html_width; $scriptOptions['resize'] = $resizing; $scriptOptions['templates'] = $templates; break; } $options['tinyMCE']['default'] = $scriptOptions; $doc->addStyleDeclaration(".mce-in { padding: 5px 10px !important;}"); $doc->addScriptOptions('plg_editor_tinymce', $options); return $editor; } } tinymce.xml000060400000003267152455611460006753 0ustar00 plg_editors_tinymce 4.5.12 2005-2020 Tiny Technologies, Inc N/A https://www.tiny.cloud Tiny Technologies, Inc LGPL PLG_TINY_XML_DESCRIPTION tinymce.php fields form tinymce en-GB.plg_editors_tinymce.ini en-GB.plg_editors_tinymce.sys.ini
    form/setoptions.xml000060400000017641152455611460010456 0ustar00
    field/skins.php000060400000002740152455611460007477 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; jimport('joomla.form.helper'); JFormHelper::loadFieldClass('list'); /** * Generates the list of options for available skins. * * @package Joomla.Plugin * @subpackage Editors.tinymce * @since 3.4 */ class JFormFieldSkins extends JFormFieldList { protected $type = 'skins'; /** * Method to get the skins options. * * @return array The skins option objects. * * @since 3.4 */ public function getOptions() { $options = array(); $directories = glob(JPATH_ROOT . '/media/editors/tinymce/skins' . '/*', GLOB_ONLYDIR); for ($i = 0, $iMax = count($directories); $i < $iMax; ++$i) { $dir = basename($directories[$i]); $options[] = JHtml::_('select.option', $i, $dir); } $options = array_merge(parent::getOptions(), $options); return $options; } /** * Method to get the field input markup for the list of skins. * * @return string The field input markup. * * @since 3.4 */ protected function getInput() { $html = array(); // Get the field options. $options = (array) $this->getOptions(); // Create a regular list. $html[] = JHtml::_('select.genericlist', $options, $this->name, '', 'value', 'text', $this->value, $this->id); return implode($html); } } field/uploaddirs.php000060400000004550152455611460010517 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; jimport('joomla.form.helper'); JFormHelper::loadFieldClass('folderlist'); /** * Generates the list of directories available for drag and drop upload. * * @package Joomla.Plugin * @subpackage Editors.tinymce * @since 3.7.0 */ class JFormFieldUploaddirs extends JFormFieldFolderList { protected $type = 'uploaddirs'; /** * Method to attach a JForm object to the field. * * @param SimpleXMLElement $element The SimpleXMLElement object representing the `` tag for the form field object. * @param mixed $value The form field value to validate. * @param string $group The field name group control value. This acts as an array container for the field. * For example if the field has name="foo" and the group value is set to "bar" then the * full field name would end up being "bar[foo]". * * @return boolean True on success. * * @see JFormField::setup() * @since 3.7.0 */ public function setup(SimpleXMLElement $element, $value, $group = null) { $return = parent::setup($element, $value, $group); // Get the path in which to search for file options. $this->directory = JComponentHelper::getParams('com_media')->get('image_path'); $this->recursive = true; $this->hideDefault = true; return $return; } /** * Method to get the directories options. * * @return array The dirs option objects. * * @since 3.7.0 */ public function getOptions() { return parent::getOptions(); } /** * Method to get the field input markup for the list of directories. * * @return string The field input markup. * * @since 3.7.0 */ protected function getInput() { $html = array(); // Get the field options. $options = (array) $this->getOptions(); // Reset the non selected value to null if ($options[0]->value === '-1') { $options[0]->value = ''; } // Create a regular list. $html[] = JHtml::_('select.genericlist', $options, $this->name, '', 'value', 'text', $this->value, $this->id); return implode($html); } } field/tinymcebuilder.php000060400000011055152455611460011366 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Form Field class for the TinyMCE editor. * * @package Joomla.Plugin * @subpackage Editors.tinymce * @since 3.7.0 */ class JFormFieldTinymceBuilder extends JFormField { /** * The form field type. * * @var string * @since 3.7.0 */ protected $type = 'tinymcebuilder'; /** * Name of the layout being used to render the field * * @var string * @since 3.7.0 */ protected $layout = 'plugins.editors.tinymce.field.tinymcebuilder'; /** * The prepared layout data * * @var array * @since 3.7.0 */ protected $layoutData = array(); /** * Method to get the data to be passed to the layout for rendering. * * @return array * * @since 3.7.0 */ protected function getLayoutData() { if (!empty($this->layoutData)) { return $this->layoutData; } $data = parent::getLayoutData(); $paramsAll = (object) $this->form->getValue('params'); $setsAmount = empty($paramsAll->sets_amount) ? 3 : $paramsAll->sets_amount; if (empty($data['value'])) { $data['value'] = array(); } // Get the plugin require_once JPATH_PLUGINS . '/editors/tinymce/tinymce.php'; $menus = array( 'edit' => array('label' => 'Edit'), 'insert' => array('label' => 'Insert'), 'view' => array('label' => 'View'), 'format' => array('label' => 'Format'), 'table' => array('label' => 'Table'), 'tools' => array('label' => 'Tools'), ); $data['menus'] = $menus; $data['menubarSource'] = array_keys($menus); $data['buttons'] = PlgEditorTinymce::getKnownButtons(); $data['buttonsSource'] = array_keys($data['buttons']); $data['toolbarPreset'] = PlgEditorTinymce::getToolbarPreset(); $data['setsAmount'] = $setsAmount; // Get array of sets names for ($i = 0; $i < $setsAmount; $i++) { $data['setsNames'][$i] = JText::sprintf('PLG_TINY_SET_TITLE', $i); } // Prepare the forms for each set $setsForms = array(); $formsource = JPATH_PLUGINS . '/editors/tinymce/form/setoptions.xml'; // Preload an old params for B/C $setParams = new stdClass; if (!empty($paramsAll->html_width) && empty($paramsAll->configuration['setoptions'])) { $plugin = JPluginHelper::getPlugin('editors', 'tinymce'); JFactory::getApplication()->enqueueMessage(JText::sprintf('PLG_TINY_LEGACY_WARNING', '#'), 'warning'); if (is_object($plugin) && !empty($plugin->params)) { $setParams = (object) json_decode($plugin->params); } } // Collect already used groups $groupsInUse = array(); // Prepare the Set forms, for the set options foreach (array_keys($data['setsNames']) as $num) { $formname = 'set.form.' . $num; $control = $this->name . '[setoptions][' . $num . ']'; $setsForms[$num] = JForm::getInstance($formname, $formsource, array('control' => $control)); // Check whether we already have saved values or it first time or even old params if (empty($this->value['setoptions'][$num])) { $formValues = $setParams; /* * Predefine group: * Set 0: for Administrator, Editor, Super Users (4,7,8) * Set 1: for Registered, Manager (2,6), all else are public */ $formValues->access = !$num ? array(4,7,8) : ($num === 1 ? array(2,6) : array()); // Assign Public to the new Set, but only when it not in use already if (empty($formValues->access) && !in_array(1, $groupsInUse)) { $formValues->access = array(1); } } else { $formValues = (object) $this->value['setoptions'][$num]; } // Collect already used groups if (!empty($formValues->access)) { $groupsInUse = array_merge($groupsInUse, $formValues->access); } // Bind the values $setsForms[$num]->bind($formValues); } krsort($data['setsNames']); $data['setsForms'] = $setsForms; // Check for TinyMCE language file $language = JFactory::getLanguage(); $languageFile1 = 'media/editors/tinymce/langs/' . $language->getTag() . '.js'; $languageFile2 = 'media/editors/tinymce/langs/' . substr($language->getTag(), 0, strpos($language->getTag(), '-')) . '.js'; $data['languageFile'] = ''; if (file_exists(JPATH_ROOT . '/' . $languageFile1)) { $data['languageFile'] = $languageFile1; } elseif (file_exists(JPATH_ROOT . '/' . $languageFile2)) { $data['languageFile'] = $languageFile2; } $this->layoutData = $data; return $data; } } buttons/button.php000060400000000724152455704360010300 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; JLog::add('The layout joomla.tinymce.buttons.button is deprecated, use joomla.editors.buttons.button instead.', JLog::WARNING, 'deprecated'); echo JLayoutHelper::render('joomla.editors.buttons.button', $displayData); textarea.php000060400000001256152455704360007105 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $data = $displayData; ?> togglebutton.php000060400000001260152455704360010000 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $name = $displayData; ?> buttons.php000060400000000677152455704360006774 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; JLog::add('The layout joomla.tinymce.buttons is deprecated, use joomla.editors.buttons instead.', JLog::WARNING, 'deprecated'); echo JLayoutHelper::render('joomla.editors.buttons', $displayData); tinymce.popup.js000060400000010471152456730070007724 0ustar00/* This file includes original and modified code from various versions of TinyMCE, relicensed under GPL v2+ per LGPL 2.1 §3 where applicable. Source: https://github.com/widgetfactory/tinymce-muon; Copyright (c) Tiny Technologies, Inc. All rights reserved.; Copyright (c) 1999–2015 Ephox Corp. All rights reserved.; Copyright (c) 2009 Moxiecode Systems AB. All rights reserved.; Copyright (c) 2009–2025 Ryan Demmer. All rights reserved.; For a detailed history of modifications, refer to the Git commit history.; Licensed under the GNU General Public License version 2 or later (GPL v2+): https://www.gnu.org/licenses/gpl-2.0.html */ var tinymce, tinyMCEPopup = { init: function() { var self = this, win = this.getWin(); tinymce = tinyMCE = win.tinymce, this.editor = tinymce.EditorManager.activeEditor, this.params = this.editor.windowManager.params, this.features = this.editor.windowManager.features, this.dom = this.editor.windowManager.createInstance("tinymce.dom.DOMUtils", document, { ownEvents: !0, proxy: tinyMCEPopup._eventProxy }), this.dom.bind(window, "ready", this._onDOMLoaded, this), this.listeners = [], this.onInit = { add: function(fn, scope) { self.listeners.push({ func: fn, scope: scope }); } }, this.isWindow = !1, this.id = this.getWindowArg("mce_window_id"), this.editor.windowManager.onOpen.dispatch(this.editor.windowManager, window); }, getWin: function() { return !window.frameElement && window.dialogArguments || opener || parent || top; }, getWindowArg: function(name, defaultValue) { return name = this.params[name], tinymce.is(name) ? name : defaultValue; }, getParam: function(name, defaultValue) { return this.editor.getParam(name, defaultValue); }, getLang: function(name, defaultValue) { return this.editor.getLang(name, defaultValue); }, execCommand: function(cmd, ui, val, a) { return (a = a || {}).skip_focus = 1, this.restoreSelection(), this.editor.execCommand(cmd, ui, val, a); }, resizeToInnerSize: function() {}, storeSelection: function() { this.editor.windowManager.bookmark = tinyMCEPopup.editor.selection.getBookmark(1); }, restoreSelection: function() { !this.isWindow && tinymce.isIE && this.editor.selection.moveToBookmark(this.editor.windowManager.bookmark); }, pickColor: function(e, element_id) { this.execCommand("mceColorPicker", !0, { color: document.getElementById(element_id).value, func: function(color) { document.getElementById(element_id).value = color; try { document.getElementById(element_id).onchange(); } catch (ex) {} } }); }, openBrowser: function(args) { tinyMCEPopup.restoreSelection(), this.editor.execCallback("file_browser_callback", args, window); }, confirm: function(title, callback, scope) { this.editor.windowManager.confirm(title, callback, scope, window); }, alert: function(title, callback, scope) { this.editor.windowManager.alert(title, callback, scope, window); }, close: function() { this.editor && (this.editor.windowManager.close(window), tinymce = tinyMCE = this.editor = this.params = this.dom = this.dom.doc = null); }, _restoreSelection: function(e) { "INPUT" != (e = e && e.target).nodeName || "submit" != e.type && "button" != e.type || tinyMCEPopup.restoreSelection(); }, _onDOMLoaded: function() { var editor = this.editor, dom = this.dom, title = document.title; document.body.style.display = "", this.restoreSelection(), this.resizeToInnerSize(), this.isWindow ? window.focus() : editor.windowManager.setTitle(window, title), tinymce.isIE || this.isWindow || dom.bind(document, "focus", function() { editor.windowManager.focus(this.id); }), tinymce.each(this.listeners, function(o) { o.func.call(o.scope, editor); }), window.focus(); }, _eventProxy: function(id) { return function(evt) { tinyMCEPopup.dom.events.callNativeHandler(id, evt); }; } }; tinyMCEPopup.init();tinymce.js000060400003641457152456730070006603 0ustar00/* This file includes original and modified code from various versions of TinyMCE, relicensed under GPL v2+ per LGPL 2.1 §3 where applicable. Source: https://github.com/widgetfactory/tinymce-muon; Copyright (c) Tiny Technologies, Inc. All rights reserved.; Copyright (c) 1999–2015 Ephox Corp. All rights reserved.; Copyright (c) 2009 Moxiecode Systems AB. All rights reserved.; Copyright (c) 2009–2025 Ryan Demmer. All rights reserved.; For a detailed history of modifications, refer to the Git commit history.; Licensed under the GNU General Public License version 2 or later (GPL v2+): https://www.gnu.org/licenses/gpl-2.0.html */ !function() { "use strict"; !function(win) { var whiteSpaceRe = /^\s*|\s*$/g, slice = [].slice, tinymce = { _init: function() { var i, nl, base, p, v, self = this, doc = document; for (self.suffix = "", nl = doc.getElementsByTagName("base"), i = 0; i < nl.length; i++) (v = nl[i].href) && (/^https?:\/\/[^\/]+$/.test(v) && (v += "/"), base = v ? v.match(/.*\//)[0] : ""); function getBase(n) { return n.src && /tinymce(|_gzip|_jquery|_prototype|_full)(_dev|_src)?.js/.test(n.src) && (/_(src|dev)\.js/g.test(n.src) && (self.suffix = "_src"), -1 != (p = n.src.indexOf("?")) && (self.query = n.src.substring(p + 1)), self.baseURL = n.src.substring(0, n.src.lastIndexOf("/")), base && -1 == self.baseURL.indexOf("://") && 0 !== self.baseURL.indexOf("/") && (self.baseURL = base + self.baseURL), self.baseURL); } for (nl = doc.getElementsByTagName("script"), i = 0; i < nl.length; i++) if (getBase(nl[i])) return; if (doc = doc.getElementsByTagName("head")[0]) for (nl = doc.getElementsByTagName("script"), i = 0; i < nl.length; i++) if (getBase(nl[i])) return; }, is: function(o, t) { return t ? !("array" != t || !tinymce.isArray(o)) || typeof o == t : void 0 !== o; }, isArray: Array.isArray || function(obj) { return "[object Array]" === Object.prototype.toString.call(obj); }, makeMap: function(items, delim, map) { var i; for (delim = delim || ",", map = map || {}, i = (items = "string" == typeof (items = items || []) ? items.split(delim) : items).length; i--; ) map[items[i]] = {}; return map; }, each: function(o, cb, s) { var n, l; if (!o) return 0; if (s = s || o, void 0 !== o.length) { for (n = 0, l = o.length; n < l; n++) if (!1 === cb.call(s, o[n], n, o)) return 0; } else for (n in o) if (o.hasOwnProperty(n) && !1 === cb.call(s, o[n], n, o)) return 0; return 1; }, map: function(a, f) { var o = []; return tinymce.each(a, function(v) { o.push(f(v)); }), o; }, grep: function(a, f) { var o = []; return tinymce.each(a, function(v) { f && !f(v) || o.push(v); }), o; }, inArray: function(a, v) { var i, l; if (a) for (i = 0, l = a.length; i < l; i++) if (a[i] === v) return i; return -1; }, toArray: function(obj) { var i, l, array = obj; if (!tinymce.isArray(obj)) for (array = [], i = 0, l = obj.length; i < l; i++) array[i] = obj[i]; return array; }, extend: function(obj, ext) { for (var name, value, args = arguments, i = 1, l = args.length; i < l; i++) for (name in ext = args[i]) ext.hasOwnProperty(name) && void 0 !== (value = ext[name]) && (obj[name] = value); return obj; }, trim: function(s) { return (s ? "" + s : "").replace(whiteSpaceRe, ""); }, create: function(s, p, root) { var sp, ns, cn, scn, c, de = 0; s = /^((static) )?([\w.]+)(:([\w.]+))?/.exec(s), cn = s[3].match(/(^|\.)(\w+)$/i)[2], (ns = this.createNS(s[3].replace(/\.\w+$/, ""), root))[cn] || ("static" == s[2] ? (ns[cn] = p, this.onCreate && this.onCreate(s[2], s[3], ns[cn])) : (p[cn] || (p[cn] = function() {}, de = 1), ns[cn] = p[cn], this.extend(ns[cn].prototype, p), s[5] && (sp = this.resolve(s[5]).prototype, scn = s[5].match(/\.(\w+)$/i)[1], c = ns[cn], ns[cn] = de ? function() { return sp[scn].apply(this, arguments); } : function() { return this._super = sp[scn], c.apply(this, arguments); }, ns[cn].prototype[cn] = ns[cn], this.each(sp, function(f, n) { ns[cn].prototype[n] = sp[n]; }), this.each(p, function(f, n) { sp[n] ? ns[cn].prototype[n] = function() { return this._super = sp[n], f.apply(this, arguments); } : n != cn && (ns[cn].prototype[n] = f); })), this.each(p.static, function(f, n) { ns[cn][n] = f; }))); }, walk: function(o, f, n, s) { s = s || this, o && (n && (o = o[n]), tinymce.each(o, function(o, i) { if (!1 === f.call(s, o, i, n)) return !1; tinymce.walk(o, f, n, s); })); }, createNS: function(n, o) { var i, v; for (o = o || win, n = n.split("."), i = 0; i < n.length; i++) o[v = n[i]] || (o[v] = {}), o = o[v]; return o; }, resolve: function(n, o) { var i, l; for (o = o || win, i = 0, l = (n = n.split(".")).length; i < l && (o = o[n[i]]); i++); return o; }, addUnload: function(f, s) { var unload; function fakeUnload() { var doc = document; function stop() { doc.detachEvent("onstop", stop), unload && unload(), doc = 0; } "interactive" == doc.readyState && (doc && doc.attachEvent("onstop", stop), win.setTimeout(function() { doc && doc.detachEvent("onstop", stop); }, 0)); } return unload = function() { var o, n, li = self.unloads; if (li) { for (n in li) (o = li[n]) && o.func && o.func.call(o.scope, 1); win.detachEvent ? (win.detachEvent("onbeforeunload", fakeUnload), win.detachEvent("onunload", unload)) : win.removeEventListener && win.removeEventListener("unload", unload, !1), self.unloads = o = li = unload = 0, win.CollectGarbage && CollectGarbage(); } }, f = { func: f, scope: s || this }, self.unloads ? self.unloads.push(f) : (win.attachEvent ? (win.attachEvent("onunload", unload), win.attachEvent("onbeforeunload", fakeUnload)) : win.addEventListener && win.addEventListener("unload", unload, !1), self.unloads = [ f ]), f; }, removeUnload: function(f) { var u = this.unloads, r = null; return tinymce.each(u, function(o, i) { if (o && o.func == f) return u.splice(i, 1), r = f, !1; }), r; }, explode: function(s, d) { return !s || tinymce.is(s, "array") ? s : tinymce.map(s.split(d || ","), tinymce.trim); }, curry: function(fn) { var args = slice.call(arguments); return args.length - 1 >= fn.length ? fn.apply(this, args.slice(1)) : function() { var tempArgs = args.concat([].slice.call(arguments)); return tinymce.curry.apply(this, tempArgs); }; }, _addVer: function(u) { var v; return this.query ? (v = (-1 == u.indexOf("?") ? "?" : "&") + this.query, -1 == u.indexOf("#") ? u + v : u.replace("#", v + "#")) : u; } }; tinymce._init(), (win.tinymce = win.tinyMCE = tinymce).dom = {}, tinymce.geom = {}, tinymce.text = {}, tinymce.caret = {}, tinymce.clipboard = {}, tinymce.html = {}, tinymce.ui = {}, tinymce.util = {}, tinymce.file = {}, tinymce.plugins = {}; }(window); var userAgent = (nav = navigator).userAgent; function matchMediaQuery(query) { return "matchMedia" in window && matchMedia(query).matches; } var func, isTouchEnabled = 1 < navigator.maxTouchPoints, opera = window.opera && window.opera.buildNumber, android = /Android/.test(userAgent), nav = !(webkit = /WebKit/.test(userAgent)) && !opera && /MSIE/gi.test(userAgent) && /Explorer/gi.test(nav.appName) && /MSIE (\w+)\./.exec(userAgent)[1] && !webkit, gecko = !webkit && !nav && /Gecko/.test(userAgent), mac = -1 != userAgent.indexOf("Mac"), isIOS = /(iPad|iPhone)/.test(userAgent) || (isIOS = /iPad/.test(userAgent), hasMacLikeUserAgent = /Macintosh/.test(userAgent), isIOS) || isTouchEnabled && hasMacLikeUserAgent, hasMacLikeUserAgent = "FormData" in window && "FileReader" in window && "URL" in window && !!URL.createObjectURL, phone = matchMediaQuery("only screen and (max-device-width: 480px)") && (android || isIOS), tablet = matchMediaQuery("only screen and (min-width: 800px)") && (android || isIOS), windowsPhone = -1 != userAgent.indexOf("Windows Phone"), contentEditable = !isIOS || hasMacLikeUserAgent || 534 <= userAgent.match(/AppleWebKit\/(\d*)/)[1], count = (tinymce.util.Env = { opera: opera, webkit: webkit, ie: nav, gecko: gecko, mac: mac, ios: isIOS, android: android, contentEditable: contentEditable, transparentSrc: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", caretAfter: !0, range: window.getSelection && "Range" in window, fileApi: hasMacLikeUserAgent, ceFalse: !0, canHaveCSP: !0, desktop: !phone && !tablet, windowsPhone: windowsPhone, touchEnabled: isTouchEnabled }, tinymce.isOpera = opera, tinymce.isWebKit = webkit, tinymce.isIE = nav, tinymce.isIE11 = nav && /Trident\/7.0/.test(userAgent) && /rv:11.0/.test(userAgent), tinymce.isIE12 = -1 != userAgent.indexOf("Edge/") && !nav && 12, tinymce.isIE12 && (tinymce.isWebKit = !1), tinymce.isGecko = gecko, tinymce.isMac = mac, tinymce.isIDevice = isIOS, tinymce.isAndroid = android, tinymce.isIOS = isIOS, tinymce.isIOS5 = isIOS && 534 <= userAgent.match(/AppleWebKit\/(\d*)/)[1], tinymce.touchEnabled = isTouchEnabled, 0), Arr = (tinymce.util.Uuid = { uuid: function(prefix) { return prefix + count++ + ("s" + new Date().getTime().toString(36) + rnd() + rnd() + rnd()); function rnd() { return Math.round(4294967295 * Math.random()).toString(36); } } }, function(tinymce) { var requestAnimationFramePromise; function wrappedSetTimeout(callback, time) { return "number" != typeof time && (time = 0), setTimeout(callback, time); } function wrappedSetInterval(callback, time) { return "number" != typeof time && (time = 1), setInterval(callback, time); } function debounce(callback, time) { function func() { var args = arguments; clearTimeout(timer), timer = wrappedSetTimeout(function() { callback.apply(this, args); }, time); } var timer; return func.stop = function() { clearTimeout(timer); }, func; } tinymce.util.Delay = { requestAnimationFrame: function(callback, element) { requestAnimationFramePromise ? requestAnimationFramePromise.then(callback) : requestAnimationFramePromise = new Promise(function(resolve) { !function(callback, element) { for (var requestAnimationFrameFunc = window.requestAnimationFrame, vendors = [ "ms", "moz", "webkit" ], i = 0; i < vendors.length && !requestAnimationFrameFunc; i++) requestAnimationFrameFunc = window[vendors[i] + "RequestAnimationFrame"]; (requestAnimationFrameFunc = requestAnimationFrameFunc || function(callback) { window.setTimeout(callback, 0); })(callback, element); }(resolve, element = element || document.body); }).then(callback); }, setTimeout: wrappedSetTimeout, setInterval: wrappedSetInterval, setEditorTimeout: function(editor, callback, time) { return wrappedSetTimeout(function() { editor.removed || callback(); }, time); }, setEditorInterval: function(editor, callback, time) { var timer = wrappedSetInterval(function() { editor.removed ? clearInterval(timer) : callback(); }, time); return timer; }, debounce: debounce, throttle: debounce, clearInterval: function(id) { return clearInterval(id); }, clearTimeout: function(id) { return clearTimeout(id); } }; }(tinymce), tinymce.util.Dispatcher = function(scope) { this.scope = scope || this, this.listeners = [], this.inDispatch = !1; }, tinymce.util.Dispatcher.prototype = { add: function(callback, scope) { return this.listeners.push({ cb: callback, scope: scope || this.scope }), callback; }, addToTop: function(callback, scope) { return scope = { cb: callback, scope: scope || this.scope }, this.inDispatch ? this.listeners = [ scope ].concat(this.listeners) : this.listeners.unshift(scope), callback; }, remove: function(callback) { var listeners = this.listeners, output = null; return tinymce.each(listeners, function(listener, i) { if (callback == listener.cb) return output = listener, listeners.splice(i, 1), !1; }), output; }, dispatch: function() { var returnValue, i, listener, args = arguments, listeners = this.listeners; for (this.inDispatch = !0, i = 0; i < listeners.length && !1 !== (returnValue = (listener = listeners[i]).cb.apply(listener.scope, 0 < args.length ? args : [ listener.scope ])); i++); return this.inDispatch = !1, returnValue; } }, function(tinymce) { var each = tinymce.each, trim = tinymce.trim, queryParts = "source protocol authority userInfo user password host port relative path directory file query anchor".split(" "), DEFAULT_PORTS = { ftp: 21, http: 80, https: 443, mailto: 25 }, safeSvgDataUrlElements = [ "img", "video" ]; tinymce.util.URI = function(url, settings) { var baseUri, base_url, isProtocolRelative, self = this; url = trim(url), baseUri = (settings = self.settings = settings || {}).base_uri, /^([\w\-]+):([^\/]{2})/i.test(url) || /^\s*#/.test(url) ? self.source = url : (isProtocolRelative = 0 === url.indexOf("//"), 0 !== url.indexOf("/") || isProtocolRelative || (url = (baseUri && baseUri.protocol || "http") + "://mce_host" + url), /^[\w\-]*:?\/\//.test(url) || (base_url = settings.base_uri ? settings.base_uri.path : new tinymce.util.URI(location.href).directory, url = "" === settings.base_uri.protocol ? "//mce_host" + self.toAbsPath(base_url, url) : (url = /([^#?]*)([#?]?.*)/.exec(url), (baseUri && baseUri.protocol || "http") + "://mce_host" + self.toAbsPath(base_url, url[1]) + url[2])), url = url.replace(/@@/g, "(mce_at)"), url = /^(?:(?![^:@]+:[^:@\/]*@)([^:\/?#.]+):)?(?:\/\/)?((?:(([^:@\/]*):?([^:@\/]*))?@)?([^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/.exec(url), each(queryParts, function(v, i) { i = (i = url[i]) && i.replace(/\(mce_at\)/g, "@@"), self[v] = i; }), baseUri && (self.protocol || (self.protocol = baseUri.protocol), self.userInfo || (self.userInfo = baseUri.userInfo), self.port || "mce_host" !== self.host || (self.port = baseUri.port), self.host && "mce_host" !== self.host || (self.host = baseUri.host), self.source = ""), isProtocolRelative && (self.protocol = "")); }, tinymce.util.URI.prototype = { setPath: function(path) { path = /^(.*?)\/?(\w+)?$/.exec(path), this.path = path[0], this.directory = path[1], this.file = path[2], this.source = "", this.getURI(); }, toRelative: function(uri) { var tu, uu; return "./" === uri ? uri : "mce_host" != (uri = new tinymce.util.URI(uri, { base_uri: this })).host && this.host != uri.host && uri.host || this.port != uri.port || this.protocol != uri.protocol && "" !== uri.protocol ? uri.getURI() : (tu = this.getURI()) == (uu = uri.getURI()) || "/" == tu.charAt(tu.length - 1) && tu.substr(0, tu.length - 1) == uu ? tu : (uu = this.toRelPath(this.path, uri.path), uri.query && (uu += "?" + uri.query), uri.anchor && (uu += "#" + uri.anchor), uu); }, toAbsolute: function(uri, noHost) { return (uri = new tinymce.util.URI(uri, { base_uri: this })).getURI(noHost && this.isSameOrigin(uri)); }, isSameOrigin: function(uri) { if (this.host == uri.host && this.protocol == uri.protocol) { if (this.port == uri.port) return !0; var defaultPort = DEFAULT_PORTS[this.protocol]; if (defaultPort && (this.port || defaultPort) == (uri.port || defaultPort)) return !0; } return !1; }, toRelPath: function(base, path) { var items, i, l, breakPoint = 0, out = ""; if (base = (base = base.substring(0, base.lastIndexOf("/"))).split("/"), items = path.split("/"), base.length >= items.length) for (i = 0, l = base.length; i < l; i++) if (i >= items.length || base[i] != items[i]) { breakPoint = i + 1; break; } if (base.length < items.length) for (i = 0, l = items.length; i < l; i++) if (i >= base.length || base[i] != items[i]) { breakPoint = i + 1; break; } if (1 === breakPoint) return path; for (i = 0, l = base.length - (breakPoint - 1); i < l; i++) out += "../"; for (i = breakPoint - 1, l = items.length; i < l; i++) out += i != breakPoint - 1 ? "/" + items[i] : items[i]; return out; }, toAbsPath: function(base, path) { var i, nb = 0, o = [], tr = /\/$/.test(path) ? "/" : ""; for (base = base.split("/"), path = path.split("/"), each(base, function(k) { k && o.push(k); }), base = o, i = path.length - 1, o = []; 0 <= i; i--) 0 !== path[i].length && "." !== path[i] && (".." === path[i] ? nb++ : 0 < nb ? nb-- : o.push(path[i])); return 0 !== (base = (i = base.length - nb) <= 0 ? o.reverse().join("/") : base.slice(0, i).join("/") + "/" + o.reverse().join("/")).indexOf("/") && (base = "/" + base), tr && base.lastIndexOf("/") !== base.length - 1 && (base += tr), base; }, getURI: function(noProtoHost) { var s; return this.source && !noProtoHost || (s = "", noProtoHost || (this.protocol ? s += this.protocol + "://" : s += "//", this.userInfo && (s += this.userInfo + "@"), this.host && (s += this.host), this.port && (s += ":" + this.port)), this.path && (s += this.path), this.query && (s += "?" + this.query), this.anchor && (s += "#" + this.anchor), this.source = s), this.source; } }, tinymce.util.URI.parseDataUri = function(uri) { var type, matches; return uri = decodeURIComponent(uri).split(","), { type: type = (matches = /data:([^;]+)/.exec(uri[0])) ? matches[1] : type, data: uri[1] }; }, tinymce.util.URI.getDocumentBaseUrl = function(loc) { return loc = 0 !== loc.protocol.indexOf("http") && "file:" !== loc.protocol ? loc.href : loc.protocol + "//" + loc.host + loc.pathname, /^[^:]+:\/\/\/?[^\/]+\//.test(loc) && (loc = loc.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, ""), /[\/\\]$/.test(loc) || (loc += "/")), loc; }, tinymce.util.URI.isDomSafe = function(uri, context, options) { if (options.allow_script_urls) return !0; { let decodedUri = tinymce.html.Entities.decode(uri).replace(/[\s\u0000-\u001F]+/g, ""); try { decodedUri = decodeURIComponent(decodedUri); } catch (ex) { decodedUri = unescape(decodedUri); } return !/((java|vb)script|mhtml):/i.test(decodedUri) && !function(settings, uri, tagName) { return uri = function(encodedUri) { try { return decodeURIComponent(encodedUri); } catch (ex) { return unescape(encodedUri); } }(uri).replace(/\s/g, ""), !settings.allow_script_urls && (/((java|vb)script|mhtml):/i.test(uri) || !settings.allow_html_data_urls && (/^data:image\//i.test(uri) ? function(allowSvgDataUrls, tagName) { return null != allowSvgDataUrls ? !allowSvgDataUrls : null == tagName || -1 == tinymce.inArray(safeSvgDataUrlElements, tagName); }(settings.allow_svg_data_urls, tagName) && /^data:image\/svg\+xml/i.test(uri) : /^data:/i.test(uri))); }(options, decodedUri, context); } }; }(tinymce), function(tinymce) { tinymce.util.Storage = { getHash: function(n) { var h; if (n = this.get(n)) try { h = JSON.parse(n); } catch (e) {} return h; }, setHash: function(n, v) { this.set(n, JSON.stringify(v)); }, get: function(n, s) { return window.sessionStorage ? (n = sessionStorage.getItem(n), tinymce.is(n) && null != n ? "true" === n || "false" !== n && ("null" === n ? null : n) : s) : null; }, set: function(n, v) { window.sessionStorage && sessionStorage.setItem(n, v); } }, tinymce.util.Cookie = { getHash: function(n) { return tinymce.util.Storage.getHash(n); }, setHash: function(n, v) { return tinymce.util.Storage.setHash(n, v); }, get: function(n, s) { return tinymce.util.Storage.get(n, s); }, set: function(n, v) { return tinymce.util.Storage.set(n, v); } }; }(tinymce), function(tinymce) { tinymce.util.JSON = { serialize: function(obj) { try { return JSON.stringify(obj); } catch (ex) {} }, parse: function(str) { try { return JSON.parse(str); } catch (ex) {} } }; }(tinymce), tinymce.util.JSOP = { callbacks: {}, count: 0, send: function(o) { var self = this, dom = tinymce.DOM, count = (void 0 !== o.count ? o : this).count, id = "tinymce_jsonp_" + count; this.callbacks[count] = function(json) { dom.remove(id), delete self.callbacks[count], o.callback(json); }, dom.add(dom.doc.body, "script", { id: id, src: o.url, type: "text/javascript" }), this.count++; } }, tinymce.util.XHR = { send: function(o) { var xhr, c = 0; function ready() { !o.async || 4 == xhr.readyState || 1e4 < c++ ? (o.success && c < 1e4 && 200 == xhr.status ? o.success.call(o.success_scope, "" + xhr.responseText, xhr, o) : o.error && o.error.call(o.error_scope, 1e4 < c ? "TIMED_OUT" : "GENERAL", xhr, o), xhr = null) : window.setTimeout(ready, 10); } if (o.scope = o.scope || this, o.success_scope = o.success_scope || o.scope, o.error_scope = o.error_scope || o.scope, o.async = !1 !== o.async, o.data = o.data || "", xhr = new XMLHttpRequest()) { if (xhr.overrideMimeType && xhr.overrideMimeType(o.content_type), xhr.open(o.type || (o.data ? "POST" : "GET"), o.url, o.async), o.content_type && xhr.setRequestHeader("Content-Type", o.content_type), xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest"), xhr.send(o.data), !o.async) return ready(); window.setTimeout(ready, 10); } } }, function(tinymce) { var extend = tinymce.extend, JSON = tinymce.util.JSON, XHR = tinymce.util.XHR; tinymce.util.JSONRequest = function(settings) { this.settings = extend({}, settings), this.count = 0; }, tinymce.util.JSONRequest.prototype = { send: function(o) { var ecb = o.error, scb = o.success; (o = extend(this.settings, o)).success = function(c, x) { (c = void 0 === (c = JSON.parse(c)) ? { error: "JSON Parse error." } : c).error ? ecb.call(o.error_scope || o.scope, c.error, x) : scb.call(o.success_scope || o.scope, c.result); }, o.error = function(ty, x) { ecb && ecb.call(o.error_scope || o.scope, ty, x); }, o.data = JSON.serialize({ id: o.id || "c" + this.count++, method: o.method, params: o.params }), o.content_type = "application/json", XHR.send(o); } }, tinymce.util.JSONRequest.sendRPC = function(o) { return new tinymce.util.JSONRequest().send(o); }; }(tinymce), function(tinymce) { tinymce.VK = { BACKSPACE: 8, DELETE: 46, DOWN: 40, ENTER: 13, LEFT: 37, RIGHT: 39, SPACEBAR: 32, TAB: 9, UP: 38, modifierPressed: function(e) { return e.shiftKey || e.ctrlKey || e.altKey || this.metaKeyPressed(e); }, metaKeyPressed: function(e) { return tinymce.isMac ? e.metaKey : e.ctrlKey && !e.altKey; } }; }(tinymce), tinymce.util.Quirks = function(editor) { var marker, Zwsp, CaretPosition, CaretContainer, CaretWalker, VK = tinymce.VK, BACKSPACE = VK.BACKSPACE, DELETE = VK.DELETE, dom = editor.dom, selection = editor.selection, settings = editor.settings, parser = editor.parser, each = tinymce.each, RangeUtils = tinymce.dom.RangeUtils, TreeWalker = tinymce.dom.TreeWalker, mceInternalDataType = tinymce.isIE ? "Text" : "URL"; function setEditorCommandState(cmd, state) { try { editor.getDoc().execCommand(cmd, !1, state); } catch (ex) {} } function isDefaultPrevented(e) { return e.isDefaultPrevented(); } function selectAll() { editor.onKeyDown.add(function(editor, e) { !isDefaultPrevented(e) && 65 == e.keyCode && VK.metaKeyPressed(e) && (e.preventDefault(), editor.execCommand("SelectAll")); }); } function disableBackspaceIntoATable() { editor.onKeyDown.add(function(editor, e) { if (!isDefaultPrevented(e) && e.keyCode === BACKSPACE && selection.isCollapsed() && 0 === selection.getRng(!0).startOffset) { var previousSibling = selection.getNode().previousSibling; if (previousSibling && previousSibling.nodeName && "table" === previousSibling.nodeName.toLowerCase()) return e.preventDefault(), !1; } }); } function bodyHeight() { editor.inline || (editor.contentStyles.push("body {min-height: 150px}"), editor.onClick.add(function(editor, e) { "HTML" == e.target.nodeName && (tinymce.isIE12 ? editor.getBody().focus() : (e = editor.selection.getRng(), editor.getBody().focus(), editor.selection.setRng(e), editor.selection.normalize(), editor.nodeChanged())); })); } function selectControlElements() { editor.onClick.add(function(editor, e) { var target = e.target; function selectElm(e) { e.preventDefault(), selection.select(target), editor.nodeChanged(); } /^(IMG|HR)$/.test(target.nodeName) && "false" !== dom.getContentEditableParent(target) && selectElm(e), "A" == target.nodeName && dom.hasClass(target, "mce-item-anchor") && selectElm(e); }); } function normalize(e) { 65 == e.keyCode && VK.metaKeyPressed(e) || selection.normalize(); } function serializeRng(rng) { var body = dom.create("body"), rng = rng.cloneContents(); return body.appendChild(rng), selection.serializer.serialize(body, { format: "html" }); } function allContentsSelected(rng) { var selection, allRng; return rng.setStart ? (selection = serializeRng(rng), (allRng = dom.createRng()).selectNode(editor.getBody()), selection === serializeRng(allRng)) : !rng.item && ((selection = rng.duplicate()).moveToElementText(editor.getBody()), RangeUtils.compareRanges(rng, selection)); } function normalizePos(pos, forEnd) { var container = pos.container(), offset = pos.offset(); if (3 == container.nodeType) { if (!forEnd && CaretContainer.startsWithCaretContainer(container) && 1 === offset) return new CaretPosition(container, 0); if (forEnd && CaretContainer.endsWithCaretContainer(container) && offset === container.data.length - 1) return new CaretPosition(container, container.data.length); } return pos; } function isCursorAtStart(rng, container, node) { if (node) return pos = normalizePos(CaretPosition.fromRangeStart(rng), !1), null === new CaretWalker(node).prev(pos) ? node : null; if (3 == container.nodeType && rng.startOffset >= container.data.length) { var pos = container.nextSibling; if (pos && "A" === pos.nodeName) return pos; } else if (1 == container.nodeType && (node = container.childNodes[rng.startOffset]) && "A" === node.nodeName) return node; return null; } function isCursorAtEnd(rng, container, node) { return rng = normalizePos(CaretPosition.fromRangeStart(rng), !0), null === new CaretWalker(node).next(rng); } function relocateCursorOutOfInline(selector) { var node, rng = selection.getRng(), container = rng.startContainer; return (node = container.parentNode) && node != editor.dom.getRoot() && (node = (node = dom.getParent(node, selector)) || 1 != container.nodeType ? node : dom.getParent(container, selector)) && isCursorAtEnd(rng, 0, node) ? (marker = dom.create("span", { "data-mce-type": "caret" }, "\ufeff"), (container = function(node) { return node && 1 == node.nodeType && "BR" == node.nodeName; }((container = node).nextSibling) && node.nextSibling == node.parentNode.lastChild ? node.nextSibling : container).insertAdjacentElement("afterend", marker), (selector = dom.createRng()).setStartAfter(marker), selector.setEndAfter(marker), selector.collapse(), selection.setRng(selector), dom.remove(marker), dom.setAttrib(node, "data-mce-selected", null), 1) : void 0; } function relocateCursorBeforeInline(selector) { var node, rng = selection.getRng(), container = rng.startContainer; return (node = container.parentNode) && node != editor.dom.getRoot() && (node = (node = dom.getParent(node, selector)) || 1 != container.nodeType ? node : dom.getParent(container, selector)) && isCursorAtStart(rng, container, node) ? (marker = dom.create("span", { "data-mce-type": "caret" }, "\ufeff"), node.insertAdjacentElement("beforebegin", marker), (selector = dom.createRng()).setStartBefore(marker), selector.setEndBefore(marker), selection.setRng(selector), dom.remove(marker), dom.setAttrib(node, "data-mce-selected", null), 1) : void 0; } function ensureZwspAtAnchorStart() { var rng = selection.getRng(); if (rng && rng.collapsed) { var container = rng.startContainer, anchor = dom.getParent(container, "a"), container = anchor || isCursorAtStart(rng, container, null); if (container && (!anchor || (rng = normalizePos(CaretPosition.fromRangeStart(rng), !1), null === new CaretWalker(anchor).prev(rng)))) { for (var current, firstText = null, walker = new TreeWalker(container, container); current = walker.next(); ) if (3 == current.nodeType) { firstText = current; break; } firstText && (Zwsp.isZwsp(firstText.data[0]) || (firstText.data = Zwsp.ZWSP + firstText.data), anchor) && ((rng = dom.createRng()).setStart(firstText, 1), rng.setEnd(firstText, 1), selection.setRng(rng)); } } } function removeRuntimeStyle(node) { var style = node.attr("style"); style && "color:inherit;font-family:inherit;font-size:1rem;" === (style = style.replace(/\s/g, "")) && node.unwrap(); } function fixLinks() { each(dom.select("a"), function(node) { var parentNode = node.parentNode, root = dom.getRoot(); if (parentNode.lastChild === node) { for (;parentNode && !dom.isBlock(parentNode); ) { if (parentNode.parentNode.lastChild !== parentNode || parentNode === root) return; parentNode = parentNode.parentNode; } dom.add(parentNode, "br", { "data-mce-bogus": 1 }); } }); } function setOpts() { setEditorCommandState("StyleWithCSS", !1), setEditorCommandState("enableInlineTableEditing", !1), settings.object_resizing || setEditorCommandState("enableObjectResizing", !1); } function getAttributeApplyFunction() { var template = dom.getAttribs(selection.getStart().cloneNode(!1)); return function() { var target = selection.getStart(); target !== dom.getRoot() && (dom.setAttrib(target, "style", null), each(template, function(attr) { target.setAttributeNode(attr.cloneNode(!0)); })); }; } function isSelectionAcrossElements() { return !selection.isCollapsed() && dom.getParent(selection.getStart(), dom.isBlock) != dom.getParent(selection.getEnd(), dom.isBlock); } editor.onKeyUp.addToTop(normalize), editor.onMouseUp.addToTop(normalize), editor.onKeyDown.add(function(editor, e) { var container, offset, root, parent; if (!isDefaultPrevented(e) && e.keyCode == VK.BACKSPACE && (container = (e = selection.getRng()).startContainer, offset = e.startOffset, root = dom.getRoot(), parent = container, e.collapsed) && 0 === offset) { for (;parent && parent.parentNode && parent.parentNode.firstChild == parent && parent.parentNode != root; ) parent = parent.parentNode; "BLOCKQUOTE" === parent.tagName && (editor.formatter.toggle("blockquote", null, parent), (e = dom.createRng()).setStart(container, 0), e.setEnd(container, 0), selection.setRng(e)); } }), editor.onKeyDown.add(function(editor, e) { var root, keyCode = e.keyCode; isDefaultPrevented(e) || keyCode != DELETE && keyCode != BACKSPACE || (keyCode = editor.selection.isCollapsed(), root = dom.getRoot(), keyCode && !dom.isEmpty(root)) || (keyCode || allContentsSelected(editor.selection.getRng())) && (e.preventDefault(), editor.setContent(""), root.firstChild && dom.isBlock(root.firstChild) ? editor.selection.setCursorLocation(root.firstChild, 0) : editor.selection.setCursorLocation(root, 0), editor.nodeChanged()); }), Zwsp = tinymce.text.Zwsp, CaretPosition = tinymce.caret.CaretPosition, CaretContainer = tinymce.caret.CaretContainer, CaretWalker = tinymce.caret.CaretWalker, editor.onKeyDown.addToTop(function(editor, e) { switch (dom.remove(marker), e.keyCode) { case VK.RIGHT: relocateCursorOutOfInline('a,span[data-mce-item="font"]') && (e.preventDefault(), editor.nodeChanged()); break; case VK.LEFT: relocateCursorBeforeInline('a,span[data-mce-item="font"]') && (e.preventDefault(), editor.nodeChanged()); break; case VK.ENTER: relocateCursorOutOfInline('a,span[data-mce-item="font"]') && editor.nodeChanged(); } }), editor.onMouseUp.add(function(editor, e) { dom.remove(marker), ensureZwspAtAnchorStart(), relocateCursorOutOfInline('span[data-mce-item="font"]') && editor.nodeChanged(); }), tinymce.isWebKit && editor.onBeforeInput.add(function(editor, e) { if ("insertText" === e.inputType && (e = selection.getRng()) && e.collapsed) { var container = e.startContainer, anchor = dom.getParent(container, "a"); if (container = isCursorAtStart(e, container, anchor)) anchor = container; else if (!anchor) return; var current, anchorOffset, textNode = null, walker = new TreeWalker(anchor, anchor); if (isCursorAtEnd(e, 0, anchor)) { for (;current = walker.next(); ) 3 == current.nodeType && (textNode = current); if (!textNode) return; 0 !== textNode.data.length && textNode.data[textNode.data.length - 1] === Zwsp.ZWSP || (textNode.data += Zwsp.ZWSP), anchorOffset = textNode.data.length - 1; } textNode && ((container = dom.createRng()).setStart(textNode, anchorOffset), container.setEnd(textNode, anchorOffset), selection.setRng(container)); } }), editor.onKeyUp.add(function(_editor, e) { e.keyCode !== VK.LEFT && e.keyCode !== VK.RIGHT || (ensureZwspAtAnchorStart(), e = selection.getStart(!0), dom.getParent(e, 'a,span[data-mce-item="font"]')) || each(dom.select('[data-mce-selected="inline-boundary"]', dom.getRoot()), function(el) { dom.setAttrib(el, "data-mce-selected", null); }); }), editor.onNodeChange.add(function(editor, cm, node) { var inlineNode = dom.getParent(node, 'a,span[data-mce-item="font"]'); tinymce.isWebKit && each(dom.select('a[data-mce-selected="inline-boundary"]', dom.getRoot()), function(el) { if (el !== inlineNode) { for (var current, walker = new TreeWalker(el, el), firstText = null, lastText = null; current = walker.next(); ) 3 == current.nodeType && (firstText = firstText || current, lastText = current); firstText && firstText.data && (firstText.data = Zwsp.trim(firstText.data)), lastText && lastText.data && (lastText.data = Zwsp.trim(lastText.data)); } }), each(dom.select('[data-mce-selected="inline-boundary"]', dom.getRoot()), function(el) { dom.setAttrib(el, "data-mce-selected", null); }), inlineNode && dom.setAttrib(inlineNode, "data-mce-selected", "inline-boundary"); }), tinymce.isWebKit && (function() { var dom = editor.dom, selection = editor.selection, MutationObserver = window.MutationObserver; function isSiblingsIgnoreWhiteSpace(node1, node2) { for (var node = node1.nextSibling; node && node != node2; node = node.nextSibling) if ((3 != node.nodeType || 0 !== tinymce.trim(node.data).length) && node !== node2) return; return node === node2; } function findCaretNode(node, forward, startNode) { var walker, current, nonEmptyElements, rootNode = dom.getRoot(); if (dom.isChildOf(node, rootNode)) for (nonEmptyElements = dom.schema.getNonEmptyElements(), walker = new TreeWalker(startNode || node, node); current = walker[forward ? "next" : "prev"](); ) { if (nonEmptyElements[current.nodeName] && !function(node) { var blockElements = dom.schema.getBlockElements(), rootNode = dom.getRoot(); if ("BR" == node.nodeName) { for (;node != rootNode && !blockElements[node.nodeName]; node = node.parentNode) if (node.nextSibling) return; return 1; } }(current)) return current; if (3 == current.nodeType && 0 < current.data.length) return current; } } function handleLastBlockCharacterDelete(isForward, rng) { var blockElm, newBlockElm, clonedBlockElm, sibling, container, offset, br, currentFormatNodes; function cloneTextBlockWithFormats(blockElm, node) { return currentFormatNodes = dom.getParents(node, function(n) { return !!editor.schema.getTextInlineElements()[n.nodeName]; }), newBlockElm = blockElm.cloneNode(!1), (currentFormatNodes = tinymce.map(currentFormatNodes, function(formatNode) { return formatNode = formatNode.cloneNode(!1), newBlockElm.hasChildNodes() && formatNode.appendChild(newBlockElm.firstChild), newBlockElm.appendChild(formatNode), newBlockElm.appendChild(formatNode), formatNode; })).length ? (br = dom.create("br"), currentFormatNodes[0].appendChild(br), dom.replace(newBlockElm, blockElm), rng.setStartBefore(br), rng.setEndBefore(br), editor.selection.setRng(rng), br) : null; } function isTextBlock(node) { return node && editor.schema.getTextBlockElements()[node.tagName]; } if (rng.collapsed && (container = rng.startContainer, offset = rng.startOffset, isTextBlock(blockElm = dom.getParent(container, dom.isBlock)))) { if (1 == container.nodeType) return (!(container = container.childNodes[offset]) || "BR" == container.tagName) && (sibling = isForward ? blockElm.nextSibling : blockElm.previousSibling, dom.isEmpty(blockElm)) && isTextBlock(sibling) && dom.isEmpty(sibling) && cloneTextBlockWithFormats(blockElm, container) && (dom.remove(sibling), 1); if (3 == container.nodeType) { if (sibling = function(rootNode, targetNode) { for (var path = []; targetNode && targetNode != rootNode; targetNode = targetNode.parentNode) path.push(tinymce.DOM.nodeIndex(targetNode, void 0)); return path; }(blockElm, container), container = function(path) { for (var children, node = clonedBlockElm, i = path.length - 1; 0 <= i; i--) { if (children = node.childNodes, path[i] > children.length - 1) return null; node = children[path[i]]; } return node; }((clonedBlockElm = blockElm.cloneNode(!0), sibling)), isForward) { if (offset >= container.data.length) return; container.deleteData(offset, 1); } else { if (offset <= 0) return; container.deleteData(offset - 1, 1); } return dom.isEmpty(clonedBlockElm) && cloneTextBlockWithFormats(blockElm, container); } } } function customDelete(isForward) { var mutationObserver, rng, caretElement, rootNode = editor.dom.getRoot(); !function(isForward) { return !(isForward = function(rng, isForward) { var container; if (rng.collapsed) { if (container = rng.startContainer, offset = rng.startOffset, 3 == container.nodeType) if (isForward) { if (offset < container.data.length) return rng; } else if (0 < offset) return rng; var caretNode = RangeUtils.getNode(container, offset), textBlock = dom.getParent(caretNode, dom.isBlock), targetCaretNode = findCaretNode(editor.getBody(), isForward, caretNode), targetTextBlock = dom.getParent(targetCaretNode, dom.isBlock), offset = 1 === container.nodeType && offset > container.childNodes.length - 1; if (caretNode && targetCaretNode && targetTextBlock && textBlock != targetTextBlock) if (isForward) { if (!isSiblingsIgnoreWhiteSpace(textBlock, targetTextBlock)) return rng; 1 == caretNode.nodeType ? "BR" == caretNode.nodeName ? rng.setStartBefore(caretNode) : rng.setStartAfter(caretNode) : rng.setStart(caretNode, caretNode.data.length), 1 == targetCaretNode.nodeType ? rng.setEnd(targetCaretNode, 0) : rng.setEndBefore(targetCaretNode); } else { if (!isSiblingsIgnoreWhiteSpace(targetTextBlock, textBlock)) return rng; 1 == targetCaretNode.nodeType ? "BR" == targetCaretNode.nodeName ? rng.setStartBefore(targetCaretNode) : rng.setStartAfter(targetCaretNode) : rng.setStart(targetCaretNode, targetCaretNode.data.length), 1 == caretNode.nodeType && offset ? rng.setEndAfter(caretNode) : rng.setEndBefore(caretNode); } } return rng; }(selection.getRng(), isForward)).collapsed && (startBlock = dom.getParent(RangeUtils.getNode(isForward.startContainer, isForward.startOffset), dom.isBlock), endBlock = dom.getParent(RangeUtils.getNode(isForward.endContainer, isForward.endOffset), dom.isBlock), textBlockElements = editor.schema.getTextBlockElements(), startBlock != endBlock) && textBlockElements[startBlock.nodeName] && textBlockElements[endBlock.nodeName] && "false" !== dom.getContentEditable(startBlock) && "false" !== dom.getContentEditable(endBlock) && (isForward.deleteContents(), textBlockElements = findCaretNode(startBlock, !1), caretNodeAfter = findCaretNode(endBlock, !0), textBlockElements && caretNodeAfter && (dom.isEmpty(endBlock) || (nodes = tinymce.toArray(endBlock.childNodes), each(nodes, function(node) { node && node.nodeType && startBlock.appendChild(node); })), dom.remove(endBlock)), each([ startBlock, endBlock ], function(node) { dom.isEmpty(node) && dom.remove(node); }), textBlockElements ? 1 == textBlockElements.nodeType ? "BR" == textBlockElements.nodeName ? (isForward.setStartBefore(textBlockElements), isForward.setEndBefore(textBlockElements)) : (isForward.setStartAfter(textBlockElements), isForward.setEndAfter(textBlockElements)) : (isForward.setStart(textBlockElements, textBlockElements.data.length), isForward.setEnd(textBlockElements, textBlockElements.data.length)) : caretNodeAfter && (1 == caretNodeAfter.nodeType ? (isForward.setStartBefore(caretNodeAfter), isForward.setEndBefore(caretNodeAfter)) : (isForward.setStart(caretNodeAfter, 0), isForward.setEnd(caretNodeAfter, 0))), selection.setRng(isForward), 1); var caretNodeAfter, nodes, startBlock, endBlock, textBlockElements; }(isForward) && (tinymce.each(rootNode.getElementsByTagName("*"), function(elm) { "SPAN" == elm.tagName && elm.setAttribute("data-mce-marked", 1), !elm.hasAttribute("data-mce-style") && elm.hasAttribute("style") && editor.dom.setAttrib(elm, "style", editor.dom.getAttrib(elm, "style")); }), (mutationObserver = new MutationObserver(function() {})).observe(editor.getDoc(), { childList: !0, attributes: !0, subtree: !0, attributeFilter: [ "style" ] }), editor.getDoc().execCommand(isForward ? "ForwardDelete" : "Delete", !1, null), rng = editor.selection.getRng(), caretElement = rng.startContainer.parentNode, tinymce.each(mutationObserver.takeRecords(), function(record) { var oldValue; dom.isChildOf(record.target, rootNode) && ("style" == record.attributeName && ((oldValue = record.target.getAttribute("data-mce-style")) ? record.target.setAttribute("style", oldValue) : record.target.removeAttribute("style")), tinymce.each(record.addedNodes, function(node) { if (1 !== node.nodeType) return !0; var offset, container; node.getAttribute("style") && !node.getAttribute("data-mce-style") && node.removeAttribute("style"), "SPAN" != node.nodeName || node.getAttribute("data-mce-marked") || (node == caretElement && (offset = rng.startOffset, container = node.firstChild), dom.remove(node, !0), container && (rng.setStart(container, offset), rng.setEnd(container, offset), editor.selection.setRng(rng))); })); }), mutationObserver.disconnect(), tinymce.each(editor.dom.select("span[data-mce-marked]", editor.dom.getRoot()), function(span) { span.removeAttribute("data-mce-marked"); })); } editor.onKeyDown.add(function(editor, e) { var rng, container, offset, isForward = e.keyCode == DELETE, isMetaOrCtrl = e.ctrlKey || e.metaKey; isDefaultPrevented(e) || !isForward && e.keyCode != BACKSPACE || (container = (rng = editor.selection.getRng()).startContainer, offset = rng.startOffset, isForward && e.shiftKey) || (handleLastBlockCharacterDelete(isForward, rng) ? e.preventDefault() : !isMetaOrCtrl && rng.collapsed && 3 == container.nodeType && (isForward ? offset < container.data.length : 0 < offset) || (e.preventDefault(), isMetaOrCtrl && editor.selection.getSel().modify("extend", isForward ? "forward" : "backward", e.metaKey ? "lineboundary" : "word"), customDelete(isForward))); }), editor.addCommand("Delete", function() { customDelete(); }), editor.addCommand("ForwardDelete", function() { customDelete(!0); }); }(), editor.settings.content_editable || dom.bind(editor.getDoc(), "mousedown mouseup", function(e) { var rng; e.target == editor.getDoc().documentElement && (rng = selection.getRng(), editor.getBody().focus(), "mousedown" == e.type ? selection.placeCaretAt(e.clientX, e.clientY) : selection.setRng(rng)); }), settings.forced_root_block && editor.onInit.add(function() { setEditorCommandState("DefaultParagraphSeparator", settings.forced_root_block); }), editor.onInit.add(function() { editor.dom.bind(editor.getBody(), "submit", function(e) { e.preventDefault(); }); }), disableBackspaceIntoATable(), parser.addNodeFilter("br", function(nodes) { for (var i = nodes.length; i--; ) "Apple-interchange-newline" == nodes[i].attr("class") && nodes[i].remove(); }), editor.onBeforeExecCommand.add(function(ed, cmd) { "mceInsertLink" == cmd && (cmd = ed.selection.getNode()) && "IMG" == cmd.nodeName && (ed.dom.setAttrib(cmd, "data-mce-style", cmd.style.cssText), cmd.style.cssText = null); }), editor.onExecCommand.add(function(ed, cmd) { "mceInsertLink" == cmd && (cmd = ed.selection.getNode(), tinymce.each(ed.dom.select("img[data-mce-style]", cmd), function(el) { "A" != el.parentNode.nodeName || el.style.cssText || (el.style.cssText = ed.dom.getAttrib(el, "data-mce-style")); })); }), selectControlElements(), editor.parser.addNodeFilter("span", function(nodes) { for (var i = nodes.length; i--; ) removeRuntimeStyle(nodes[i]); }), editor.serializer.addNodeFilter("span", function(nodes) { for (var i = nodes.length; i--; ) removeRuntimeStyle(nodes[i]); }), tinymce.isIOS ? (editor.onKeyDown.add(function() { document.activeElement == document.body && editor.getWin().focus(); }), bodyHeight(), editor.onClick.add(function(editor, e) { var elm = e.target; do { if ("A" === elm.tagName) return void e.preventDefault(); } while (elm = elm.parentNode); }), editor.contentStyles.push(".mce-content-body {-webkit-touch-callout: none}")) : selectAll()), tinymce.isIE && (bodyHeight(), selectAll(), setEditorCommandState("AutoUrlDetect", !1), editor.dom.bind("dragstart", function(e) { !function(e) { var selectionHtml; e.dataTransfer && (editor.selection.isCollapsed() && "IMG" == e.target.tagName && selection.select(e.target), 0 < (selectionHtml = editor.selection.getContent()).length) && (selectionHtml = "data:text/mce-internal," + escape(editor.id) + "," + escape(selectionHtml), e.dataTransfer.setData(mceInternalDataType, selectionHtml)); }(e); }), editor.dom.bind("dragstart", function(e) { var internalContent; isDefaultPrevented(e) || (internalContent = function(e) { return e.dataTransfer && (e = e.dataTransfer.getData(mceInternalDataType)) && 0 <= e.indexOf("data:text/mce-internal,") ? (e = e.substr("data:text/mce-internal,".length).split(","), { id: unescape(e[0]), html: unescape(e[1]) }) : null; }(e)) && internalContent.id != editor.id && (e.preventDefault(), e = RangeUtils.getCaretRangeFromPoint(e.x, e.y, editor.getDoc()), selection.setRng(e), e = internalContent.html, editor.queryCommandSupported("mceInsertClipboardContent") ? editor.execCommand("mceInsertClipboardContent", !1, { content: e }) : editor.execCommand("mceInsertContent", !1, e)); })), 11 <= tinymce.isIE && disableBackspaceIntoATable(), tinymce.isGecko && (editor.onKeyDown.add(function(editor, e) { var previousSibling; isDefaultPrevented(e) || e.keyCode !== BACKSPACE || editor.getBody().getElementsByTagName("hr").length && selection.isCollapsed() && 0 === selection.getRng(!0).startOffset && (previousSibling = (editor = selection.getNode()).previousSibling, "HR" == editor.nodeName ? (dom.remove(editor), e.preventDefault()) : previousSibling && previousSibling.nodeName && "hr" === previousSibling.nodeName.toLowerCase() && (dom.remove(previousSibling), e.preventDefault())); }), editor.onKeyPress.add(function(editor, e) { var applyAttributes; if (!isDefaultPrevented(e) && (8 == e.keyCode || 46 == e.keyCode) && isSelectionAcrossElements()) return applyAttributes = getAttributeApplyFunction(), editor.getDoc().execCommand("delete", !1, null), applyAttributes(), e.preventDefault(), !1; }), dom.bind(editor.getDoc(), "cut", function(e) { var applyAttributes; !isDefaultPrevented(e) && isSelectionAcrossElements() && (applyAttributes = getAttributeApplyFunction(), setTimeout(function() { applyAttributes(); }, 0)); }), settings.readonly || (editor.onBeforeExecCommand.add(setOpts), editor.onMouseDown.add(setOpts)), editor.onExecCommand.add(function(editor, cmd) { "mceInsertLink" === cmd && fixLinks(); }), editor.onSetContent.add(selection.onSetContent.add(fixLinks)), editor.contentStyles.push("img:-moz-broken {-moz-force-broken-image-icon:1;min-width:24px;min-height:24px}"), tinymce.isMac && editor.onKeyDown.add(function(editor, e) { !VK.metaKeyPressed(e) || e.shiftKey || 37 != e.keyCode && 39 != e.keyCode || (e.preventDefault(), editor.selection.getSel().modify("move", 37 == e.keyCode ? "backward" : "forward", "lineboundary")); }), disableBackspaceIntoATable(), selectControlElements()); }, function(tinymce) { var previewElm, each = tinymce.each, extend = tinymce.extend, rgba = {}, luma = {}; function getRGBA(val) { var r, b, g, a, values, match; return rgba[val] || (g = b = r = 0, -(a = 1) !== val.indexOf("#") ? (3 === (val = val.substr(1)).length && (val += val), r = parseInt(val.substring(0, 2), 16), g = parseInt(val.substring(2, 4), 16), b = parseInt(val.substring(4, 6), 16), 6 < val.length && (a = +((a = parseInt(val.substring(6, 8), 16)) / 255).toFixed(2))) : (val = val.replace(/\s/g, ""), (values = (match = /^(?:rgb|rgba)\(([^\)]*)\)$/.exec(val)) ? match[1].split(",").map(function(x) { return parseFloat(x); }) : values) && (r = values[0], g = values[1], b = values[2], 4 === values.length) && (a = values[3] || 1)), rgba[val] = { r: r, g: g, b: b, a: a }), rgba[val]; } function getLuminance(val) { var RsRGB, GsRGB, col; return luma[val] || (RsRGB = (col = getRGBA(val)).r / 255, GsRGB = col.g / 255, col = col.b / 255, RsRGB = RsRGB <= .03928 ? RsRGB / 12.92 : Math.pow((.055 + RsRGB) / 1.055, 2.4), GsRGB = GsRGB <= .03928 ? GsRGB / 12.92 : Math.pow((.055 + GsRGB) / 1.055, 2.4), col = col <= .03928 ? col / 12.92 : Math.pow((.055 + col) / 1.055, 2.4), luma[val] = .2126 * RsRGB + .7152 * GsRGB + .0722 * col), luma[val]; } function isReadable(color1, color2) { return color1 = getLuminance(color1), color2 = getLuminance(color2), 2 <= (Math.max(color1, color2) + .05) / (Math.min(color1, color2) + .05); } function hslToRgb(h, s, l) { function hue2rgb(p, q, t) { return t < 0 && (t += 1), 1 < t && --t, t < 1 / 6 ? p + 6 * (q - p) * t : t < .5 ? q : t < 2 / 3 ? p + (q - p) * (2 / 3 - t) * 6 : p; } var r, g, b; return h /= 360, 0 === s ? r = g = b = l : (r = hue2rgb(s = 2 * l - (l = l < .5 ? l * (1 + s) : l + s - l * s), l, h + 1 / 3), g = hue2rgb(s, l, h), b = hue2rgb(s, l, h - 1 / 3)), [ Math.round(255 * r), Math.round(255 * g), Math.round(255 * b) ]; } function getContrastRatio(c1, c2) { return c1 = getLuminance(c1), c2 = getLuminance(c2), (Math.max(c1, c2) + .05) / (Math.min(c1, c2) + .05); } function resetElm() { previewElm && previewElm.parentNode && (previewElm.parentNode.removeChild(previewElm), previewElm = null); } tinymce.util.PreviewCss = { getCssText: function(ed, fmt, reset) { var name, dom = ed.dom, previewCss = {}, previewStyles = (fmt = extend({ styles: [], attributes: [], classes: "" }, fmt), ed.settings.preview_styles); if (!1 === previewStyles) return ""; function removeVars(val) { return val && "string" == typeof val ? val.replace(/%(\w+)/g, "") : val; } previewStyles = previewStyles || "font-family font-size font-weight text-decoration text-transform background-color color", name = fmt.block || fmt.inline || "div", previewElm && previewElm.nodeName == name.toUpperCase() || (previewElm = dom.create(name), ed.getBody().appendChild(previewElm)), dom.removeAllAttribs(previewElm), each(fmt.styles, function(value, name) { (value = removeVars(value)) && dom.setStyle(previewElm, name, value); }), each(fmt.attributes, function(value, name) { (value = removeVars(value)) && dom.setAttrib(previewElm, name, value); }), each(fmt.classes, function(value) { value = removeVars(value), dom.addClass(previewElm, value); }), dom.setStyles(previewElm, { position: "absolute", left: -65535 }), previewElm.setAttribute("data-mce-type", "temp"); for (var bodybg = dom.getStyle(ed.getBody(), "background-color", !0), elmbg = dom.getStyle(previewElm, "background-color", !0), styles = previewStyles.split(" "), css = "", i = 0, len = styles.length; i < len; i++) { var key = styles[i], value = dom.getStyle(previewElm, key, !0); previewCss[key] || (value = ("color" != key || isReadable(value, elmbg = /transparent|rgba\s*\([^)]+,\s*0\)/.test(elmbg) ? "rgb(255, 255, 255)" : elmbg) ? value : value && isReadable(value, bodybg) ? bodybg : function(fgColor, bgColor, targetContrast, iterations) { if (null == iterations && (iterations = 20), getContrastRatio(fgColor, bgColor) >= targetContrast) return fgColor; for (var r = (col = getRGBA(fgColor)).r, g = col.g, col = col.b, lighten = getLuminance(fgColor) > getLuminance(bgColor), h = (fgColor = function(r, g, b) { r /= 255, g /= 255, b /= 255; var max = Math.max(r, g, b), l = (max + (min = Math.min(r, g, b))) / 2, d = max - min, h = 0, min = 0; if (0 != d) { switch (max) { case r: h = (g - b) / d + (g < b ? 6 : 0); break; case g: h = (b - r) / d + 2; break; case b: h = (r - g) / d + 4; } h *= 60, min = d / (1 - Math.abs(2 * l - 1)); } return [ h, min, l ]; }(r, g, col))[0], s = fgColor[1], origL = fgColor[2], low = 0, high = 1, bestL = origL, i = 0; i < iterations; i++) { var mid = (low + high) / 2, testL = lighten ? origL + mid * (1 - origL) : origL - mid * origL, rgb = hslToRgb(h, s, testL); getContrastRatio("#" + ("0" + rgb[0].toString(16)).slice(-2) + ("0" + rgb[1].toString(16)).slice(-2) + ("0" + rgb[2].toString(16)).slice(-2), bgColor) >= targetContrast ? (bestL = testL, high = mid) : low = mid; } return "#" + ("0" + (r = hslToRgb(h, s, bestL))[0].toString(16)).slice(-2) + ("0" + r[1].toString(16)).slice(-2) + ("0" + r[2].toString(16)).slice(-2); }(value, elmbg, 2)) || "inherit", "font-size" == key && 0 === parseInt(value, 10) && (value = "inherit"), css += key + ":" + (previewCss[key] = value) + ";"); } return reset && resetElm(), css; }, reset: resetElm }; }(tinymce), function(tinymce) { var isArray = Array.isArray || function(obj) { return "[object Array]" === Object.prototype.toString.call(obj); }; function each(o, cb, s) { var n, l; if (!o) return 0; if (s = s || o, void 0 !== o.length) { for (n = 0, l = o.length; n < l; n++) if (!1 === cb.call(s, o[n], n, o)) return 0; } else for (n in o) if (o.hasOwnProperty(n) && !1 === cb.call(s, o[n], n, o)) return 0; return 1; } function map(array, callback) { var out = []; return each(array, function(item, index) { out.push(callback(item, index, array)); }), out; } function indexOf(a, v) { var i, l; if (a) for (i = 0, l = a.length; i < l; i++) if (a[i] === v) return i; return -1; } function findIndex(array, predicate, thisArg) { for (var i = 0, l = array.length; i < l; i++) if (predicate.call(thisArg, array[i], i, array)) return i; return -1; } function flat(arr) { for (var out = [], i = 0, l = arr.length; i < l; i++) isArray(arr[i]) && Array.prototype.push.apply(out, arr[i]); return out; } function flatMap(array, callback) { return flat(map(array, callback)); } tinymce.util.Arr = { isArray: isArray, toArray: function(obj) { var i, l, array = obj; if (!isArray(obj)) for (array = [], i = 0, l = obj.length; i < l; i++) array[i] = obj[i]; return array; }, each: each, map: map, filter: function(a, f) { var o = []; return each(a, function(v, index) { f && !f(v, index, a) || o.push(v); }), o; }, indexOf: indexOf, reduce: function(collection, iteratee, accumulator, thisArg) { var i = 0; for (arguments.length < 3 && (accumulator = collection[0]); i < collection.length; i++) accumulator = iteratee.call(thisArg, accumulator, collection[i], i); return accumulator; }, findIndex: findIndex, find: function(array, predicate, thisArg) { if (-1 !== (predicate = findIndex(array, predicate, thisArg))) return array[predicate]; }, last: function(collection) { return collection[collection.length - 1]; }, toObject: function(array, callback) { for (var object = {}, i = 0, l = array.length; i < l; i++) { var x = array[i]; object[x] = callback(x, i); } return object; }, flat: flat, flatMap: flatMap, bind: flatMap, contains: function(a, v) { return -1 < indexOf(a, v); }, forall: function(xs, pred) { for (var i = 0, len = xs.length; i < len; ++i) if (!0 !== pred(xs[i], i)) return !1; return !0; } }; }(tinymce), function(tinymce) { var slice = [].slice; function curry(fn) { var args = slice.call(arguments); return args.length - 1 >= fn.length ? fn.apply(this, args.slice(1)) : function() { var tempArgs = args.concat([].slice.call(arguments)); return curry.apply(this, tempArgs); }; } tinymce.util.Fun = { constant: function(value) { return function() { return value; }; }, negate: function(predicate) { return function(x) { return !predicate(x); }; }, and: function() { var args = slice.call(arguments); return function(x) { for (var i = 0; i < args.length; i++) if (!args[i](x)) return !1; return !0; }; }, or: function() { var args = slice.call(arguments); return function(x) { for (var i = 0; i < args.length; i++) if (args[i](x)) return !0; return !1; }; }, curry: curry, compose: function(f, g) { return function(x) { return f(g(x)); }; }, noop: function() {} }; }(tinymce), function(tinymce) { var extendingChars = new RegExp("[\u0300-\u036f\u0483-\u0487\u0488-\u0489\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u0610-\u061a\u064b-\u065f\u0670\u06d6-\u06dc\u06df-\u06e4\u06e7-\u06e8\u06ea-\u06ed\u0711\u0730-\u074a\u07a6-\u07b0\u07eb-\u07f3\u0816-\u0819\u081b-\u0823\u0825-\u0827\u0829-\u082d\u0859-\u085b\u08e3-\u0902\u093a\u093c\u0941-\u0948\u094d\u0951-\u0957\u0962-\u0963\u0981\u09bc\u09be\u09c1-\u09c4\u09cd\u09d7\u09e2-\u09e3\u0a01-\u0a02\u0a3c\u0a41-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a70-\u0a71\u0a75\u0a81-\u0a82\u0abc\u0ac1-\u0ac5\u0ac7-\u0ac8\u0acd\u0ae2-\u0ae3\u0b01\u0b3c\u0b3e\u0b3f\u0b41-\u0b44\u0b4d\u0b56\u0b57\u0b62-\u0b63\u0b82\u0bbe\u0bc0\u0bcd\u0bd7\u0c00\u0c3e-\u0c40\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c62-\u0c63\u0c81\u0cbc\u0cbf\u0cc2\u0cc6\u0ccc-\u0ccd\u0cd5-\u0cd6\u0ce2-\u0ce3\u0d01\u0d3e\u0d41-\u0d44\u0d4d\u0d57\u0d62-\u0d63\u0dca\u0dcf\u0dd2-\u0dd4\u0dd6\u0ddf\u0e31\u0e34-\u0e3a\u0e47-\u0e4e\u0eb1\u0eb4-\u0eb9\u0ebb-\u0ebc\u0ec8-\u0ecd\u0f18-\u0f19\u0f35\u0f37\u0f39\u0f71-\u0f7e\u0f80-\u0f84\u0f86-\u0f87\u0f8d-\u0f97\u0f99-\u0fbc\u0fc6\u102d-\u1030\u1032-\u1037\u1039-\u103a\u103d-\u103e\u1058-\u1059\u105e-\u1060\u1071-\u1074\u1082\u1085-\u1086\u108d\u109d\u135d-\u135f\u1712-\u1714\u1732-\u1734\u1752-\u1753\u1772-\u1773\u17b4-\u17b5\u17b7-\u17bd\u17c6\u17c9-\u17d3\u17dd\u180b-\u180d\u18a9\u1920-\u1922\u1927-\u1928\u1932\u1939-\u193b\u1a17-\u1a18\u1a1b\u1a56\u1a58-\u1a5e\u1a60\u1a62\u1a65-\u1a6c\u1a73-\u1a7c\u1a7f\u1ab0-\u1abd\u1abe\u1b00-\u1b03\u1b34\u1b36-\u1b3a\u1b3c\u1b42\u1b6b-\u1b73\u1b80-\u1b81\u1ba2-\u1ba5\u1ba8-\u1ba9\u1bab-\u1bad\u1be6\u1be8-\u1be9\u1bed\u1bef-\u1bf1\u1c2c-\u1c33\u1c36-\u1c37\u1cd0-\u1cd2\u1cd4-\u1ce0\u1ce2-\u1ce8\u1ced\u1cf4\u1cf8-\u1cf9\u1dc0-\u1df5\u1dfc-\u1dff\u200c-\u200d\u20d0-\u20dc\u20dd-\u20e0\u20e1\u20e2-\u20e4\u20e5-\u20f0\u2cef-\u2cf1\u2d7f\u2de0-\u2dff\u302a-\u302d\u302e-\u302f\u3099-\u309a\ua66f\ua670-\ua672\ua674-\ua67d\ua69e-\ua69f\ua6f0-\ua6f1\ua802\ua806\ua80b\ua825-\ua826\ua8c4\ua8e0-\ua8f1\ua926-\ua92d\ua947-\ua951\ua980-\ua982\ua9b3\ua9b6-\ua9b9\ua9bc\ua9e5\uaa29-\uaa2e\uaa31-\uaa32\uaa35-\uaa36\uaa43\uaa4c\uaa7c\uaab0\uaab2-\uaab4\uaab7-\uaab8\uaabe-\uaabf\uaac1\uaaec-\uaaed\uaaf6\uabe5\uabe8\uabed\ufb1e\ufe00-\ufe0f\ufe20-\ufe2f\uff9e-\uff9f]"); tinymce.text.ExtendingChar = { isExtendingChar: function(ch) { return "string" == typeof ch && 768 <= ch.charCodeAt(0) && extendingChars.test(ch); } }; }(tinymce), function(tinymce) { tinymce.text.Zwsp = { isZwsp: function(chr) { return "\ufeff" === chr; }, ZWSP: "\ufeff", trim: function(text) { return text.replace(new RegExp("\ufeff", "g"), ""); } }; }(tinymce), tinymce.util.Arr), contentEditable = tinymce.util.Fun, Uuid = tinymce.util.Uuid, cache = [], constant = contentEditable.constant; function get(id) { return findFirst(function(cachedBlobInfo) { return cachedBlobInfo.id() === id; }); } function findFirst(predicate) { return Arr.filter(cache, predicate)[0]; } function parseDataUri(uri) { var type, matches; return uri = decodeURIComponent(uri).split(","), { type: type = (matches = /data:([^;]+)/.exec(uri[0])) ? matches[1] : type, data: uri[1] }; } tinymce.file.BlobCache = { create: function(o, blob, base64, filename) { return function(o) { var id, name; if (o.blob && o.base64) return id = o.id || Uuid.uuid("blobid"), name = o.name || id, { id: constant(id), name: constant(name), filename: constant(name + "." + ({ "image/jpeg": "jpg", "image/jpg": "jpg", "image/gif": "gif", "image/png": "png" }[o.blob.type.toLowerCase()] || "dat")), blob: constant(o.blob), base64: constant(o.base64), blobUri: constant(o.blobUri || URL.createObjectURL(o.blob)), uri: constant(o.uri) }; throw "blob and base64 representations of the image are required for BlobInfo to be created"; }("object" == typeof o ? o : { id: o, name: filename, blob: blob, base64: base64 }); }, add: function(blobInfo) { get(blobInfo.id()) || cache.push(blobInfo); }, get: get, getByUri: function(blobUri) { return findFirst(function(blobInfo) { return blobInfo.blobUri() == blobUri; }); }, findFirst: findFirst, removeByUri: function(blobUri) { cache = Arr.filter(cache, function(blobInfo) { return blobInfo.blobUri() !== blobUri || (URL.revokeObjectURL(blobInfo.blobUri()), !1); }); }, destroy: function() { Arr.each(cache, function(cachedBlobInfo) { URL.revokeObjectURL(cachedBlobInfo.blobUri()); }), cache = []; } }, tinymce.file.Conversions = { uriToBlob: function(url) { var uri; return 0 === url.indexOf("blob:") ? function(url) { return new Promise(function(resolve, reject) { function rejectWithError() { reject("Cannot convert " + url + " to Blob. Resource might not exist or is inaccessible."); } try { var xhr = new XMLHttpRequest(); xhr.open("GET", url, !0), xhr.responseType = "blob", xhr.onload = function() { 200 == this.status ? resolve(this.response) : rejectWithError(); }, xhr.onerror = rejectWithError, xhr.send(); } catch (ex) { rejectWithError(); } }); }(url) : 0 === url.indexOf("data:") ? (uri = url, new Promise(function(resolve) { var str, arr, i; uri = parseDataUri(uri); try { str = atob(uri.data); } catch (e) { return void resolve(new Blob([])); } for (arr = new Uint8Array(str.length), i = 0; i < arr.length; i++) arr[i] = str.charCodeAt(i); resolve(new Blob([ arr ], { type: uri.type })); })) : null; }, blobToDataUri: function(blob) { return new Promise(function(resolve) { var reader = new FileReader(); reader.onloadend = function() { resolve(reader.result); }, reader.readAsDataURL(blob); }); }, parseDataUri: parseDataUri }, function(tinymce) { var namedEntities, baseEntities, reverseEntities, attrsCharsRegExp = /[&<>\"\u0060\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, textCharsRegExp = /[<>&\u007E-\uD7FF\uE000-\uFFEF]|[\uD800-\uDBFF][\uDC00-\uDFFF]/g, rawCharsRegExp = /[<>&\"\']/g, entityRegExp = /&#([a-z0-9]+);?|&([a-z0-9]+);/gi, asciiMap = { 128: "\u20ac", 130: "\u201a", 131: "\u0192", 132: "\u201e", 133: "\u2026", 134: "\u2020", 135: "\u2021", 136: "\u02c6", 137: "\u2030", 138: "\u0160", 139: "\u2039", 140: "\u0152", 142: "\u017d", 145: "\u2018", 146: "\u2019", 147: "\u201c", 148: "\u201d", 149: "\u2022", 150: "\u2013", 151: "\u2014", 152: "\u02dc", 153: "\u2122", 154: "\u0161", 155: "\u203a", 156: "\u0153", 158: "\u017e", 159: "\u0178" }; function buildEntitiesLookup(items, radix) { var i, chr, entity, lookup = {}; if (items) { for (items = items.split(","), radix = radix || 10, i = 0; i < items.length; i += 2) chr = String.fromCharCode(parseInt(items[i], radix)), baseEntities[chr] || (entity = "&" + items[i + 1] + ";", lookup[chr] = entity, lookup[entity] = chr); return lookup; } } baseEntities = { '"': """, "'": "'", "<": "<", ">": ">", "&": "&", "`": "`" }, reverseEntities = { "<": "<", ">": ">", "&": "&", """: '"', "'": "'" }, namedEntities = buildEntitiesLookup("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro", 32), tinymce.html = tinymce.html || {}, tinymce.html.Entities = { encodeRaw: function(text, attr) { return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { return baseEntities[chr] || chr; }); }, encodeAllRaw: function(text) { return ("" + text).replace(rawCharsRegExp, function(chr) { return baseEntities[chr] || chr; }); }, encodeNumeric: function(text, attr) { return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { return 1 < chr.length ? "&#" + (1024 * (chr.charCodeAt(0) - 55296) + (chr.charCodeAt(1) - 56320) + 65536) + ";" : baseEntities[chr] || "&#" + chr.charCodeAt(0) + ";"; }); }, encodeNamed: function(text, attr, entities) { return entities = entities || namedEntities, text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { return baseEntities[chr] || entities[chr] || chr; }); }, getEncodeFunc: function(name, entities) { var Entities = tinymce.html.Entities; return entities = buildEntitiesLookup(entities) || namedEntities, (name = tinymce.makeMap(name.replace(/\+/g, ","))).named && name.numeric ? function(text, attr) { return text.replace(attr ? attrsCharsRegExp : textCharsRegExp, function(chr) { return baseEntities[chr] || entities[chr] || "&#" + chr.charCodeAt(0) + ";" || chr; }); } : name.named ? entities ? function(text, attr) { return Entities.encodeNamed(text, attr, entities); } : Entities.encodeNamed : name.numeric ? Entities.encodeNumeric : Entities.encodeRaw; }, decode: function(text) { return text.replace(entityRegExp, function(all, numeric) { return numeric ? 65535 < (numeric = "x" === numeric.charAt(0).toLowerCase() ? parseInt(numeric.substr(1), 16) : parseInt(numeric, 10)) ? (numeric -= 65536, String.fromCharCode(55296 + (numeric >> 10), 56320 + (1023 & numeric))) : asciiMap[numeric] || String.fromCharCode(numeric) : reverseEntities[all] || namedEntities[all] || (numeric = all, (all = document.createElement("div")).innerHTML = numeric, all.textContent) || all.innerText || numeric; }); } }; }(tinymce), tinymce.html.Styles = function(settings, schema) { var i, encodingItems, validStyles, invalidStyles, rgbRegExp = /rgb\s*\(\s*([0-9]+)\s*,\s*([0-9]+)\s*,\s*([0-9]+)\s*\)/gi, urlOrStrRegExp = /(?:url(?:(?:\(\s*\"([^\"]+)\"\s*\))|(?:\(\s*\'([^\']+)\'\s*\))|(?:\(\s*([^)\s]+)\s*\))))|(?:\'([^\']+)\')|(?:\"([^\"]+)\")/gi, styleRegExp = /\s*([^:]+):\s*([^;]+);?/g, trimRightRegExp = /\s+$/, encodingLookup = {}; for (settings = settings || {}, schema && (validStyles = schema.getValidStyles(), invalidStyles = schema.getInvalidStyles()), encodingItems = "\\\" \\' \\; \\: ; : \ufeff".split(" "), i = 0; i < encodingItems.length; i++) encodingLookup[encodingItems[i]] = "\ufeff" + i, encodingLookup["\ufeff" + i] = encodingItems[i]; function toHex(match, r, g, b) { function hex(val) { return 1 < (val = parseInt(val, 10).toString(16)).length ? val : "0" + val; } return "#" + hex(r) + hex(g) + hex(b); } return { toHex: function(color) { return color.replace(rgbRegExp, toHex); }, parse: function(css) { var matches, name, value, isEncoded, a, b, c, styles = {}, urlConverter = settings.url_converter, urlConverterScope = settings.url_converter_scope || this; function compress(prefix, suffix, noJoin) { var right, bottom, left, top = styles[prefix + "-top" + suffix]; if (top && (right = styles[prefix + "-right" + suffix]) && (bottom = styles[prefix + "-bottom" + suffix]) && (left = styles[prefix + "-left" + suffix])) { var box = [ top, right, bottom, left ]; for (i = box.length - 1; i-- && box[i] === box[i + 1]; ); -1 < i && noJoin || (styles[prefix + suffix] = -1 == i ? box[0] : box.join(" "), delete styles[prefix + "-top" + suffix], delete styles[prefix + "-right" + suffix], delete styles[prefix + "-bottom" + suffix], delete styles[prefix + "-left" + suffix]); } } function canCompress(key) { var i, value = styles[key]; if (value) { for (i = (value = value.split(" ")).length; i--; ) if (value[i] !== value[0]) return; return styles[key] = value[0], 1; } } function encode(str) { return isEncoded = !0, encodingLookup[str]; } function decode(str, keep_slashes) { return isEncoded && (str = str.replace(/\uFEFF[0-9]/g, function(str) { return encodingLookup[str]; })), keep_slashes ? str : str.replace(/\\([\'\";:])/g, "$1"); } function processUrl(match, url, url2, url3, str, str2) { if (str = str || str2) return "'" + (str = decode(str)).replace(/\'/g, "\\'") + "'"; if (url = decode(url || url2 || url3), !settings.allow_script_urls) { if (str2 = url.replace(/[\s\r\n]+/, ""), /(java|vb)script:/i.test(str2)) return ""; if (!settings.allow_svg_data_urls && /^data:image\/svg/i.test(str2)) return ""; } return "url('" + (url = urlConverter ? urlConverter.call(urlConverterScope, url, "style") : url).replace(/\'/g, "\\'") + "')"; } if (css) { for (css = (css = css.replace(/[\u0000-\u001F]/g, "")).replace(/\\[\"\';:\uFEFF]/g, encode).replace(/\"[^\"]+\"|\'[^\']+\'/g, function(str) { return str.replace(/[;:]/g, encode); }); matches = styleRegExp.exec(css); ) { if (name = matches[1].replace(trimRightRegExp, "").toLowerCase(), value = (value = matches[2].replace(trimRightRegExp, "")).replace(/\\[0-9a-f]+/g, function(e) { return String.fromCharCode(parseInt(e.substr(1), 16)); }), name && 0 < value.length) { if (!settings.allow_script_urls && ("behavior" == name || /expression\s*\(|\/\*|\*\//.test(value))) continue; "font-weight" === name && "700" === value ? value = "bold" : "color" !== name && "background-color" !== name || (value = value.toLowerCase()), value = (value = value.replace(rgbRegExp, toHex)).replace(urlOrStrRegExp, processUrl), styles[name] = isEncoded ? decode(value, !0) : value; } styleRegExp.lastIndex = matches.index + matches[0].length; } compress("border", "", !0), compress("border", "-width"), compress("border", "-color"), compress("border", "-style"), compress("padding", ""), compress("margin", ""), b = "border-style", c = "border-color", canCompress(a = "border-width") && canCompress(b) && canCompress(c) && (styles.border = styles[a] + " " + styles[b] + " " + styles[c], delete styles[a], delete styles[b], delete styles[c]), "medium none" === styles.border && delete styles.border, "none" === styles["border-image"] && delete styles["border-image"]; } return styles; }, serialize: function(styles, elementName) { var name, value, css = ""; function serializeStyles(name) { var i, l, value, styleList = validStyles[name]; if (styleList) for (i = 0, l = styleList.length; i < l; i++) name = styleList[i], void 0 !== (value = styles[name]) && 0 < value.length && (css += (0 < css.length ? " " : "") + name + ": " + value + ";"); } if (elementName && validStyles) serializeStyles("*"), serializeStyles(elementName); else for (name in styles) void 0 !== (value = styles[name]) && 0 < value.length && (invalidStyles && !function(name, elementName) { var styleMap = invalidStyles["*"]; return !(styleMap && styleMap[name] || (styleMap = invalidStyles[elementName]) && styleMap[name]); }(name, elementName) || (css += (0 < css.length ? " " : "") + name + ": " + value + ";")); return css; } }; }, function(tinymce) { var mapCache = {}, dummyObj = {}, makeMap = tinymce.makeMap, each = tinymce.each, extend = tinymce.extend, explode = tinymce.explode, inArray = tinymce.inArray; function split(items, delim) { return items ? items.split(delim || " ") : []; } function compileElementMap(value, mode) { var styles; return value && (styles = {}, each(value = "string" == typeof value ? { "*": value } : value, function(value, key) { styles[key] = styles[key.toUpperCase()] = ("map" == mode ? makeMap : explode)(value, /[, ]/); })), styles; } tinymce.html.Schema = function(settings) { var validStyles, invalidStyles, schemaItems, whiteSpaceElementsMap, selfClosingElementsMap, shortEndedElementsMap, boolAttrMap, validClasses, blockElementsMap, nonEmptyElementsMap, moveCaretBeforeOnEnterElementsMap, textBlockElementsMap, textInlineElementsMap, transparentElementsMap, type, globalAttributes, phrasingContent, flowContent, transparentContent, microdataAttributes, schema, elements = {}, children = {}, patternElements = [], customElementsMap = {}, specialElements = {}; function createLookupTable(option, default_value, extendWith) { var value = settings[option]; return value ? value = makeMap(value, /[, ]/, makeMap(value.toUpperCase(), /[, ]/)) : (value = mapCache[option]) || (value = makeMap(default_value, " ", makeMap(default_value.toUpperCase(), " ")), value = extend(value, extendWith), mapCache[option] = value), value; } function add(name, attributes, children) { var i, args = arguments; function arrayToMap(array, obj) { for (var map = {}, i = 0, l = array.length; i < l; i++) map[array[i]] = obj || {}; return map; } for (attributes = attributes || "", children = "string" == typeof children ? split(children) : Array.isArray(children) ? children.slice() : [], i = 3; i < args.length; i++) { var extra = args[i]; if (extra) { if ("string" == typeof extra) extra = split(extra); else { if (!Array.isArray(extra)) continue; extra = extra.slice(); } children = children.concat(extra); } } for (var attributesOrder, attributes = split(attributes), baseAttrs = arrayToMap(attributesOrder = [].concat(attributes, globalAttributes)), names = split(name), ni = names.length; ni--; ) schema[names[ni]] = { attributes: baseAttrs, attributesOrder: attributesOrder, children: arrayToMap(children, dummyObj) }; } function addAttrs(name, attributes) { var schemaItem, i, l, ni = (name = split(name)).length; for (attributes = split(attributes); ni--; ) for (schemaItem = schema[name[ni]], i = 0, l = attributes.length; i < l; i++) schemaItem.attributes[attributes[i]] || (schemaItem.attributes[attributes[i]] = {}, schemaItem.attributesOrder.push(attributes[i])); } function patternToRegExp(str) { return new RegExp("^" + str.replace(/([?+*])/g, ".$1") + "$"); } function addValidElements(validElements) { var ei, el, ai, al, matches, element, attr, attrData, elementName, attrName, attrType, attributes, attributesOrder, prefix, outputName, globalAttributes, globalAttributesOrder, key, value, elementRuleRegExp = /^([#+\-])?([^\[!\/]+)(?:\/([^\[!]+))?(?:(!?)\[([^\]]+)\])?$/, attrRuleRegExp = /^([!\-])?(\w+::\w+|[^=:<]+)?(?:([=:<])(.*))?$/, hasPatternsRegExp = /[*?+]/; if (validElements) for (validElements = split(validElements, ","), elements["@"] && (globalAttributes = elements["@"].attributes, globalAttributesOrder = elements["@"].attributesOrder), ei = 0, el = validElements.length; ei < el; ei++) if (matches = elementRuleRegExp.exec(validElements[ei])) { if (prefix = matches[1], elementName = matches[2], outputName = matches[3], attrData = matches[5], element = { attributes: attributes = {}, attributesOrder: attributesOrder = [] }, "#" === prefix && (element.paddEmpty = !0), "-" === prefix && (element.removeEmpty = !0), "!" === matches[4] && (element.removeEmptyAttrs = !0), globalAttributes) { for (key in globalAttributes) attributes[key] = globalAttributes[key]; attributesOrder.push.apply(attributesOrder, globalAttributesOrder); } if (attrData) for (ai = 0, al = (attrData = split(attrData, "|")).length; ai < al; ai++) (matches = attrRuleRegExp.exec(attrData[ai])) && (attr = {}, attrType = matches[1], attrName = matches[2].replace(/::/g, ":"), prefix = matches[3], value = matches[4], "!" === attrType && (element.attributesRequired = element.attributesRequired || [], element.attributesRequired.push(attrName), attr.required = !0), "-" === attrType ? (delete attributes[attrName], attributesOrder.splice(inArray(attributesOrder, attrName), 1)) : (prefix && ("=" === prefix && (element.attributesDefault = element.attributesDefault || [], element.attributesDefault.push({ name: attrName, value: value }), attr.defaultValue = value), ":" === prefix && (element.attributesForced = element.attributesForced || [], element.attributesForced.push({ name: attrName, value: value }), attr.forcedValue = value), "<" === prefix) && (attr.validValues = makeMap(value, "?")), hasPatternsRegExp.test(attrName) ? (element.attributePatterns = element.attributePatterns || [], attr.pattern = patternToRegExp(attrName), element.attributePatterns.push(attr)) : (attributes[attrName] || attributesOrder.push(attrName), attributes[attrName] = attr))); globalAttributes || "@" != elementName || (globalAttributes = attributes, globalAttributesOrder = attributesOrder), outputName && (element.outputName = elementName, elements[outputName] = element), hasPatternsRegExp.test(elementName) ? (element.pattern = patternToRegExp(elementName), patternElements.push(element)) : elements[elementName] = element; } } function setValidElements(validElements) { elements = {}, patternElements = [], addValidElements(validElements), each(schemaItems, function(element, name) { children[name] = element.children; }); } function addCustomElements(customElements) { var customElementRegExp = /^(~)?(.+)$/; customElements && (mapCache.text_block_elements = mapCache.block_elements = null, each(split(customElements, ","), function(rule) { var inline = "~" === (rule = customElementRegExp.exec(rule))[1], cloneName = inline ? "span" : "div", name = rule[2]; children[name] = children[cloneName], customElementsMap[name] = cloneName, inline || (blockElementsMap[name.toUpperCase()] = {}, blockElementsMap[name] = {}), elements[name] || (rule = elements[cloneName], delete (rule = extend({}, rule)).removeEmptyAttrs, delete rule.removeEmpty, elements[name] = rule), each(children, function(element, elmName) { element[cloneName] && (children[elmName] = element = extend({}, children[elmName]), element[name] = element[cloneName]); }); })); } function addValidChildren(validChildren) { var childRuleRegExp = /^([+\-]?)(\w+)\[([^\]]+)\]$/; validChildren && each(split(validChildren, ","), function(rule) { var parent, prefix, matches = childRuleRegExp.exec(rule); matches && (prefix = matches[1], parent = prefix ? children[matches[2]] : children[matches[2]] = { "#comment": {} }, parent = children[matches[2]], each(split(matches[3], "|"), function(child) { "-" === prefix ? (children[matches[2]] = parent = extend({}, children[matches[2]]), delete parent[child]) : parent[child] = {}; })); }); } function getElementRule(name) { var i, element = elements[name]; if (element) return element; for (i = patternElements.length; i--; ) if ((element = patternElements[i]).pattern.test(name)) return element; } type = (settings = settings || {}).schema, schema = {}, schemaItems = mapCache[type] || (globalAttributes = split("id accesskey class dir lang style tabindex title"), microdataAttributes = split("itemprop itemscope itemtype itemid itemref"), globalAttributes.push.apply(globalAttributes, microdataAttributes), microdataAttributes = split("onclick ondblclick onmousedown onmouseup onmouseover onmousemove onmouseout onkeypress onkeydown onkeyup"), "html4" != type && microdataAttributes.push.apply(microdataAttributes, split("onabort onblur oncancel oncanplay oncanplaythrough onchange onclose oncontextmenu oncuechange ondrag ondragend ondragenter ondragleave ondragover ondragstart ondrop ondurationchange onemptied onended onerror onfocus oninput oninvalid onload onloadeddata onloadedmetadata onloadstart onmouseenter onmouseleave onmousewheel onpause onplay onplaying onprogress onratechange onreset onscroll onseeked onseeking onseeking onselect onshow onstalled onsubmit onsuspend ontimeupdate onvolumechange onwaiting onwheel")), globalAttributes.push.apply(globalAttributes, microdataAttributes), globalAttributes.push.apply(globalAttributes, split("role")), microdataAttributes = split("address blockquote div dl fieldset form h1 h2 h3 h4 h5 h6 hr menu ol p pre table ul template"), phrasingContent = split("a abbr b bdo br button cite code del dfn em embed i iframe img input ins kbd label map noscript object q s samp script select small span strong sub sup textarea u var link style #text #comment"), transparentContent = split("a ins del canvas map"), "html4" != type && (globalAttributes.push.apply(globalAttributes, split("contenteditable contextmenu draggable dropzone hidden spellcheck translate")), microdataAttributes.push.apply(microdataAttributes, split("article aside details dialog figure header footer hgroup section nav")), microdataAttributes.push.apply(microdataAttributes, transparentContent), phrasingContent.push.apply(phrasingContent, split("audio canvas command datalist mark meter output picture progress time wbr video ruby bdi keygen"))), "html5-strict" != type && (globalAttributes.push("xml:lang"), transparentContent = split("acronym applet basefont big font strike tt"), phrasingContent.push.apply(phrasingContent, transparentContent), each(transparentContent, function(name) { add(name, "", phrasingContent); }), transparentContent = split("center dir isindex noframes"), microdataAttributes.push.apply(microdataAttributes, transparentContent), flowContent = [].concat(microdataAttributes, phrasingContent), each(transparentContent, function(name) { add(name, "", flowContent); })), flowContent = flowContent || [].concat(microdataAttributes, phrasingContent), add("html", "manifest", "head body"), add("head", "", "base command link meta noscript script style title"), add("title hr noscript br"), add("base", "href target"), add("link", "href rel media hreflang type sizes"), add("meta", "name http-equiv content charset"), add("style", "media type scoped"), add("script", "src async defer type charset"), add("body", "onafterprint onbeforeprint onbeforeunload onblur onerror onfocus onhashchange onload onmessage onoffline ononline onpagehide onpageshow onpopstate onresize onscroll onstorage onunload", flowContent), add("address dt dd div caption", "", flowContent), add("h1 h2 h3 h4 h5 h6 pre p abbr code var samp kbd sub sup i b u bdo span legend em strong small s cite dfn", "", phrasingContent), add("blockquote", "cite", flowContent), add("ol", "reversed start type", "li"), add("ul", "", "li"), add("li", "value", flowContent), add("dl", "", "dt dd"), add("a", "href target rel media hreflang type", phrasingContent), add("q", "cite", phrasingContent), add("ins del", "cite datetime", flowContent), add("img", "src sizes srcset alt usemap ismap width height"), add("iframe", "src name width height", flowContent), add("embed", "src type width height"), add("object", "data type typemustmatch name usemap form width height", flowContent.concat([ "param" ]).join(" ")), add("param", "name value"), add("map", "name", flowContent.concat([ "area" ]).join(" ")), add("area", "alt coords shape href target rel media hreflang type"), add("table", "border", "caption colgroup thead tfoot tbody tr" + ("html4" == type ? " col" : "")), add("colgroup", "span", "col"), add("col", "span"), add("tbody thead tfoot", "", "tr"), add("tr", "", "td th"), add("td", "colspan rowspan headers", flowContent), add("th", "colspan rowspan headers scope abbr", flowContent), add("form", "accept-charset action autocomplete enctype method name novalidate target", flowContent), add("fieldset", "disabled form name", flowContent.concat([ "legend" ]).join(" ")), add("label", "form for", phrasingContent), add("input", "accept alt autocomplete checked dirname disabled form formaction formenctype formmethod formnovalidate formtarget height list max maxlength min multiple name pattern readonly required size src step type value width"), add("button", "disabled form formaction formenctype formmethod formnovalidate formtarget name type value", "html4" == type ? flowContent : phrasingContent), add("select", "disabled form multiple name required size", "option optgroup"), add("optgroup", "disabled label", "option"), add("option", "disabled label selected value"), add("textarea", "cols dirname disabled form maxlength name readonly required rows wrap"), add("menu", "type label", flowContent, "li"), add("noscript", "", flowContent), add("code", "", phrasingContent), "html4" != type && (add("wbr"), add("ruby", "", phrasingContent.concat([ "rt", "rp" ]).join(" ")), add("figcaption", "", flowContent), add("mark rt rp summary bdi", "", phrasingContent), add("canvas", "width height", flowContent), add("video", "src crossorigin poster preload autoplay mediagroup loop muted controls width height buffered controlslist playsinline", flowContent.concat([ "track", "source" ]).join(" ")), add("audio", "src crossorigin preload autoplay mediagroup loop muted controls buffered volume controlslist", flowContent.concat([ "track", "source" ]).join(" ")), add("picture", "", "img source"), add("source", "src srcset type media sizes"), add("track", "kind src srclang label default"), add("datalist", "", phrasingContent.concat([ "option" ]).join(" ")), add("article section nav aside header footer", "", flowContent), add("hgroup", "", "h1 h2 h3 h4 h5 h6"), add("figure", "", flowContent.concat([ "figcaption" ]).join(" ")), add("time", "datetime", phrasingContent), add("dialog", "open", flowContent), add("command", "type label icon disabled checked radiogroup command"), add("output", "for form name", phrasingContent), add("progress", "value max", phrasingContent), add("meter", "value min max low high optimum", phrasingContent), add("details", "open", flowContent.concat([ "summary" ]).join(" ")), add("keygen", "autofocus challenge disabled form keytype name"), add("a", "href target rel media hreflang type", flowContent)), addAttrs("form", "onblur onchange onfocus onselect onsubmit"), "html5-strict" != type && (addAttrs("script", "language xml:space"), addAttrs("style", "xml:space"), addAttrs("object", "declare classid code codebase codetype archive standby align border hspace vspace"), addAttrs("embed", "align name hspace vspace"), addAttrs("param", "valuetype type"), addAttrs("a", "charset name rev shape coords"), addAttrs("br", "clear"), addAttrs("applet", "codebase archive code object alt name width height align hspace vspace"), addAttrs("img", "name longdesc align border hspace vspace"), addAttrs("iframe", "longdesc frameborder marginwidth marginheight scrolling align"), addAttrs("font basefont", "size color face"), addAttrs("input", "usemap align"), addAttrs("select", "onchange"), addAttrs("textarea"), addAttrs("h1 h2 h3 h4 h5 h6 div p legend caption", "align"), addAttrs("ul", "type compact"), addAttrs("li", "type"), addAttrs("ol dl menu dir", "compact"), addAttrs("pre", "width xml:space"), addAttrs("hr", "align noshade size width"), addAttrs("isindex", "prompt"), addAttrs("table", "summary width frame rules cellspacing cellpadding align bgcolor"), addAttrs("col", "width align char charoff valign"), addAttrs("colgroup", "width align char charoff valign"), addAttrs("thead", "align char charoff valign"), addAttrs("tr", "align char charoff valign bgcolor"), addAttrs("th", "axis align char charoff valign nowrap bgcolor width height"), addAttrs("form", "accept"), addAttrs("td", "abbr axis scope align char charoff valign nowrap bgcolor width height"), addAttrs("tfoot", "align char charoff valign"), addAttrs("tbody", "align char charoff valign"), addAttrs("area", "nohref"), addAttrs("body", "background bgcolor text link vlink alink"), addAttrs("form", "onreset")), "html4" != type && (addAttrs("input button select textarea", "autofocus"), addAttrs("input textarea", "placeholder"), addAttrs("a", "download referrerpolicy"), addAttrs("link script img", "crossorigin"), addAttrs("iframe", "sandbox seamless allowfullscreen allow loading"), addAttrs("a img iframe", "referrerpolicy"), addAttrs("img", "loading decoding elementtiming fetchpriority"), addAttrs("link", "as disabled imagesizes imagesrcset title"), addAttrs("form", "oncontextmenu onformchange onforminput oninput oninvalid"), addAttrs("video audio", "onabort oncanplay oncanplaythrough ondurationchange onemptied onended onerror onloadeddata onloadedmetadata onloadstart onpause onplay onplaying onprogress onratechange onreadystatechange onseeked onseeking onstalled onsuspend ontimeupdate onvolumechange onwaiting")), each(split("a form meter progress dfn"), function(name) { schema[name] && delete schema[name].children[name]; }), delete schema.caption.children.table, mapCache[type] = schema), !1 === settings.verify_html && (settings.valid_elements = "*[*]"), validStyles = compileElementMap(settings.valid_styles), invalidStyles = compileElementMap(settings.invalid_styles, "map"), validClasses = compileElementMap(settings.valid_classes, "map"), whiteSpaceElementsMap = createLookupTable("whitespace_elements", "pre script noscript style textarea video audio iframe object code"), selfClosingElementsMap = createLookupTable("self_closing_elements", "colgroup dd dt li option p td tfoot th thead tr"), shortEndedElementsMap = createLookupTable("short_ended_elements", "area base basefont br col frame hr img input isindex link meta param embed source wbr track"), boolAttrMap = createLookupTable("boolean_attributes", "async checked compact declare defer disabled ismap multiple nohref noresize noshade nowrap readonly selected autoplay loop controls itemscope playsinline spellcheck contextmenu draggable hidden allowfullscreen muted"), nonEmptyElementsMap = createLookupTable("non_empty_elements", "td th iframe video audio object script pre code", shortEndedElementsMap), moveCaretBeforeOnEnterElementsMap = createLookupTable("move_caret_before_on_enter_elements", "table", nonEmptyElementsMap), textBlockElementsMap = createLookupTable("text_block_elements", "h1 h2 h3 h4 h5 h6 p div address pre form blockquote center dir fieldset header footer article section hgroup aside main nav figure"), blockElementsMap = createLookupTable("block_elements", "hr table tbody thead tfoot th tr td li ol ul caption dl dt dd noscript menu isindex option datalist select optgroup figcaption details summary", textBlockElementsMap), textInlineElementsMap = createLookupTable("text_inline_elements", "span strong b em i font s strike u var citedfn code mark q sup sub samp"), transparentElementsMap = createLookupTable("transparent_elements", "a ins del canvas map"), each((settings.special || "script noscript iframe noframes noembed title style textarea xmp").split(" "), function(name) { specialElements[name] = new RegExp("]*>", "gi"); }), settings.valid_elements ? setValidElements(settings.valid_elements) : (each(schemaItems, function(element, name) { elements[name] = { attributes: element.attributes, attributesOrder: element.attributesOrder }, children[name] = element.children; }), "html4" !== settings.schema && !settings.prefer_strong_and_em || each(split("strong/b em/i"), function(item) { item = split(item, "/"), elements[item[1]].outputName = item[0]; }), !1 !== settings.img_default_alt_attribute && (elements.img.attributesDefault = [ { name: "alt", value: "" } ]), each(textInlineElementsMap, function(_val, name) { elements[name] && (settings.padd_empty_block_inline_children && (elements[name].paddInEmptyBlock = !0), elements[name].removeEmpty = !0); }), each(split("ol ul blockquote a table tbody"), function(name) { elements[name] && (elements[name].removeEmpty = !0); }), each(split("p h1 h2 h3 h4 h5 h6 th td pre div address caption li summary"), function(name) { elements[name] && (elements[name].paddEmpty = !0); }), !1 === settings.allow_empty_spans && each(split("span"), function(name) { elements[name].removeEmptyAttrs = !0; })), addCustomElements(settings.custom_elements), addValidChildren(settings.valid_children), addValidElements(settings.extended_valid_elements), addValidChildren("+ol[ul|ol],+ul[ul|ol]"), settings.invalid_elements && each(explode(settings.invalid_elements), function(item) { elements[item] && delete elements[item]; }), getElementRule("span") || addValidElements("span[!data-mce-type|*]"), this.children = children, this.getValidStyles = function() { return validStyles; }, this.getInvalidStyles = function() { return invalidStyles; }, this.getValidClasses = function() { return validClasses; }, this.getBoolAttrs = function() { return boolAttrMap; }, this.getBlockElements = function() { return blockElementsMap; }, this.getTextBlockElements = function() { return textBlockElementsMap; }, this.getTextRootBlockElements = function() { return makeMap("td th li dt dd figcaption caption details summary", textBlockElementsMap); }, this.getTextInlineElements = function() { return textInlineElementsMap; }, this.getShortEndedElements = function() { return shortEndedElementsMap; }, this.getSelfClosingElements = function() { return selfClosingElementsMap; }, this.getNonEmptyElements = function() { return nonEmptyElementsMap; }, this.getMoveCaretBeforeOnEnterElements = function() { return moveCaretBeforeOnEnterElementsMap; }, this.getWhiteSpaceElements = function() { return whiteSpaceElementsMap; }, this.getSpecialElements = function() { return specialElements; }, this.getTransparentElements = function() { return transparentElementsMap; }, this.isValidChild = function(name, child) { return !(!(name = children[name]) || !name[child]); }, this.isValid = function(name, attr) { var attrPatterns, i, rule = getElementRule(name); if (rule) { if (!attr) return !0; if (rule.attributes[attr]) return !0; if (attrPatterns = rule.attributePatterns) for (i = attrPatterns.length; i--; ) if (attrPatterns[i].pattern.test(name)) return !0; } return !1; }, this.getElementRule = getElementRule, this.getCustomElements = function() { return customElementsMap; }, this.addValidElements = addValidElements, this.setValidElements = setValidElements, this.getValidElements = function() { return elements; }, this.addCustomElements = addCustomElements, this.addValidChildren = addValidChildren, this.elements = elements; }; }(tinymce), function(tinymce) { var cachedDocument, each = tinymce.each, Entities = tinymce.html.Entities, filteredClobberElements = tinymce.makeMap("button,fieldset,form,iframe,img,image,input,object,output,select,textarea"); cachedDocument = null; tinymce.html.SaxParser = function(settings, schema) { var self = this, doc = cachedDocument = cachedDocument || document.implementation.createHTMLDocument("parser"), form = doc.createElement("form"); function noop() {} settings = settings || {}, self.schema = schema = schema || new tinymce.html.Schema(), !1 !== settings.fix_self_closing && (settings.fix_self_closing = !0), !0 !== settings.allow_event_attributes && (settings.allow_event_attributes = !1), !1 !== settings.preserve_cdata && (settings.preserve_cdata = !0), each("comment cdata text start end pi doctype".split(" "), function(name) { name && (self[name] = settings[name] || noop); }), self.findEndTag = function(schema, html, startIndex) { var index, matches, count = 1, shortEndedElements = schema.getShortEndedElements(), tokenRegExp = /<([!?\/])?([A-Za-z0-9\-_\:\.]+)((?:\s+[^"\'>]+(?:(?:"[^"]*")|(?:\'[^\']*\')|[^>]*))*|\/|\s+)>/g; for (tokenRegExp.lastIndex = index = startIndex; matches = tokenRegExp.exec(html); ) { if (index = tokenRegExp.lastIndex, "/" === matches[1]) count--; else if (!matches[1]) { if (matches[2] in shortEndedElements) continue; count++; } if (0 === count) break; } return index; }, self.parse = function(html, format) { var matches, value, attrList, i, text, name, isInternalElement, removeInternalElements, shortEndedElements, fillAttrsMap, isShortEnded, validate, elementRule, isValidElement, attr, attribsValue, validAttributesMap, validAttributePatterns, attributesRequired, attributesDefault, attributesForced, selfClosing, tokenRegExp, attrRegExp, specialElements, attrValue, fixSelfClosing, processHtml, self = this, index = 0, stack = [], idCount = 0, decode = Entities.decode, filteredUrlAttrs = tinymce.makeMap("src,href,data,background,formaction,poster,xlink:href"); function processEndTag(name) { for (var i, pos = stack.length; pos-- && stack[pos].name !== name; ); if (0 <= pos) { for (i = stack.length - 1; pos <= i; i--) (name = stack[i]).valid && self.end(name.name); stack.length = pos; } } function isFilterdUrlAttribute(name) { return name in filteredUrlAttrs; } function processComment(value) { return "" === value || (">" === value.charAt(0) && (value = " " + value), settings.allow_conditional_comments) || "[if" !== value.substr(0, 3).toLowerCase() ? value : " " + value; } function trimComments(text) { for (var sanitizedText = text; /|/g, [ /( ?)(\u00a0| )<\/span>( ?)/g, function(all, s1, s2) { return s1 || s2 ? "\xa0" : " "; } ], /
    /g, /^]+>/g, /
    $/i, / $/ ]); } var each$5 = tinymce.each; function convertToPixels(v) { if (-1 === v.indexOf("px")) { if (0 === parseInt(v, 10)) return 0; -1 !== v.indexOf("pt") && (v = parseInt(v, 10), v = Math.ceil(v / 1.33333), v = Math.abs(v)), v && (v += "px"); } return v; } var pixelStyles = [ "width", "height", "min-width", "max-width", "min-height", "max-height", "margin-top", "margin-right", "margin-bottom", "margin-left", "padding-top", "padding-right", "padding-bottom", "padding-left", "border-top-width", "border-right-width", "border-bottom-width", "border-left-width" ], styleProps = [ "background", "background-attachment", "background-color", "background-image", "background-position", "background-repeat", "border", "border-bottom", "border-bottom-color", "border-bottom-style", "border-bottom-width", "border-color", "border-left", "border-left-color", "border-left-style", "border-left-width", "border-right", "border-right-color", "border-right-style", "border-right-width", "border-style", "border-top", "border-top-color", "border-top-style", "border-top-width", "border-width", "outline", "outline-color", "outline-style", "outline-width", "height", "max-height", "max-width", "min-height", "min-width", "width", "font", "font-family", "font-size", "font-style", "font-variant", "font-weight", "content", "counter-increment", "counter-reset", "quotes", "list-style", "list-style-image", "list-style-position", "list-style-type", "margin", "margin-bottom", "margin-left", "margin-right", "margin-top", "padding", "padding-bottom", "padding-left", "padding-right", "padding-top", "bottom", "clear", "clip", "cursor", "display", "float", "left", "overflow", "position", "right", "top", "visibility", "z-index", "orphans", "page-break-after", "page-break-before", "page-break-inside", "widows", "border-collapse", "border-spacing", "caption-side", "empty-cells", "table-layout", "color", "direction", "letter-spacing", "line-height", "text-align", "text-decoration", "text-indent", "text-shadow", "text-transform", "unicode-bidi", "vertical-align", "white-space", "word-spacing" ], borderStyles = [ "border", "border-width", "border-style", "border-color", "border-top", "border-right", "border-bottom", "border-left", "border-top-width", "border-right-width", "border-bottom-width", "border-left-width", "border-top-color", "border-right-color", "border-bottom-color", "border-left-color", "border-top-style", "border-right-style", "border-bottom-style", "border-left-style" ], backgroundStyles = { "background-image": "none", "background-position": "0% 0%", "background-size": "auto auto", "background-repeat": "repeat", "background-origin": "padding-box", "background-clip": "border-box", "background-attachment": "scroll", "background-color": "transparent" }, fontStyles = [ "font", "font-family", "font-size", "font-style", "font-variant", "font-weight" ], namedColors = { "#F0F8FF": "AliceBlue", "#FAEBD7": "AntiqueWhite", "#7FFFD4": "Aquamarine", "#F0FFFF": "Azure", "#F5F5DC": "Beige", "#FFE4C4": "Bisque", "#000000": "Black", "#FFEBCD": "BlanchedAlmond", "#0000FF": "Blue", "#8A2BE2": "BlueViolet", "#A52A2A": "Brown", "#DEB887": "BurlyWood", "#5F9EA0": "CadetBlue", "#7FFF00": "Chartreuse", "#D2691E": "Chocolate", "#FF7F50": "Coral", "#6495ED": "CornflowerBlue", "#FFF8DC": "Cornsilk", "#DC143C": "Crimson", "#00008B": "DarkBlue", "#008B8B": "DarkCyan", "#B8860B": "DarkGoldenRod", "#A9A9A9": "DarkGray", "#006400": "DarkGreen", "#BDB76B": "DarkKhaki", "#8B008B": "DarkMagenta", "#556B2F": "DarkOliveGreen", "#FF8C00": "Darkorange", "#9932CC": "DarkOrchid", "#8B0000": "DarkRed", "#E9967A": "DarkSalmon", "#8FBC8F": "DarkSeaGreen", "#483D8B": "DarkSlateBlue", "#2F4F4F": "DarkSlateGrey", "#00CED1": "DarkTurquoise", "#9400D3": "DarkViolet", "#FF1493": "DeepPink", "#00BFFF": "DeepSkyBlue", "#696969": "DimGrey", "#1E90FF": "DodgerBlue", "#B22222": "FireBrick", "#FFFAF0": "FloralWhite", "#228B22": "ForestGreen", "#DCDCDC": "Gainsboro", "#F8F8FF": "GhostWhite", "#FFD700": "Gold", "#DAA520": "GoldenRod", "#808080": "Grey", "#008000": "Green", "#ADFF2F": "GreenYellow", "#F0FFF0": "HoneyDew", "#FF69B4": "HotPink", "#CD5C5C": "IndianRed", "#4B0082": "Indigo", "#FFFFF0": "Ivory", "#F0E68C": "Khaki", "#E6E6FA": "Lavender", "#FFF0F5": "LavenderBlush", "#7CFC00": "LawnGreen", "#FFFACD": "LemonChiffon", "#ADD8E6": "LightBlue", "#F08080": "LightCoral", "#E0FFFF": "LightCyan", "#FAFAD2": "LightGoldenRodYellow", "#D3D3D3": "LightGrey", "#90EE90": "LightGreen", "#FFB6C1": "LightPink", "#FFA07A": "LightSalmon", "#20B2AA": "LightSeaGreen", "#87CEFA": "LightSkyBlue", "#778899": "LightSlateGrey", "#B0C4DE": "LightSteelBlue", "#FFFFE0": "LightYellow", "#00FF00": "Lime", "#32CD32": "LimeGreen", "#FAF0E6": "Linen", "#FF00FF": "Magenta", "#800000": "Maroon", "#66CDAA": "MediumAquaMarine", "#0000CD": "MediumBlue", "#BA55D3": "MediumOrchid", "#9370D8": "MediumPurple", "#3CB371": "MediumSeaGreen", "#7B68EE": "MediumSlateBlue", "#00FA9A": "MediumSpringGreen", "#48D1CC": "MediumTurquoise", "#C71585": "MediumVioletRed", "#191970": "MidnightBlue", "#F5FFFA": "MintCream", "#FFE4E1": "MistyRose", "#FFE4B5": "Moccasin", "#FFDEAD": "NavajoWhite", "#000080": "Navy", "#FDF5E6": "OldLace", "#808000": "Olive", "#6B8E23": "OliveDrab", "#FFA500": "Orange", "#FF4500": "OrangeRed", "#DA70D6": "Orchid", "#EEE8AA": "PaleGoldenRod", "#98FB98": "PaleGreen", "#AFEEEE": "PaleTurquoise", "#D87093": "PaleVioletRed", "#FFEFD5": "PapayaWhip", "#FFDAB9": "PeachPuff", "#CD853F": "Peru", "#FFC0CB": "Pink", "#DDA0DD": "Plum", "#B0E0E6": "PowderBlue", "#800080": "Purple", "#FF0000": "Red", "#BC8F8F": "RosyBrown", "#4169E1": "RoyalBlue", "#8B4513": "SaddleBrown", "#FA8072": "Salmon", "#F4A460": "SandyBrown", "#2E8B57": "SeaGreen", "#FFF5EE": "SeaShell", "#A0522D": "Sienna", "#C0C0C0": "Silver", "#87CEEB": "SkyBlue", "#6A5ACD": "SlateBlue", "#708090": "SlateGrey", "#FFFAFA": "Snow", "#00FF7F": "SpringGreen", "#4682B4": "SteelBlue", "#D2B48C": "Tan", "#008080": "Teal", "#D8BFD8": "Thistle", "#FF6347": "Tomato", "#40E0D0": "Turquoise", "#EE82EE": "Violet", "#F5DEB3": "Wheat", "#FFFFFF": "White", "#F5F5F5": "WhiteSmoke", "#FFFF00": "Yellow", "#9ACD32": "YellowGreen" }; function namedColorToHex(value) { return tinymce.each(namedColors, function(name, hex) { if (value.toLowerCase() === name.toLowerCase()) return value = hex, !1; }), value.toLowerCase(); } var each$4 = tinymce.each, Schema = tinymce.html.Schema, DomParser$1 = tinymce.html.DomParser, Serializer$1 = tinymce.html.Serializer, Node$1 = tinymce.html.Node; var each$3 = tinymce.each, isIE$1 = tinymce.isIE || tinymce.isIE12; function setup$2(editor) { editor.onPastePreProcess.add(function(editor, o) { !function(editor, o) { var h = (h = (h = o.content).replace(/^\s*( )+/g, "")).replace(/( |]*>)+\s*$/g, ""); o.pasteAsPlainText || (o.wordContent && (h = function(editor, content) { var removeProps, settings = editor.settings, validStyles = {}, styleProps$1 = styleProps, keepStyles = (content = filter(content = (content = (content = (content = (content = content.replace(/]+)>/, "")).replace(/]*)>([\w\W]*?)<\/style>/gi, function(match, attr, value) { var classes = [], value = parseCssToRules(value); return each$4(value, function(r) { r.selectorText && each$4(r.selectorText.split(","), function(v) { v = v.replace(/^\s*|\s*$|^\s\./g, ""), !/\.mso/i.test(v) && /\.[\w\-]+$/.test(v) && (v = r.cssText || "") && -1 === tinymce.inArray(classes, v) && classes.push(v); }); }), "" + classes.join("") + ""; })).replace(/Version:[\d.]+\nStartHTML:\d+\nEndHTML:\d+\nStartFragment:\d+\nEndFragment:\d+/gi, "")).replace(/]+id="?docs-internal-[^>]*>/gi, "")).replace(/
    /gi, ""), [ //gi, /<(!|script[^>]*>.*?<\/script(?=[>\s])|\/?(\?xml(:\w+)?|meta|link|\w:\w+)(?=[\s\/>]))[^>]*>/gi, [ /<(\/?)s>/gi, "<$1strike>" ], [ / /gi, "\xa0" ], [ /([\s\u00a0]*)<\/span>/gi, function(str, spaces) { return 0 < spaces.length ? spaces.replace(/./, " ").slice(Math.floor(spaces.length / 2)).split("").join("\xa0") : ""; } ] ]), settings.inline_styles && (content = (content = content.replace(/<(u|strike)>/gi, function(match, node) { return ''; })).replace(/<\/(u|strike)>/g, "")), settings.forced_root_block && (content = content.replace(/

    /gi, "")), keepStyles = settings.paste_retain_style_properties, removeStyles = settings.paste_remove_style_properties, !1 !== settings.paste_remove_styles ? (validStyles = { "font-weight": {}, "font-style": {} }, keepStyles && tinymce.is(keepStyles, "string") && (styleProps$1 = tinymce.explode(keepStyles), each$4(styleProps$1, function(style, i) { if ("border" === style) return styleProps$1 = styleProps$1.concat(borderStyles), !0; }))) : removeStyles && tinymce.is(removeStyles, "string") && (removeProps = tinymce.explode(removeStyles), each$4(removeProps, function(style, i) { if ("border" === style) return removeProps = removeProps.concat(borderStyles), !0; }), styleProps$1 = tinymce.grep(styleProps$1, function(prop) { return -1 === tinymce.inArray(removeProps, prop); })), each$4(styleProps$1, function(style) { if ("border" === style) return each$4(borderStyles, function(name) { validStyles[name] = {}; }), !0; validStyles[style] = {}; }), settings.paste_word_valid_elements || "-strong/b,-em/i,-u,-span,-p,-ol[type|start|reversed],-ul,-li,-h1,-h2,-h3,-h4,-h5,-h6,-p/div,-a[href|name],img[src|alt|width|height],sub,sup,strike,br,del,table[width],tr,td[colspan|rowspan|width|valign],th[colspan|rowspan|width],thead,tfoot,tbody"), removeStyles = ("style" == settings.paste_process_stylesheets && (keepStyles += ",style"), new Schema({ valid_elements: keepStyles, valid_children: "-li[p]" })), footnotes = ("html5" !== settings.schema && removeStyles.getElementRule("table") && removeStyles.addValidElements("table[width|border|cellpadding|cellspacing]"), each$4(removeStyles.elements, function(rule) { rule.attributes.class || (rule.attributes.class = {}, rule.attributesOrder.push("class")), rule.attributes.style || (rule.attributes.style = {}, rule.attributesOrder.push("style")); }), (keepStyles = new DomParser$1({}, removeStyles)).addAttributeFilter("style", function(nodes) { for (var node, style, i = nodes.length; i--; ) (style = (node = nodes[i]).attr("style")) && -1 !== style.indexOf("mso-list") && "li" !== node.name && node.attr("data-mce-word-list", 1), node.attr("style", function(node, styleValue) { var matches, outputStyles = {}, styles = editor.dom.parseStyle(styleValue); return each$4(styles, function(value, name) { switch (name) { case "mso-list": (matches = /\w+ \w+([0-9]+)/i.exec(styleValue)) && (node._listLevel = parseInt(matches[1], 10)), /Ignore/i.test(value) && node.firstChild && (node._listIgnore = !0, node.firstChild._listIgnore = !0); break; case "horiz-align": name = "text-align"; break; case "vert-align": name = "vertical-align"; break; case "font-color": case "mso-foreground": case "color": name = "color", "windowtext" == value && (value = ""); break; case "mso-background": case "mso-highlight": name = "background"; break; case "font-weight": case "font-style": "normal" == value && (value = ""); break; case "mso-element": if (/^(comment|comment-list)$/i.test(value)) return void node.remove(); break; case "margin-left": var indentValue; "p" === node.name && !1 !== settings.paste_convert_indents && (indentValue = parseInt(editor.settings.indentation, 10), value = parseInt(value, 10), value = Math.round(value / indentValue) * indentValue) && (node.attr("data-mce-indent", "" + value), value = ""); } return 0 === name.indexOf("mso-comment") ? (node.remove(), !0) : 0 === name.indexOf("mso-") || (value && -1 !== tinymce.inArray(pixelStyles, name) && (value = convertToPixels(value)), void (validStyles[name] && (outputStyles[name] = value))); }), /(bold|700|800|900)/i.test(outputStyles["font-weight"]) && editor.schema.isValidChild("strong", node.name) && (delete outputStyles["font-weight"], node.wrap(new Node$1("strong", 1))), /(italic)/i.test(outputStyles["font-style"]) && editor.schema.isValidChild("em", node.name) && (delete outputStyles["font-style"], node.wrap(new Node$1("em", 1))), (outputStyles = editor.dom.serializeStyle(outputStyles, node.name)) || null; }(node, style)), "span" == node.name && node.parent && !node.attributes.length && node.unwrap(); }), keepStyles.addAttributeFilter("class", function(nodes) { for (var node, i = nodes.length; i--; ) { var parent, className = (node = nodes[i]).attr("class"); /^(MsoCommentReference|MsoCommentText|msoDel)$/i.test(className) ? node.remove() : (/^Mso[\w]+/i.test(className) || 0 !== settings.paste_strip_class_attributes) && (node.attr("class", null), className && -1 !== className.indexOf("MsoList") && "li" !== node.name && node.attr("data-mce-word-list", 1), className && /\s*Mso(Foot|End)note\s*/.test(className) && ((parent = node.parent) && "a" === parent.name && (node.name = "sup"), "span" !== node.name || node.attributes.length || node.unwrap()), className) && /\s*MsoQuote\s*/.test(className) && (node.name = "blockquote"); } }), keepStyles.addNodeFilter("del", function(nodes) { for (var i = nodes.length; i--; ) nodes[i].remove(); }), settings.paste_process_footnotes || "convert"), keepStyles = (keepStyles.addNodeFilter("a", function(nodes) { for (var node, href, name, i = nodes.length; i--; ) href = (node = nodes[i]).attr("href"), name = node.attr("name"), href && -1 != href.indexOf("#_msocom_") ? node.remove() : !(href = (href = href && !name ? editor.convertURL(href) : href) && 0 == href.indexOf("#") ? href.substr(href.indexOf("#")) : href) && !name || name && !/^_?(?:toc|edn|ftn)/i.test(name) ? node.unwrap() : name && "remove" === footnotes ? node.remove() : name && "unlink" === footnotes ? node.unwrap() : (node.attr({ href: href, name: null }), "html4" === settings.schema ? node.attr("name", name) : node.attr("id", name)); }), keepStyles.addNodeFilter("span", function(nodes) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).parent && !node.attributes.length && node.unwrap(); }), settings.paste_remove_paragraph_in_table_cell && keepStyles.addNodeFilter("td", function(nodes) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).firstChild && "p" == node.firstChild.name && node.firstChild === node.lastChild && node.firstChild.unwrap(); }), keepStyles.parse(content)); if (!1 !== settings.paste_convert_word_fake_lists) { var currentListNode, prevListNode, node = keepStyles, lastLevel = 1; function trimListStart(node, regExp) { if (3 !== node.type || !regExp.test(node.value)) { if (node = node.firstChild) do { if (!trimListStart(node, regExp)) return; } while (node = node.next); return 1; } node.value = node.value.replace(regExp, ""); } function convertParagraphToLi(paragraphNode, listName, start, type) { var level = paragraphNode._listLevel || lastLevel; (currentListNode = level != lastLevel ? level < lastLevel ? currentListNode && currentListNode.parent.parent : (prevListNode = currentListNode, null) : currentListNode) && currentListNode.name == listName ? currentListNode.append(paragraphNode) : (prevListNode = prevListNode || currentListNode, currentListNode = new Node$1(listName, 1), type && /roman|alpha/.test(type) && currentListNode.attr({ style: listName = "list-style-type:" + type, "data-mce-style": listName }), 1 < start && currentListNode.attr("start", "" + start), paragraphNode.wrap(currentListNode)), paragraphNode.name = "li", lastLevel < level && prevListNode && prevListNode.lastChild.append(currentListNode), lastLevel = level, function removeIgnoredNodes(node) { if (node._listIgnore) node.remove(); else if (node = node.firstChild) for (;removeIgnoredNodes(node), node = node.next; ); }(paragraphNode), trimListStart(paragraphNode, /^\u00a0+/), "ol" === currentListNode.name && trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/), "ul" === currentListNode.name && trimListStart(paragraphNode, /^\s*([\u2022\u00b7\u00a7\u25CF]|\w+\.)/), trimListStart(paragraphNode, /^\u00a0+/); } for (var elements = [], child = node.firstChild; null != child; ) if (elements.push(child), null !== (child = child.walk())) for (;void 0 !== child && child.parent !== node; ) child = child.walk(); for (var type, nodeText, i = 0; i < elements.length; i++) "p" == (node = elements[i]).name && node.firstChild ? (nodeText = function getText(node) { var txt = ""; if (3 === node.type) return node.value; if (node = node.firstChild) for (;txt += getText(node), node = node.next; ); return txt; }(node), /^[\s\u00a0]*[\u2022\u00b7\u00a7\u25CF]\s*/.test(nodeText) ? convertParagraphToLi(node, "ul") : node.attr("data-mce-word-list") && (node.attr("data-mce-word-list", null), type = function(text) { var found = ""; return text = nodeText.replace(/^[\u00a0 ]+/, ""), each$4({ "uppper-roman": /^[IVXLMCD]{1,2}\.[ \u00a0]/, "lower-roman": /^[ivxlmcd]{1,2}\.[ \u00a0]/, "upper-alpha": /^[A-Z]{1,2}[\.\)][ \u00a0]/, "lower-alpha": /^[a-z]{1,2}[\.\)][ \u00a0]/, numeric: /^[0-9]+\.[ \u00a0]/, japanese: /^[\u3007\u4e00\u4e8c\u4e09\u56db\u4e94\u516d\u4e03\u516b\u4e5d]+\.[ \u00a0]/, chinese: /^[\u58f1\u5f10\u53c2\u56db\u4f0d\u516d\u4e03\u516b\u4e5d\u62fe]+\.[ \u00a0]/ }, function(pattern, type) { if (pattern.test(text)) return found = type, !1; }), found; }(nodeText)) ? convertParagraphToLi(node, "ol", (nodeText = /([0-9]+)\./.exec(nodeText)) ? parseInt(nodeText[1], 10) : 1, type) : node._listLevel ? convertParagraphToLi(node, "ul", 1) : currentListNode = null) : (prevListNode = currentListNode, currentListNode = null); } return new Serializer$1({ validate: settings.validate }, removeStyles).serialize(keepStyles); }(editor, h)), !1 === editor.settings.verify_html && (h = (h = h.replace(/]*)>/gi, "")).replace(/<\/b>/gi, "
    ")), o.content = h); }(editor, o); }), editor.onPastePostProcess.add(function(editor, o) { !function(editor, o) { var tags, dom = editor.dom, settings = editor.settings; if (dom.remove(dom.select("div[data-mce-convert]", o.node), 1), !o.pasteAsPlainText && (each$3(dom.select("span.Apple-style-span", o.node), function(n) { dom.remove(n, 1); }), 1 == settings.paste_strip_class_attributes && each$3(dom.select("*[class]", o.node), function(el) { el.removeAttribute("class"); }), each$3(dom.select("table, td, th", o.node), function(n) { var width = dom.getAttrib(n, "width"); width && (dom.setStyle(n, "width", width), dom.setAttrib(n, "width", "")), (width = dom.getAttrib(n, "height")) && (dom.setStyle(n, "height", width), dom.setAttrib(n, "height", "")); }), !1 === settings.paste_remove_styles || settings.paste_retain_style_properties ? function(editor, node) { var removeProps, dom = editor.dom, editor = editor.settings, styleProps$1 = styleProps, keepStyles = editor.paste_retain_style_properties, editor = editor.paste_remove_style_properties; keepStyles && tinymce.is(keepStyles, "string") && (styleProps$1 = tinymce.explode(keepStyles), each$3(styleProps$1, function(style, i) { return "border" == style ? (styleProps$1 = styleProps$1.concat(borderStyles), !0) : "font" == style ? (styleProps$1 = styleProps$1.concat(fontStyles), !0) : "padding" == style || "margin" == style ? (each$3([ "top", "bottom", "right", "left" ], function(side) { styleProps$1.push(style + "-" + side); }), !0) : void 0; })), editor && tinymce.is(editor, "string") && (removeProps = tinymce.explode(editor), each$3(removeProps, function(style, i) { return "border" === style ? (removeProps = removeProps.concat(borderStyles), !0) : "font" == style ? (removeProps = removeProps.concat(fontStyles), !0) : "padding" == style || "margin" == style ? (each$3([ "top", "bottom", "right", "left" ], function(side) { removeProps.push(style + "-" + side); }), !0) : void 0; }), styleProps$1 = tinymce.grep(styleProps$1, function(prop) { return -1 === tinymce.inArray(removeProps, prop); })), each$3(dom.select("*[style]", node), function(n) { var ns = {}, x = 0, styles = dom.parseStyle(n.style.cssText); each$3(styles, function(v, k) { -1 != tinymce.inArray(styleProps$1, k) && (ns[k] = v, x++); }), dom.setAttrib(n, "style", ""), ns = dom.parseStyle(dom.serializeStyle(ns, n.nodeName)), 0 < x ? dom.setStyles(n, ns) : "SPAN" != n.nodeName || n.className || dom.remove(n, !0), tinymce.isWebKit && n.removeAttribute("data-mce-style"); }), each$3(dom.select("*[align]", node), function(el) { var v = dom.getAttrib(el, "align"); "left" !== v && "right" !== v && "center" !== v || (/(IFRAME|IMG|OBJECT|VIDEO|AUDIO|EMBED)/i.test(el.nodeName) ? "center" === v ? dom.setStyles(el, { margin: "auto", display: "block" }) : dom.setStyle(el, "float", v) : dom.setStyle(el, "text-align", v)), el.removeAttribute("align"); }); }(editor, o.node) : each$3(dom.select("*[style]", o.node), function(el) { el.removeAttribute("style"), el.removeAttribute("data-mce-style"); }), o.wordContent && function(editor, node) { var dom = editor.dom, borderColors = [ "border-top-color", "border-right-color", "border-bottom-color", "border-left-color" ], positions = [ "top", "right", "bottom", "left" ]; each$4(dom.select("table[style], td[style], th[style]", node), function(n) { var styles = {}; each$4(borderStyles, function(name) { var value; /-(top|right|bottom|left)-/.test(name) && (value = dom.getStyle(n, name), -1 !== name.indexOf("color") && ("currentcolor" !== value && "windowtext" !== value || each$4(borderColors, function(str) { return str === name || (str = dom.getStyle(n, str), !!/(currentcolor|windowtext)/.test(str)) || void (value = str); }), value = namedColorToHex(value)), "medium" === value && (value = "1"), (value = -1 !== name.indexOf("style") && "none" === value ? "solid" : value) && /^\d[a-z]?/.test(value) && (value = convertToPixels(value)), styles[name] = value); }), each$4(positions, function(pos) { var padding = dom.getStyle(n, "padding-" + pos), margin = dom.getStyle(n, "margin-" + pos); padding && (styles["padding-" + pos] = convertToPixels(padding)), margin && (styles["margin-" + pos] = convertToPixels(margin)); }), each$4(styles, function(value, name) { var prefix; -1 !== name.indexOf("-width") && "" === value && (prefix = name.replace(/-width/, ""), delete styles[prefix + "-style"], delete styles[prefix + "-color"], delete styles[name]), -1 !== name.indexOf("color") && (styles[name] = namedColorToHex(value)); }), each$4(backgroundStyles, function(def, name) { var value = dom.getStyle(n, name); styles[name] = value === def ? "" : value; }), dom.setStyle(n, "border", ""), dom.setStyle(n, "background", ""), dom.setStyles(n, styles); }), each$4(dom.select("[data-mce-indent]", node), function(el) { var value, style; "p" === el.nodeName && (value = dom.getAttrib(el, "data-mce-indent"), style = editor.settings.indent_use_margin ? "margin-left" : "padding-left", dom.setStyle(el, style, value + "px")), dom.setAttrib(el, "data-mce-indent", ""); }), each$4(dom.select("[data-mce-word-list]", node), function(el) { el.removeAttribute("data-mce-word-list"); }); }(editor, o.node), each$3(dom.select("img", o.node), function(el) { var src = dom.getAttrib(el, "src"); !src || /^(file:|data:image)\//i.test(src) ? settings.paste_upload_data_images ? dom.setAttrib(el, "data-mce-upload-marker", "1") : dom.remove(el) : dom.setAttrib(el, "src", editor.convertURL(src)); }), isIE$1 && each$3(dom.select("a", o.node), function(el) { each$3(dom.select("font,u"), function(n) { dom.remove(n, 1); }); }), settings.paste_remove_tags && dom.remove(dom.select(settings.paste_remove_tags, o.node), 1), settings.paste_keep_tags && (tags = settings.paste_keep_tags, dom.remove(dom.select("*:not(" + tags + ")", o.node), 1)), settings.paste_remove_spans ? dom.remove(dom.select("span", o.node), 1) : each$3(dom.select("span", o.node), function(n) { 0 === dom.getAttribs(n).length && dom.remove(n, n.hasChildNodes() ? 1 : 0); }), !1 !== settings.paste_remove_empty_paragraphs)) for (var p, paras = dom.select("p", o.node), i = paras.length - 1; 0 <= i; i--) (p = paras[i]).hasChildNodes() && "" !== (p.textContent || "").replace(/\u00a0/g, " ").replace(/[\u200B\u200C\u200D\uFEFF]/g, "").replace(/\s+/g, "") || dom.remove(p); }(editor, o); }); } var Entities = tinymce.html.Entities, isPlainText = function(text) { return !/<(?:(?!\/?(?:\w+))[^>]*|(?:\w+)\s+\w[^>]+)>/.test(text); }, convert = function(text, rootTag, rootAttrs) { return rootTag ? function(text, rootTag, rootAttrs) { var isLast, newlineFollows, isSingleNewline, pieces = text.split(/\r?\n/), i = 0, len = pieces.length, stack = [], blocks = [], rootAttrs = function(rootTag, rootAttrs) { var key, attrs = [], rootTag = "<" + rootTag; if ("object" == typeof rootAttrs) { for (key in rootAttrs) Object.prototype.hasOwnProperty.call(rootAttrs, key) && attrs.push(key + '="' + Entities.encodeAllRaw(rootAttrs[key]) + '"'); attrs.length && (rootTag += " " + attrs.join(" ")); } return rootTag + ">"; }(rootTag, rootAttrs), rootTag = ""; if (1 === pieces.length) return text; for (;i < len; i++) newlineFollows = !(isLast = i === len - 1) && !pieces[i + 1], isSingleNewline = !pieces[i] && !stack.length, stack.push(pieces[i] || " "), (isLast || newlineFollows || isSingleNewline) && (blocks.push(stack.join("
    ")), stack = []), newlineFollows && i++; return 1 === blocks.length ? blocks[0] : rootAttrs + blocks.join(rootTag + rootAttrs) + rootTag; }(text, rootTag, rootAttrs) : text.replace(/\r?\n/g, "
    "); }, each$2 = tinymce.each, VK = tinymce.VK, DomParser = tinymce.html.DomParser, Serializer = tinymce.html.Serializer, BlobCache = tinymce.file.BlobCache, Env = tinymce.util.Env, isIE = tinymce.isIE || tinymce.isIE12; function isKeyboardPasteEvent(e) { return VK.metaKeyPressed(e) && 86 == e.keyCode || e.shiftKey && 45 == e.keyCode; } function pasteText(editor, text) { text = editor.dom.encode(text).replace(/\r\n/g, "\n"), pasteHtml(editor, text = convert(text, editor.settings.forced_root_block, editor.settings.forced_root_block_attrs)); } function pasteHtml(editor, content, internal, pasteAsPlainText) { var o, re; content && (o = { content: content, internal: internal, pasteAsPlainText: pasteAsPlainText }, internal || !1 === editor.settings.paste_enable_default_filters || (o.wordContent = function(editor, content) { if (editor.settings.paste_force_cleanup) return !0; for (var j, groups = [ { name: "pages", tests: [ /' + content + ""; content = content.replace(new RegExp('(href="[^"]+?)?(' + ex + ")", "g"), function(match, attrib, email) { return attrib || !email || email.includes("//") ? match : '' + email + ""; }), decoded = !0; } decoded && (content = function(content) { return -1 === content.indexOf('data-mce-convert="url"') ? '
    ' + content + "
    " : content; }(content)); } return content; }(editor, o.content)), o.node = editor.dom.create("div", { style: "display:none" }, o.content), editor.onPastePostProcess.dispatch(editor, o), o.content = o.node.innerHTML, !1 !== editor.settings.paste_remove_empty_paragraphs && (o.content = o.content.replace(/]+)>( |\u00a0)?<\/p>/g, "")), editor.settings.paste_remove_whitespace && (o.content = o.content.replace(/( |\u00a0|\s| ){2,}/g, " ")), editor.settings.paste_filter && (content = editor.settings.paste_filter.split(";"), each$2(content, function(s) { re = /^\/.*\/(g|i|m)*$/.test(s) ? new Function("return " + s)() : new RegExp(s), o.content = o.content.replace(re, ""); }))), editor.onPasteBeforeInsert.dispatch(editor, o), o.terminate || function(editor, content) { var validate = editor.settings.validate; editor.settings.validate = !0, editor.execCommand("mceInsertContent", !1, content), editor.settings.validate = validate; }(editor, o.content)); } function insertClipboardContent(editor, clipboardContent, internal, pasteAsPlainText) { var content, text; editor.onGetClipboardContent.dispatch(editor, clipboardContent, pasteAsPlainText), content = clipboardContent["x-tinymce/html"] || clipboardContent["text/html"], internal = internal || isMarked(content), content = unmark(content), function(editor) { var node = editor.selection.getNode(); return !1 !== editor.settings.html_paste_in_pre && node && "PRE" === node.nodeName; }(editor) ? (text = clipboardContent["text/plain"], text = editor.dom.encode(text), content && !text && (content = trimHtml(content), text = editor.dom.encode(content)), editor.selection.setContent(text, { no_events: !0 })) : (text = !1 === internal && isPlainText(content), (pasteAsPlainText = !(content.length && !text) || pasteAsPlainText) ? pasteText(editor, content = hasContentType(clipboardContent, "text/plain") && text ? clipboardContent["text/plain"] : innerText(content)) : pasteHtml(editor, content, internal, pasteAsPlainText)); } function isBrokenAndroidClipboardEvent(e) { return e = e.clipboardData, -1 !== navigator.userAgent.indexOf("Android") && e && e.items && 0 === e.items.length; } function isHtmlPaste(content) { return hasContentType(content, "text/html"); } function pasteImageData(editor, e, lastRng) { var dataTransfer = e.clipboardData || e.dataTransfer; function processItems(items) { var i, hadImage = !1; if (items) for (i = 0; i < items.length; i++) { var blob, reader, item = items[i]; /^image\/(jpeg|png|gif|bmp)$/.test(item.type) && (hadImage = !0, e.preventDefault(), !1 !== editor.settings.paste_data_images ? (blob = item.getAsFile ? item.getAsFile() : item, (reader = new FileReader()).onload = function() { var html = function(editor, rng, reader, blob) { rng && (editor.selection.setRng(rng), rng = null); var blobInfo, idx, base64 = -1 !== (idx = (reader = rng = reader.result).indexOf(",")) ? reader.substr(idx + 1) : null; return (reader = new Image()).src = rng, idx = editor.settings, editor = reader, !idx.images_dataimg_filter || idx.images_dataimg_filter(editor) ? ((reader = BlobCache.findFirst(function(cachedBlobInfo) { return cachedBlobInfo.base64() === base64; })) ? blobInfo = reader : (blobInfo = BlobCache.create("mceclip", blob, base64), BlobCache.add(blobInfo)), '') : ''; }(editor, lastRng, reader, blob); pasteHtml(editor, html); }, reader.readAsDataURL(blob)) : pasteHtml(editor, '', !0)); } return hadImage; } return dataTransfer && !processItems(dataTransfer.items) && processItems(dataTransfer.files), 1; } function setup$1(editor, pasteBin) { var keyboardPastePlainTextState, keyboardPasteTimeStamp = 0; function getContentAndInsert(e) { var clipboardTimer = new Date().getTime(), clipboardContent = function(editor) { var eventTimestamp = e.timeStamp; if (hasData()) { var data = getData$1(); if (data.timeStamp && data.timeStamp > eventTimestamp) return content = data.content, clearData(), content; clearData(); } var content = getDataTransferItems(e.clipboardData || e.dataTransfer || editor.getDoc().dataTransfer); return content; }(editor), clipboardDelay = new Date().getTime() - clipboardTimer; function isKeyBoardPaste() { return "drop" != e.type && new Date().getTime() - keyboardPasteTimeStamp - clipboardDelay < 1e3; } var content, internal = hasContentType(clipboardContent, "x-tinymce/html"), pasteAsPlainText = keyboardPastePlainTextState; !(keyboardPastePlainTextState = !1) !== editor.settings.paste_plain_text || internal || (pasteAsPlainText = !0), e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e) || (isKeyBoardPaste() || e.preventDefault(), !isIE || isKeyBoardPaste() && !e.ieFake || hasContentType(clipboardContent, "text/html") || (pasteBin.create(), editor.dom.bind(editor.dom.get("mcepastebin"), "paste", function(e) { e.stopPropagation(); }), editor.getDoc().execCommand("Paste", !1, null), clipboardContent["text/html"] = pasteBin.getHtml()), (content = (content = clipboardContent)["text/plain"]) && 0 === content.indexOf("file://")) || !hasHtmlOrText(clipboardContent) && pasteImageData(editor, e, pasteBin.getLastRng() || editor.selection.getRng()) ? pasteBin.remove() : (isHtmlPaste(clipboardContent) || (clipboardTimer = pasteBin.getHtml(), pasteBin.isDefaultContent(clipboardTimer) ? pasteAsPlainText = !0 : clipboardContent["text/html"] = clipboardTimer), isHtmlPaste(clipboardContent) ? (e.preventDefault(), internal = internal || isMarked(clipboardContent["text/html"]), insertClipboardContent(editor, clipboardContent, internal, pasteAsPlainText), pasteBin.remove()) : hasContentType(clipboardContent, "text/plain") && hasContentType(clipboardContent, "text/uri-list") ? (e.preventDefault(), clipboardContent["text/html"] = clipboardContent["text/plain"], insertClipboardContent(editor, clipboardContent, internal, pasteAsPlainText)) : setTimeout(function() { function block(e) { e.preventDefault(); } editor.dom.bind(editor.getDoc(), "mousedown", block), editor.dom.bind(editor.getDoc(), "keydown", block), insertClipboardContent(editor, clipboardContent, internal, pasteAsPlainText), editor.dom.unbind(editor.getDoc(), "mousedown", block), editor.dom.unbind(editor.getDoc(), "keydown", block), pasteBin.remove(); }, 0)); } function removePasteBinOnKeyUp(e) { isKeyboardPasteEvent(e) && !e.isDefaultPrevented() && pasteBin.remove(); } editor.addCommand("mceInsertClipboardContent", function(u, data) { return data.text ? (pasteText(editor, data.text), !0) : editor.settings.paste_plain_text && !data.internal ? (data.text || (data.text = innerText(data.content || "")), pasteText(editor, data.text), !0) : void (data.content && pasteHtml(editor, data.content, data.internal || !1)); }), editor.onPaste.add(function(editor, e) { if (e.isDefaultPrevented() || isBrokenAndroidClipboardEvent(e) && !hasData()) return pasteBin.remove(), !1; getContentAndInsert(e), e.preventDefault(); }), editor.onKeyDown.add(function(editor, e) { isKeyboardPasteEvent(e) && !e.isDefaultPrevented() && (keyboardPasteTimeStamp = new Date().getTime(), e.stopImmediatePropagation(), keyboardPastePlainTextState = e.shiftKey && 86 == e.keyCode, editor.dom.bind(editor.getBody(), "keyup", function handler(e) { removePasteBinOnKeyUp(e), editor.dom.unbind(editor.getBody(), "keyup", handler); }), editor.dom.bind(editor.getBody(), "paste", function handler(e) { removePasteBinOnKeyUp(e), editor.dom.unbind(editor.getBody(), "paste", handler); })); }), editor.addCommand("mcePasteFakeClipboard", function(ui, e) { var content = getData$1().content || ""; content && insertClipboardContent(editor, content, !0, !0 === e.isPlainText); }); } function getCaretRangeFromEvent(editor, e) { return RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, editor.getDoc()); } function setFocusedRange(editor, rng) { editor.focus(), editor.selection.setRng(rng); } function PasteBin(editor) { var lastRng; return { create: function() { return lastRng = editor.selection.getRng(), function(editor, lastRng) { var scrollContainer, rect, dom = editor.dom, body = editor.getBody(), scrollTop = editor.dom.getViewPort(editor.getWin()).y, top = 20; editor.inline && (scrollContainer = editor.selection.getScrollContainer()) && 0 < scrollContainer.scrollTop && (scrollTop = scrollContainer.scrollTop), lastRng.getClientRects && ((rect = function(rng) { var node, container = rng.startContainer, rects = rng.getClientRects(); if (rects.length) return rects[0]; if (rng.collapsed && 1 == container.nodeType) { for (node = container.childNodes[lastRng.startOffset]; node && 3 == node.nodeType && !node.data.length; ) node = node.nextSibling; if (node) return "BR" == node.tagName && (container = dom.doc.createTextNode("\ufeff"), node.parentNode.insertBefore(container, node), (rng = dom.createRng()).setStartBefore(container), rng.setEndAfter(container), rects = rng.getClientRects(), dom.remove(container)), rects.length ? rects[0] : void 0; } }(lastRng)) ? top = scrollTop + (rect.top - dom.getPos(body).y) : (top = scrollTop, (rect = lastRng.startContainer) && 1 == (rect = 3 == rect.nodeType && rect.parentNode != body ? rect.parentNode : rect).nodeType && (top = dom.getPos(rect, scrollContainer || body).y))), scrollTop = editor.dom.add(editor.getBody(), "div", { id: "mcepastebin", contentEditable: !0, "data-mce-bogus": "all", style: "position: absolute; top: " + top + "px; width: 10px; height: 10px; overflow: hidden; opacity: 0" }, pasteBinDefaultContent), tinymce.isGecko && dom.setStyle(scrollTop, "left", "rtl" == dom.getStyle(body, "direction", !0) ? 65535 : -65535), dom.bind(scrollTop, "beforedeactivate focusin focusout", function(e) { e.stopPropagation(); }), scrollTop.focus(), editor.selection.select(scrollTop, !0); }(editor, lastRng); }, remove: function() { return function(editor, lastRng) { if (getEl(editor)) { for (var pasteBinClone; pasteBinClone = editor.dom.get("mcepastebin"); ) editor.dom.remove(pasteBinClone), editor.dom.unbind(pasteBinClone); lastRng && editor.selection.setRng(lastRng); } }(editor, lastRng); }, getEl: function() { return getEl(editor); }, getHtml: function() { return function(editor) { function copyAndRemove(toElm, fromElm) { toElm.appendChild(fromElm), editor.dom.remove(fromElm, !0); } var i, dirtyWrappers, cleanWrapper, pasteBinClones = tinymce.grep(editor.getBody().childNodes, function(elm) { return "mcepastebin" === elm.id; }), pasteBinElm = pasteBinClones.shift(); for (tinymce.each(pasteBinClones, function(pasteBinClone) { copyAndRemove(pasteBinElm, pasteBinClone); }), i = (dirtyWrappers = editor.dom.select("div[id=mcepastebin]", pasteBinElm)).length - 1; 0 <= i; i--) cleanWrapper = editor.dom.create("div"), pasteBinElm.insertBefore(cleanWrapper, dirtyWrappers[i]), copyAndRemove(cleanWrapper, dirtyWrappers[i]); return pasteBinElm ? pasteBinElm.innerHTML : ""; }(editor); }, getLastRng: function() { return lastRng; }, isDefaultContent: function(value) { return value === pasteBinDefaultContent; } }; } tinymce.clipboard.FakeClipboard = Object.freeze({ __proto__: null, clearData: clearData, getData: getData$1, hasData: hasData, setData: setData }); function getEl(editor) { return editor.dom.get("mcepastebin"); } var AutoLinkPattern, RangeUtils = tinymce.dom.RangeUtils, Delay = tinymce.util.Delay, draggingInternallyState = !1, pasteBinDefaultContent = "%MCEPASTEBIN%", Dispatcher = tinymce.util.Dispatcher, TAGS = (tinymce.Clipboard = function(editor) { var pasteBin = new PasteBin(editor); editor.onGetClipboardContent = new Dispatcher(this), editor.onPastePreProcess = new Dispatcher(this), editor.onPastePostProcess = new Dispatcher(this), editor.onPasteBeforeInsert = new Dispatcher(this), function(editor) { tinymce.isWebKit && editor.onPastePreProcess.add(function(editor, o) { o.isWordContent || (o.content = function(editor, content) { var dom, node, webKitStyles = editor.settings.paste_webkit_styles; return !0 === editor.settings.paste_remove_styles_if_webkit && "all" != webKitStyles ? (content = (webKitStyles = webKitStyles && webKitStyles.split(/[, ]/)) ? (dom = editor.dom, node = editor.selection.getNode(), content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, function(all, before, value, after) { var inputStyles = dom.parseStyle(value, "span"), outputStyles = {}; if ("none" === webKitStyles) return before + after; for (var i = 0; i < webKitStyles.length; i++) { var inputValue = inputStyles[webKitStyles[i]], currentValue = dom.getStyle(node, webKitStyles[i], !0); /color/.test(webKitStyles[i]) && (inputValue = dom.toHex(inputValue), currentValue = dom.toHex(currentValue)), currentValue != inputValue && (outputStyles[webKitStyles[i]] = inputValue); } return (outputStyles = dom.serializeStyle(outputStyles, "span")) ? before + ' style="' + outputStyles + '"' + after : before + after; })) : content.replace(/(<[^>]+) style="([^"]*)"([^>]*>)/gi, "$1$3")).replace(/(<[^>]+) data-mce-style="([^"]+)"([^>]*>)/gi, function(all, before, value, after) { return before + ' style="' + value + '"' + after; }) : content; }(editor, o.content)); }), (tinymce.isIE || tinymce.isIE12) && editor.onPastePostProcess.add(function(editor, o) { o.isWordContent || (o.content = function(editor, html) { var blockElements = []; return each$5(editor.schema.getBlockElements(), function(block, blockName) { blockElements.push(blockName); }), html = filter(html, [ [ new RegExp("(?:
     [\\s\\r\\n]+|
    )*(<\\/?(" + blockElements.join("|") + ")[^>]*>)(?:
     [\\s\\r\\n]+|
    )*", "g"), "$1" ] ]), filter(html, [ [ /

    /g, "

    " ], [ /
    /g, " " ], [ /

    /g, "
    " ] ]); }(editor, o.content)); }); }(editor), setup$2(editor), editor.onPreInit.add(function() { !function(editor) { editor.onCut.add(cut), editor.onCopy.add(copy); }(editor), function(editor) { editor.settings.paste_block_drop && editor.dom.bind(editor.getBody(), [ "dragend", "dragover", "draggesture", "dragdrop", "drop", "drag" ], function(e) { e.preventDefault(), e.stopPropagation(); }), !1 === editor.settings.paste_data_images && editor.dom.bind(editor.getBody(), "drop", function(e) { var dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && 0 < dataTransfer.files.length && e.preventDefault(); }), editor.dom.bind(editor.getBody(), "drop", function(e) { var dropContent, internal, content, rng = getCaretRangeFromEvent(editor, e); e.isDefaultPrevented() || (internal = hasContentType(dropContent = getDataTransferItems(e.dataTransfer), "x-tinymce/html") || draggingInternallyState, (hasHtmlOrText(dropContent) && !function(content) { return (content = content["text/plain"]) && 0 === content.indexOf("file://"); }(dropContent) || !pasteImageData(e, rng)) && rng && !1 !== editor.settings.paste_filter_drop && (content = dropContent["x-tinymce/html"] || dropContent["text/html"] || dropContent["text/plain"], content = editor.settings.paste_plain_text && dropContent["text/plain"] || content) && (e.preventDefault(), Delay.setEditorTimeout(editor, function() { editor.undoManager.add(), internal && (editor.execCommand("Delete", !1, null, { skip_undo: !0 }), editor.selection.getRng().deleteContents()), setFocusedRange(editor, rng), content = trimHtml(content); var data = {}; !dropContent["text/html"] || editor.settings.paste_plain_text ? data.text = content : (content = function(content) { return content = DOM.create("div", {}, content), each$6(DOM.select("[style]", content), function(elm) { elm.setAttribute("style", elm.getAttribute("data-mce-style") || ""); }), content.innerHTML; }(content), data.content = content, data.internal = internal || draggingInternallyState), editor.execCommand("mceInsertClipboardContent", !1, data, { skip_undo: !0 }); }))); }), editor.dom.bind(editor.getBody(), "dragstart", function(e) { var content; e.isDefaultPrevented() || e.dataTransfer && (draggingInternallyState = !0, e.altKey && (e.dataTransfer.effectAllowed = "copy", e.dataTransfer.dropEffect = "copy"), content = editor.selection.getContent({ contextual: !0 })) && (content = function(content) { return content = DOM.create("div", {}, content), each$6(DOM.select("[style]", content), function(elm) { var style = elm.getAttribute("style"); style && elm.setAttribute("data-mce-style", style); }), content.innerHTML; }(content), e.dataTransfer.setData("x-tinymce/html", content)); }), editor.dom.bind(editor.getBody(), [ "dragover", "dragend" ], function(e) { editor.settings.clipboard_paste_data_images && 0 == draggingInternallyState && (e.preventDefault(), setFocusedRange(editor, getCaretRangeFromEvent(editor, e))), "dragend" == e.type && (draggingInternallyState = !1); }); }(editor), setup$1(editor, pasteBin); }); }, function(tinymce) { function funescape(_, escaped, escapedWhitespace) { var high = "0x" + escaped - 65536; return high != high || escapedWhitespace ? escaped : high < 0 ? String.fromCharCode(65536 + high) : String.fromCharCode(high >> 10 | 55296, 1023 & high | 56320); } var i, support, Expr, getText, isXML, tokenize, compile, select, outermostContext, sortInput, hasDuplicate, setDocument, document, docElem, documentIsHTML, rbuggyQSA, rbuggyMatches, matches, contains, expando = "sizzle" + -new Date(), preferredDoc = window.document, dirruns = 0, done = 0, classCache = createCache(), tokenCache = createCache(), compilerCache = createCache(), sortOrder = function(a, b) { return a === b && (hasDuplicate = !0), 0; }, strundefined = "undefined", hasOwn = {}.hasOwnProperty, arr = [], pop = arr.pop, push_native = arr.push, push = arr.push, slice = arr.slice, indexOf = arr.indexOf || function(elem) { for (var i = 0, len = this.length; i < len; i++) if (this[i] === elem) return i; return -1; }, booleans = "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", whitespace = "[\\x20\\t\\r\\n\\f]", identifier = "(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+", attributes = "\\[" + whitespace + "*(" + identifier + ")(?:" + whitespace + "*([*^$|!~]?=)" + whitespace + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + identifier + "))|)" + whitespace + "*\\]", pseudos = ":(" + identifier + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + attributes + ")*)|.*)\\)|)", rtrim = new RegExp("^" + whitespace + "+|((?:^|[^\\\\])(?:\\\\.)*)" + whitespace + "+$", "g"), rcomma = new RegExp("^" + whitespace + "*," + whitespace + "*"), rcombinators = new RegExp("^" + whitespace + "*([>+~]|" + whitespace + ")" + whitespace + "*"), rattributeQuotes = new RegExp("=" + whitespace + "*([^\\]'\"]*?)" + whitespace + "*\\]", "g"), rpseudo = new RegExp(pseudos), ridentifier = new RegExp("^" + identifier + "$"), matchExpr = { ID: new RegExp("^#(" + identifier + ")"), CLASS: new RegExp("^\\.(" + identifier + ")"), TAG: new RegExp("^(" + identifier + "|[*])"), ATTR: new RegExp("^" + attributes), PSEUDO: new RegExp("^" + pseudos), CHILD: new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + whitespace + "*(even|odd|(([+-]|)(\\d*)n|)" + whitespace + "*(?:([+-]|)" + whitespace + "*(\\d+)|))" + whitespace + "*\\)|)", "i"), bool: new RegExp("^(?:" + booleans + ")$", "i"), needsContext: new RegExp("^" + whitespace + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + whitespace + "*((?:-\\d)?\\d*)" + whitespace + "*\\)|)(?=[^-]|$)", "i") }, rinputs = /^(?:input|select|textarea|button)$/i, rheader = /^h\d$/i, rnative = /^[^{]+\{\s*\[native \w/, rquickExpr = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, rsibling = /[+~]/, rescape = /'|\\/g, runescape = new RegExp("\\\\([\\da-f]{1,6}" + whitespace + "?|(" + whitespace + ")|.)", "ig"); try { push.apply(arr = slice.call(preferredDoc.childNodes), preferredDoc.childNodes), arr[preferredDoc.childNodes.length].nodeType; } catch (e) { push = { apply: arr.length ? function(target, els) { push_native.apply(target, slice.call(els)); } : function(target, els) { for (var j = target.length, i = 0; target[j++] = els[i++]; ); target.length = j - 1; } }; } function Sizzle(selector, context, results, seed) { var nodeType, i, groups, elem, nid, match, m; if ((context ? context.ownerDocument || context : preferredDoc) !== document && setDocument(context), results = results || [], !selector || "string" != typeof selector) return results; if (1 !== (nodeType = (context = context || document).nodeType) && 9 !== nodeType) return []; if (documentIsHTML && !seed) { if (match = rquickExpr.exec(selector)) if (m = match[1]) { if (9 === nodeType) { if (!(elem = context.getElementById(m)) || !elem.parentNode) return results; if (elem.id === m) return results.push(elem), results; } else if (context.ownerDocument && (elem = context.ownerDocument.getElementById(m)) && contains(context, elem) && elem.id === m) return results.push(elem), results; } else { if (match[2]) return push.apply(results, context.getElementsByTagName(selector)), results; if ((m = match[3]) && support.getElementsByClassName) return push.apply(results, context.getElementsByClassName(m)), results; } if (support.qsa && (!rbuggyQSA || !rbuggyQSA.test(selector))) { if (nid = elem = expando, match = context, m = 9 === nodeType && selector, 1 === nodeType && "object" !== context.nodeName.toLowerCase()) { for (groups = tokenize(selector), (elem = context.getAttribute("id")) ? nid = elem.replace(rescape, "\\$&") : context.setAttribute("id", nid), nid = "[id='" + nid + "'] ", i = groups.length; i--; ) groups[i] = nid + toSelector(groups[i]); match = rsibling.test(selector) && testContext(context.parentNode) || context, m = groups.join(","); } if (m) try { return push.apply(results, match.querySelectorAll(m)), results; } catch (qsaError) {} finally { elem || context.removeAttribute("id"); } } } return select(selector.replace(rtrim, "$1"), context, results, seed); } function createCache() { var keys = []; function cache(key, value) { return keys.push(key + " ") > Expr.cacheLength && delete cache[keys.shift()], cache[key + " "] = value; } return cache; } function markFunction(fn) { return fn[expando] = !0, fn; } function assert(fn) { var div = document.createElement("div"); try { return !!fn(div); } catch (e) { return !1; } finally { div.parentNode && div.parentNode.removeChild(div); } } function addHandle(attrs, handler) { for (var arr = attrs.split("|"), i = attrs.length; i--; ) Expr.attrHandle[arr[i]] = handler; } function siblingCheck(a, b) { var cur = b && a, diff = cur && 1 === a.nodeType && 1 === b.nodeType && (~b.sourceIndex || 1 << 31) - (~a.sourceIndex || 1 << 31); if (diff) return diff; if (cur) for (;cur = cur.nextSibling; ) if (cur === b) return -1; return a ? 1 : -1; } function createPositionalPseudo(fn) { return markFunction(function(argument) { return argument = +argument, markFunction(function(seed, matches) { for (var j, matchIndexes = fn([], seed.length, argument), i = matchIndexes.length; i--; ) seed[j = matchIndexes[i]] && (seed[j] = !(matches[j] = seed[j])); }); }); } function testContext(context) { return context && typeof context.getElementsByTagName !== strundefined && context; } for (i in support = Sizzle.support = {}, isXML = Sizzle.isXML = function(elem) { return !!(elem = elem && (elem.ownerDocument || elem).documentElement) && "HTML" !== elem.nodeName; }, setDocument = Sizzle.setDocument = function(node) { var doc = node ? node.ownerDocument || node : preferredDoc, node = doc.defaultView; return doc !== document && 9 === doc.nodeType && doc.documentElement ? (docElem = (document = doc).documentElement, documentIsHTML = !isXML(doc), node && node !== function(win) { try { return win.top; } catch (ex) {} return null; }(node) && (node.addEventListener ? node.addEventListener("unload", function() { setDocument(); }, !1) : node.attachEvent && node.attachEvent("onunload", function() { setDocument(); })), support.attributes = assert(function(div) { return div.className = "i", !div.getAttribute("className"); }), support.getElementsByTagName = assert(function(div) { return div.appendChild(doc.createComment("")), !div.getElementsByTagName("*").length; }), support.getElementsByClassName = rnative.test(doc.getElementsByClassName), support.getById = assert(function(div) { return docElem.appendChild(div).id = expando, !doc.getElementsByName || !doc.getElementsByName(expando).length; }), support.getById ? (Expr.find.ID = function(id, context) { if (typeof context.getElementById !== strundefined && documentIsHTML) return (context = context.getElementById(id)) && context.parentNode ? [ context ] : []; }, Expr.filter.ID = function(id) { var attrId = id.replace(runescape, funescape); return function(elem) { return elem.getAttribute("id") === attrId; }; }) : (delete Expr.find.ID, Expr.filter.ID = function(id) { var attrId = id.replace(runescape, funescape); return function(elem) { return (elem = typeof elem.getAttributeNode !== strundefined && elem.getAttributeNode("id")) && elem.value === attrId; }; }), Expr.find.TAG = support.getElementsByTagName ? function(tag, context) { if (typeof context.getElementsByTagName !== strundefined) return context.getElementsByTagName(tag); } : function(tag, context) { var elem, tmp = [], i = 0, results = context.getElementsByTagName(tag); if ("*" !== tag) return results; for (;elem = results[i++]; ) 1 === elem.nodeType && tmp.push(elem); return tmp; }, Expr.find.CLASS = support.getElementsByClassName && function(className, context) { if (documentIsHTML) return context.getElementsByClassName(className); }, rbuggyMatches = [], rbuggyQSA = [], (support.qsa = rnative.test(doc.querySelectorAll)) && (assert(function(div) { div.innerHTML = "", div.querySelectorAll("[msallowcapture^='']").length && rbuggyQSA.push("[*^$]=" + whitespace + "*(?:''|\"\")"), div.querySelectorAll("[selected]").length || rbuggyQSA.push("\\[" + whitespace + "*(?:value|" + booleans + ")"), div.querySelectorAll(":checked").length || rbuggyQSA.push(":checked"); }), assert(function(div) { var input = doc.createElement("input"); input.setAttribute("type", "hidden"), div.appendChild(input).setAttribute("name", "D"), div.querySelectorAll("[name=d]").length && rbuggyQSA.push("name" + whitespace + "*[*^$|!~]?="), div.querySelectorAll(":enabled").length || rbuggyQSA.push(":enabled", ":disabled"), div.querySelectorAll("*,:x"), rbuggyQSA.push(",.*:"); })), (support.matchesSelector = rnative.test(matches = docElem.matches || docElem.webkitMatchesSelector || docElem.mozMatchesSelector || docElem.oMatchesSelector || docElem.msMatchesSelector)) && assert(function(div) { support.disconnectedMatch = matches.call(div, "div"), matches.call(div, "[s!='']:x"), rbuggyMatches.push("!=", pseudos); }), rbuggyQSA = rbuggyQSA.length && new RegExp(rbuggyQSA.join("|")), rbuggyMatches = rbuggyMatches.length && new RegExp(rbuggyMatches.join("|")), node = rnative.test(docElem.compareDocumentPosition), contains = node || rnative.test(docElem.contains) ? function(a, b) { var adown = 9 === a.nodeType ? a.documentElement : a; return a === (b = b && b.parentNode) || !(!b || 1 !== b.nodeType || !(adown.contains ? adown.contains(b) : a.compareDocumentPosition && 16 & a.compareDocumentPosition(b))); } : function(a, b) { if (b) for (;b = b.parentNode; ) if (b === a) return !0; return !1; }, sortOrder = node ? function(a, b) { var compare; return a === b ? (hasDuplicate = !0, 0) : !a.compareDocumentPosition - !b.compareDocumentPosition || (1 & (compare = (a.ownerDocument || a) === (b.ownerDocument || b) ? a.compareDocumentPosition(b) : 1) || !support.sortDetached && b.compareDocumentPosition(a) === compare ? a === doc || a.ownerDocument === preferredDoc && contains(preferredDoc, a) ? -1 : b === doc || b.ownerDocument === preferredDoc && contains(preferredDoc, b) ? 1 : sortInput ? indexOf.call(sortInput, a) - indexOf.call(sortInput, b) : 0 : 4 & compare ? -1 : 1); } : function(a, b) { if (a === b) return hasDuplicate = !0, 0; var cur, i = 0, aup = a.parentNode, bup = b.parentNode, ap = [ a ], bp = [ b ]; if (!aup || !bup) return a === doc ? -1 : b === doc ? 1 : aup ? -1 : bup ? 1 : sortInput ? indexOf.call(sortInput, a) - indexOf.call(sortInput, b) : 0; if (aup === bup) return siblingCheck(a, b); for (cur = a; cur = cur.parentNode; ) ap.unshift(cur); for (cur = b; cur = cur.parentNode; ) bp.unshift(cur); for (;ap[i] === bp[i]; ) i++; return i ? siblingCheck(ap[i], bp[i]) : ap[i] === preferredDoc ? -1 : bp[i] === preferredDoc ? 1 : 0; }, doc) : document; }, Sizzle.matches = function(expr, elements) { return Sizzle(expr, null, null, elements); }, Sizzle.matchesSelector = function(elem, expr) { if ((elem.ownerDocument || elem) !== document && setDocument(elem), expr = expr.replace(rattributeQuotes, "='$1']"), support.matchesSelector && documentIsHTML && (!rbuggyMatches || !rbuggyMatches.test(expr)) && (!rbuggyQSA || !rbuggyQSA.test(expr))) try { var ret = matches.call(elem, expr); if (ret || support.disconnectedMatch || elem.document && 11 !== elem.document.nodeType) return ret; } catch (e) {} return 0 < Sizzle(expr, document, null, [ elem ]).length; }, Sizzle.contains = function(context, elem) { return (context.ownerDocument || context) !== document && setDocument(context), contains(context, elem); }, Sizzle.attr = function(elem, name) { (elem.ownerDocument || elem) !== document && setDocument(elem); var fn = Expr.attrHandle[name.toLowerCase()]; return void 0 !== (fn = fn && hasOwn.call(Expr.attrHandle, name.toLowerCase()) ? fn(elem, name, !documentIsHTML) : void 0) ? fn : support.attributes || !documentIsHTML ? elem.getAttribute(name) : (fn = elem.getAttributeNode(name)) && fn.specified ? fn.value : null; }, Sizzle.error = function(msg) { throw new Error("Syntax error, unrecognized expression: " + msg); }, Sizzle.uniqueSort = function(results) { var elem, duplicates = [], j = 0, i = 0; if (hasDuplicate = !support.detectDuplicates, sortInput = !support.sortStable && results.slice(0), results.sort(sortOrder), hasDuplicate) { for (;elem = results[i++]; ) elem === results[i] && (j = duplicates.push(i)); for (;j--; ) results.splice(duplicates[j], 1); } return sortInput = null, results; }, getText = Sizzle.getText = function(elem) { var node, ret = "", i = 0, nodeType = elem.nodeType; if (nodeType) { if (1 === nodeType || 9 === nodeType || 11 === nodeType) { if ("string" == typeof elem.textContent) return elem.textContent; for (elem = elem.firstChild; elem; elem = elem.nextSibling) ret += getText(elem); } else if (3 === nodeType || 4 === nodeType) return elem.nodeValue; } else for (;node = elem[i++]; ) ret += getText(node); return ret; }, (Expr = Sizzle.selectors = { cacheLength: 50, createPseudo: markFunction, match: matchExpr, attrHandle: {}, find: {}, relative: { ">": { dir: "parentNode", first: !0 }, " ": { dir: "parentNode" }, "+": { dir: "previousSibling", first: !0 }, "~": { dir: "previousSibling" } }, preFilter: { ATTR: function(match) { return match[1] = match[1].replace(runescape, funescape), match[3] = (match[3] || match[4] || match[5] || "").replace(runescape, funescape), "~=" === match[2] && (match[3] = " " + match[3] + " "), match.slice(0, 4); }, CHILD: function(match) { return match[1] = match[1].toLowerCase(), "nth" === match[1].slice(0, 3) ? (match[3] || Sizzle.error(match[0]), match[4] = +(match[4] ? match[5] + (match[6] || 1) : 2 * ("even" === match[3] || "odd" === match[3])), match[5] = +(match[7] + match[8] || "odd" === match[3])) : match[3] && Sizzle.error(match[0]), match; }, PSEUDO: function(match) { var excess, unquoted = !match[6] && match[2]; return matchExpr.CHILD.test(match[0]) ? null : (match[3] ? match[2] = match[4] || match[5] || "" : unquoted && rpseudo.test(unquoted) && (excess = (excess = tokenize(unquoted, !0)) && unquoted.indexOf(")", unquoted.length - excess) - unquoted.length) && (match[0] = match[0].slice(0, excess), match[2] = unquoted.slice(0, excess)), match.slice(0, 3)); } }, filter: { TAG: function(nodeNameSelector) { var nodeName = nodeNameSelector.replace(runescape, funescape).toLowerCase(); return "*" === nodeNameSelector ? function() { return !0; } : function(elem) { return elem.nodeName && elem.nodeName.toLowerCase() === nodeName; }; }, CLASS: function(className) { var pattern = classCache[className + " "]; return pattern || (pattern = new RegExp("(^|" + whitespace + ")" + className + "(" + whitespace + "|$)")) && classCache(className, function(elem) { return pattern.test("string" == typeof elem.className && elem.className || typeof elem.getAttribute !== strundefined && elem.getAttribute("class") || ""); }); }, ATTR: function(name, operator, check) { return function(elem) { return null == (elem = Sizzle.attr(elem, name)) ? "!=" === operator : !operator || (elem += "", "=" === operator ? elem === check : "!=" === operator ? elem !== check : "^=" === operator ? check && 0 === elem.indexOf(check) : "*=" === operator ? check && -1 < elem.indexOf(check) : "$=" === operator ? check && elem.slice(-check.length) === check : "~=" === operator ? -1 < (" " + elem + " ").indexOf(check) : "|=" === operator && (elem === check || elem.slice(0, check.length + 1) === check + "-")); }; }, CHILD: function(type, what, argument, first, last) { var simple = "nth" !== type.slice(0, 3), forward = "last" !== type.slice(-4), ofType = "of-type" === what; return 1 === first && 0 === last ? function(elem) { return !!elem.parentNode; } : function(elem, context, xml) { var cache, outerCache, node, diff, nodeIndex, start, dir = simple != forward ? "nextSibling" : "previousSibling", parent = elem.parentNode, name = ofType && elem.nodeName.toLowerCase(), useCache = !xml && !ofType; if (parent) { if (simple) { for (;dir; ) { for (node = elem; node = node[dir]; ) if (ofType ? node.nodeName.toLowerCase() === name : 1 === node.nodeType) return !1; start = dir = "only" === type && !start && "nextSibling"; } return !0; } if (start = [ forward ? parent.firstChild : parent.lastChild ], forward && useCache) { for (nodeIndex = (cache = (outerCache = parent[expando] || (parent[expando] = {}))[type] || [])[0] === dirruns && cache[1], diff = cache[0] === dirruns && cache[2], node = nodeIndex && parent.childNodes[nodeIndex]; node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0, start.pop()); ) if (1 === node.nodeType && ++diff && node === elem) { outerCache[type] = [ dirruns, nodeIndex, diff ]; break; } } else if (useCache && (cache = (elem[expando] || (elem[expando] = {}))[type]) && cache[0] === dirruns) diff = cache[1]; else for (;(node = ++nodeIndex && node && node[dir] || (diff = nodeIndex = 0, start.pop())) && ((ofType ? node.nodeName.toLowerCase() !== name : 1 !== node.nodeType) || !++diff || (useCache && ((node[expando] || (node[expando] = {}))[type] = [ dirruns, diff ]), node !== elem)); ); return (diff -= last) === first || diff % first == 0 && 0 <= diff / first; } }; }, PSEUDO: function(pseudo, argument) { var args, fn = Expr.pseudos[pseudo] || Expr.setFilters[pseudo.toLowerCase()] || Sizzle.error("unsupported pseudo: " + pseudo); return fn[expando] ? fn(argument) : 1 < fn.length ? (args = [ pseudo, pseudo, "", argument ], Expr.setFilters.hasOwnProperty(pseudo.toLowerCase()) ? markFunction(function(seed, matches) { for (var idx, matched = fn(seed, argument), i = matched.length; i--; ) seed[idx = indexOf.call(seed, matched[i])] = !(matches[idx] = matched[i]); }) : function(elem) { return fn(elem, 0, args); }) : fn; } }, pseudos: { not: markFunction(function(selector) { var input = [], results = [], matcher = compile(selector.replace(rtrim, "$1")); return matcher[expando] ? markFunction(function(seed, matches, context, xml) { for (var elem, unmatched = matcher(seed, null, xml, []), i = seed.length; i--; ) (elem = unmatched[i]) && (seed[i] = !(matches[i] = elem)); }) : function(elem, context, xml) { return input[0] = elem, matcher(input, null, xml, results), !results.pop(); }; }), has: markFunction(function(selector) { return function(elem) { return 0 < Sizzle(selector, elem).length; }; }), contains: markFunction(function(text) { return text = text.replace(runescape, funescape), function(elem) { return -1 < (elem.textContent || elem.innerText || getText(elem)).indexOf(text); }; }), lang: markFunction(function(lang) { return ridentifier.test(lang || "") || Sizzle.error("unsupported lang: " + lang), lang = lang.replace(runescape, funescape).toLowerCase(), function(elem) { var elemLang; do { if (elemLang = documentIsHTML ? elem.lang : elem.getAttribute("xml:lang") || elem.getAttribute("lang")) return (elemLang = elemLang.toLowerCase()) === lang || 0 === elemLang.indexOf(lang + "-"); } while ((elem = elem.parentNode) && 1 === elem.nodeType); return !1; }; }), target: function(elem) { var hash = window.location && window.location.hash; return hash && hash.slice(1) === elem.id; }, root: function(elem) { return elem === docElem; }, focus: function(elem) { return elem === document.activeElement && (!document.hasFocus || document.hasFocus()) && !!(elem.type || elem.href || ~elem.tabIndex); }, enabled: function(elem) { return !1 === elem.disabled; }, disabled: function(elem) { return !0 === elem.disabled; }, checked: function(elem) { var nodeName = elem.nodeName.toLowerCase(); return "input" === nodeName && !!elem.checked || "option" === nodeName && !!elem.selected; }, selected: function(elem) { return elem.parentNode && elem.parentNode.selectedIndex, !0 === elem.selected; }, empty: function(elem) { for (elem = elem.firstChild; elem; elem = elem.nextSibling) if (elem.nodeType < 6) return !1; return !0; }, parent: function(elem) { return !Expr.pseudos.empty(elem); }, header: function(elem) { return rheader.test(elem.nodeName); }, input: function(elem) { return rinputs.test(elem.nodeName); }, button: function(elem) { var name = elem.nodeName.toLowerCase(); return "input" === name && "button" === elem.type || "button" === name; }, text: function(elem) { return "input" === elem.nodeName.toLowerCase() && "text" === elem.type && (null == (elem = elem.getAttribute("type")) || "text" === elem.toLowerCase()); }, first: createPositionalPseudo(function() { return [ 0 ]; }), last: createPositionalPseudo(function(matchIndexes, length) { return [ length - 1 ]; }), eq: createPositionalPseudo(function(matchIndexes, length, argument) { return [ argument < 0 ? argument + length : argument ]; }), even: createPositionalPseudo(function(matchIndexes, length) { for (var i = 0; i < length; i += 2) matchIndexes.push(i); return matchIndexes; }), odd: createPositionalPseudo(function(matchIndexes, length) { for (var i = 1; i < length; i += 2) matchIndexes.push(i); return matchIndexes; }), lt: createPositionalPseudo(function(matchIndexes, length, argument) { for (var i = argument < 0 ? argument + length : argument; 0 <= --i; ) matchIndexes.push(i); return matchIndexes; }), gt: createPositionalPseudo(function(matchIndexes, length, argument) { for (var i = argument < 0 ? argument + length : argument; ++i < length; ) matchIndexes.push(i); return matchIndexes; }) } }).pseudos.nth = Expr.pseudos.eq, { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 }) Expr.pseudos[i] = function(type) { return function(elem) { return "input" === elem.nodeName.toLowerCase() && elem.type === type; }; }(i); for (i in { submit: !0, reset: !0 }) Expr.pseudos[i] = function(type) { return function(elem) { var name = elem.nodeName.toLowerCase(); return ("input" === name || "button" === name) && elem.type === type; }; }(i); function setFilters() {} function toSelector(tokens) { for (var i = 0, len = tokens.length, selector = ""; i < len; i++) selector += tokens[i].value; return selector; } function addCombinator(matcher, combinator, base) { var dir = combinator.dir, checkNonElements = base && "parentNode" === dir, doneName = done++; return combinator.first ? function(elem, context, xml) { for (;elem = elem[dir]; ) if (1 === elem.nodeType || checkNonElements) return matcher(elem, context, xml); } : function(elem, context, xml) { var oldCache, outerCache, newCache = [ dirruns, doneName ]; if (xml) { for (;elem = elem[dir]; ) if ((1 === elem.nodeType || checkNonElements) && matcher(elem, context, xml)) return !0; } else for (;elem = elem[dir]; ) if (1 === elem.nodeType || checkNonElements) { if ((oldCache = (outerCache = elem[expando] || (elem[expando] = {}))[dir]) && oldCache[0] === dirruns && oldCache[1] === doneName) return newCache[2] = oldCache[2]; if ((outerCache[dir] = newCache)[2] = matcher(elem, context, xml)) return !0; } }; } function elementMatcher(matchers) { return 1 < matchers.length ? function(elem, context, xml) { for (var i = matchers.length; i--; ) if (!matchers[i](elem, context, xml)) return !1; return !0; } : matchers[0]; } function condense(unmatched, map, filter, context, xml) { for (var elem, newUnmatched = [], i = 0, len = unmatched.length, mapped = null != map; i < len; i++) !(elem = unmatched[i]) || filter && !filter(elem, context, xml) || (newUnmatched.push(elem), mapped && map.push(i)); return newUnmatched; } setFilters.prototype = Expr.filters = Expr.pseudos, Expr.setFilters = new setFilters(), tokenize = Sizzle.tokenize = function(selector, parseOnly) { var matched, match, tokens, type, soFar, groups, preFilters, cached = tokenCache[selector + " "]; if (cached) return parseOnly ? 0 : cached.slice(0); for (soFar = selector, groups = [], preFilters = Expr.preFilter; soFar; ) { for (type in matched && !(match = rcomma.exec(soFar)) || (match && (soFar = soFar.slice(match[0].length) || soFar), groups.push(tokens = [])), matched = !1, (match = rcombinators.exec(soFar)) && (matched = match.shift(), tokens.push({ value: matched, type: match[0].replace(rtrim, " ") }), soFar = soFar.slice(matched.length)), Expr.filter) !(match = matchExpr[type].exec(soFar)) || preFilters[type] && !(match = preFilters[type](match)) || (matched = match.shift(), tokens.push({ value: matched, type: type, matches: match }), soFar = soFar.slice(matched.length)); if (!matched) break; } return parseOnly ? soFar.length : soFar ? Sizzle.error(selector) : tokenCache(selector, groups).slice(0); }, compile = Sizzle.compile = function(selector, match) { var i, setMatchers = [], elementMatchers = [], cached = compilerCache[selector + " "]; if (!cached) { for (i = (match = match || tokenize(selector)).length; i--; ) ((cached = function matcherFromTokens(tokens) { for (var checkContext, matcher, j, len = tokens.length, leadingRelative = Expr.relative[tokens[0].type], implicitRelative = leadingRelative || Expr.relative[" "], i = leadingRelative ? 1 : 0, matchContext = addCombinator(function(elem) { return elem === checkContext; }, implicitRelative, !0), matchAnyContext = addCombinator(function(elem) { return -1 < indexOf.call(checkContext, elem); }, implicitRelative, !0), matchers = [ function(elem, context, xml) { return !leadingRelative && (xml || context !== outermostContext) || ((checkContext = context).nodeType ? matchContext : matchAnyContext)(elem, context, xml); } ]; i < len; i++) if (matcher = Expr.relative[tokens[i].type]) matchers = [ addCombinator(elementMatcher(matchers), matcher) ]; else { if ((matcher = Expr.filter[tokens[i].type].apply(null, tokens[i].matches))[expando]) { for (j = ++i; j < len && !Expr.relative[tokens[j].type]; j++); return function setMatcher(preFilter, selector, matcher, postFilter, postFinder, postSelector) { return postFilter && !postFilter[expando] && (postFilter = setMatcher(postFilter)), postFinder && !postFinder[expando] && (postFinder = setMatcher(postFinder, postSelector)), markFunction(function(seed, results, context, xml) { var temp, i, elem, preMap = [], postMap = [], preexisting = results.length, elems = seed || function(selector, contexts, results) { for (var i = 0, len = contexts.length; i < len; i++) Sizzle(selector, contexts[i], results); return results; }(selector || "*", context.nodeType ? [ context ] : context, []), matcherIn = !preFilter || !seed && selector ? elems : condense(elems, preMap, preFilter, context, xml), matcherOut = matcher ? postFinder || (seed ? preFilter : preexisting || postFilter) ? [] : results : matcherIn; if (matcher && matcher(matcherIn, matcherOut, context, xml), postFilter) for (temp = condense(matcherOut, postMap), postFilter(temp, [], context, xml), i = temp.length; i--; ) (elem = temp[i]) && (matcherOut[postMap[i]] = !(matcherIn[postMap[i]] = elem)); if (seed) { if (postFinder || preFilter) { if (postFinder) { for (temp = [], i = matcherOut.length; i--; ) (elem = matcherOut[i]) && temp.push(matcherIn[i] = elem); postFinder(null, matcherOut = [], temp, xml); } for (i = matcherOut.length; i--; ) (elem = matcherOut[i]) && -1 < (temp = postFinder ? indexOf.call(seed, elem) : preMap[i]) && (seed[temp] = !(results[temp] = elem)); } } else matcherOut = condense(matcherOut === results ? matcherOut.splice(preexisting, matcherOut.length) : matcherOut), postFinder ? postFinder(null, results, matcherOut, xml) : push.apply(results, matcherOut); }); }(1 < i && elementMatcher(matchers), 1 < i && toSelector(tokens.slice(0, i - 1).concat({ value: " " === tokens[i - 2].type ? "*" : "" })).replace(rtrim, "$1"), matcher, i < j && matcherFromTokens(tokens.slice(i, j)), j < len && matcherFromTokens(tokens = tokens.slice(j)), j < len && toSelector(tokens)); } matchers.push(matcher); } return elementMatcher(matchers); }(match[i]))[expando] ? setMatchers : elementMatchers).push(cached); (cached = compilerCache(selector, function(elementMatchers, setMatchers) { function superMatcher(seed, context, xml, results, outermost) { var elem, j, matcher, matchedCount = 0, i = "0", unmatched = seed && [], setMatched = [], contextBackup = outermostContext, elems = seed || byElement && Expr.find.TAG("*", outermost), dirrunsUnique = dirruns += null == contextBackup ? 1 : Math.random() || .1, len = elems.length; for (outermost && (outermostContext = context !== document && context); i !== len && null != (elem = elems[i]); i++) { if (byElement && elem) { for (j = 0; matcher = elementMatchers[j++]; ) if (matcher(elem, context, xml)) { results.push(elem); break; } outermost && (dirruns = dirrunsUnique); } bySet && ((elem = !matcher && elem) && matchedCount--, seed) && unmatched.push(elem); } if (matchedCount += i, bySet && i !== matchedCount) { for (j = 0; matcher = setMatchers[j++]; ) matcher(unmatched, setMatched, context, xml); if (seed) { if (0 < matchedCount) for (;i--; ) unmatched[i] || setMatched[i] || (setMatched[i] = pop.call(results)); setMatched = condense(setMatched); } push.apply(results, setMatched), outermost && !seed && 0 < setMatched.length && 1 < matchedCount + setMatchers.length && Sizzle.uniqueSort(results); } return outermost && (dirruns = dirrunsUnique, outermostContext = contextBackup), unmatched; } var bySet = 0 < setMatchers.length, byElement = 0 < elementMatchers.length; return bySet ? markFunction(superMatcher) : superMatcher; }(elementMatchers, setMatchers))).selector = selector; } return cached; }, select = Sizzle.select = function(selector, context, results, seed) { var i, tokens, token, type, find, compiled = "function" == typeof selector && selector, match = !seed && tokenize(selector = compiled.selector || selector); if (results = results || [], 1 === match.length) { if (2 < (tokens = match[0] = match[0].slice(0)).length && "ID" === (token = tokens[0]).type && support.getById && 9 === context.nodeType && documentIsHTML && Expr.relative[tokens[1].type]) { if (!(context = (Expr.find.ID(token.matches[0].replace(runescape, funescape), context) || [])[0])) return results; compiled && (context = context.parentNode), selector = selector.slice(tokens.shift().value.length); } for (i = matchExpr.needsContext.test(selector) ? 0 : tokens.length; i-- && (token = tokens[i], !Expr.relative[type = token.type]); ) if ((find = Expr.find[type]) && (seed = find(token.matches[0].replace(runescape, funescape), rsibling.test(tokens[0].type) && testContext(context.parentNode) || context))) { if (tokens.splice(i, 1), selector = seed.length && toSelector(tokens)) break; return push.apply(results, seed), results; } } return (compiled || compile(selector, match))(seed, context, !documentIsHTML, results, rsibling.test(selector) && testContext(context.parentNode) || context), results; }, support.sortStable = expando.split("").sort(sortOrder).join("") === expando, support.detectDuplicates = !!hasDuplicate, setDocument(), support.sortDetached = assert(function(div1) { return 1 & div1.compareDocumentPosition(document.createElement("div")); }), assert(function(div) { return div.innerHTML = "", "#" === div.firstChild.getAttribute("href"); }) || addHandle("type|href|height|width", function(elem, name, isXML) { if (!isXML) return elem.getAttribute(name, "type" === name.toLowerCase() ? 1 : 2); }), support.attributes && assert(function(div) { return div.innerHTML = "", div.firstChild.setAttribute("value", ""), "" === div.firstChild.getAttribute("value"); }) || addHandle("value", function(elem, name, isXML) { if (!isXML && "input" === elem.nodeName.toLowerCase()) return elem.defaultValue; }), assert(function(div) { return null == div.getAttribute("disabled"); }) || addHandle(booleans, function(elem, name, isXML) { if (!isXML) return !0 === elem[name] ? name.toLowerCase() : (isXML = elem.getAttributeNode(name)) && isXML.specified ? isXML.value : null; }), tinymce.dom.Sizzle = Sizzle; }(tinymce), function(tinymce) { function getPos(elm) { for (var x = 0, y = 0, offsetParent = elm; offsetParent && offsetParent.nodeType; ) x += offsetParent.offsetLeft || 0, y += offsetParent.offsetTop || 0, offsetParent = offsetParent.offsetParent; return { x: x, y: y }; } var NodeType = tinymce.dom.NodeType, Dispatcher = tinymce.util.Dispatcher; tinymce.dom.ScrollIntoView = function(editor, elm, alignToTop) { var y, viewPortY, viewPortH, dom = editor.dom, root = dom.getRoot(), offsetY = 0; editor.onScrollIntoView = new Dispatcher(), !function(editor, elm, alignToTop) { return editor.onScrollIntoView.dispatch(editor, elm = { elm: elm, alignToTop: alignToTop, cancel: !1 }), !0 === elm.cancel; }(editor, elm, alignToTop) && NodeType.isElement(elm) && (!1 === alignToTop && (offsetY = elm.offsetHeight), "BODY" !== root.nodeName && (alignToTop = editor.selection.getScrollContainer()) ? (y = getPos(elm).y - getPos(alignToTop).y + offsetY, viewPortH = alignToTop.clientHeight, (y < (viewPortY = alignToTop.scrollTop) || viewPortY + viewPortH < y + 25) && (alignToTop.scrollTop = y < viewPortY ? y : y - viewPortH + 25)) : (root = dom.getViewPort(editor.getWin()), y = dom.getPos(elm).y + offsetY, viewPortY = root.y, viewPortH = root.h, (y < root.y || viewPortY + viewPortH < y + 25) && editor.getWin().scrollTo(0, y < viewPortY ? y : y - viewPortH + 25))); }; }(tinymce), function(tinymce) { function trimEmptyTextNode(node) { NodeType.isText(node) && 0 === node.data.length && node.parentNode.removeChild(node); } var NodeType = tinymce.dom.NodeType, CaretBookmark = tinymce.caret.CaretBookmark, CaretContainer = tinymce.caret.CaretContainer, CaretPosition = tinymce.caret.CaretPosition, RangeUtils = tinymce.dom.RangeUtils, Zwsp = tinymce.text.Zwsp, Arr = tinymce.util.Arr, isContentEditableFalse = NodeType.isContentEditableFalse; function BookmarkManager(selection) { var dom = selection.dom; this.getBookmark = function(type, normalized) { var rng, collapsed, styles, chr = ""; function findIndex(name, element) { var count = 0; return tinymce.each(dom.select(name), function(node) { if ("all" !== node.getAttribute("data-mce-bogus")) return node != element && void count++; }), count; } function normalizeTableCellSelection(rng) { function moveEndPoint(start) { var childNodes, container = rng[(prefix = start ? "start" : "end") + "Container"], prefix = rng[prefix + "Offset"]; 1 == container.nodeType && "TR" == container.nodeName && (container = (childNodes = container.childNodes)[Math.min(start ? prefix : prefix - 1, childNodes.length - 1)]) && (prefix = start ? 0 : container.childNodes.length, rng["set" + (start ? "Start" : "End")](container, prefix)); } return moveEndPoint(!0), moveEndPoint(), rng; } if (2 == type) return name = (element = selection.getNode()) ? element.nodeName : null, rng = selection.getRng(), isContentEditableFalse(element) || "IMG" == name ? { name: name, index: findIndex(name, element) } : selection.tridentSel ? selection.tridentSel.getBookmark(type) : (element = function(rng) { function findSibling(node, offset) { return NodeType.isElement(node) && (node = RangeUtils.getNode(node, offset), isContentEditableFalse(node)) ? node : CaretContainer.isCaretContainer(node) && (offset = (node = NodeType.isText(node) && CaretContainer.isCaretContainerBlock(node) ? node.parentNode : node).previousSibling, isContentEditableFalse(offset) || (offset = node.nextSibling, isContentEditableFalse(offset))) ? offset : void 0; } return findSibling(rng.startContainer, rng.startOffset) || findSibling(rng.endContainer, rng.endOffset); }(rng)) ? { name: name = element.tagName, index: findIndex(name, element) } : function(rng) { var root = dom.getRoot(), bookmark = {}; function getPoint(rng, start) { var childNodes, container = rng[start ? "startContainer" : "endContainer"], rng = rng[start ? "startOffset" : "endOffset"], point = [], start = 0; for (3 === container.nodeType ? point.push(normalized ? function(container, offset) { for (var trimmedOffset = Zwsp.trim(container.data.slice(0, offset)).length, node = container.previousSibling; node && 3 === node.nodeType; node = node.previousSibling) trimmedOffset += Zwsp.trim(node.data).length; return trimmedOffset; }(container, rng) : rng) : (rng >= (childNodes = container.childNodes).length && childNodes.length && (start = 1, rng = Math.max(0, childNodes.length - 1)), point.push(dom.nodeIndex(childNodes[rng], normalized) + start)); container && container != root; container = container.parentNode) point.push(dom.nodeIndex(container, normalized)); return point; } return bookmark.start = getPoint(rng, !0), selection.isCollapsed() || (bookmark.end = getPoint(rng)), bookmark; }(rng); if (3 == type) return rng = selection.getRng(), { start: CaretBookmark.create(dom.getRoot(), CaretPosition.fromRangeStart(rng)), end: CaretBookmark.create(dom.getRoot(), CaretPosition.fromRangeEnd(rng)) }; if (type) return { rng: selection.getRng() }; if (rng = selection.getRng(), type = dom.uniqueId(), collapsed = selection.isCollapsed(), styles = "overflow:hidden;line-height:0px", rng.duplicate || rng.item) { if (rng.item) return { name: name = (element = rng.item(0)).nodeName, index: findIndex(name, element) }; rng2 = rng.duplicate(); try { rng.collapse(), rng.pasteHTML('' + chr + ""), collapsed || (rng2.collapse(!1), rng.moveToElementText(rng2.parentElement()), 0 === rng.compareEndPoints("StartToEnd", rng2) && rng2.move("character", -1), rng2.pasteHTML('' + chr + "")); } catch (ex) { return null; } } else { if ("IMG" == (name = (element = selection.getNode()).nodeName)) return { name: name, index: findIndex(name, element) }; var name, rng2 = normalizeTableCellSelection(rng.cloneRange()), element = (collapsed || (rng2.collapse(!1), name = dom.create("span", { "data-mce-type": "bookmark", id: type + "_end", style: styles }, chr), rng2.insertNode(name), trimEmptyTextNode(name.nextSibling)), (rng = normalizeTableCellSelection(rng)).collapse(!0), dom.create("span", { "data-mce-type": "bookmark", id: type + "_start", style: styles }, chr)); rng.insertNode(element), trimEmptyTextNode(element.previousSibling); } return selection.moveToBookmark({ id: type, keep: 1 }), { id: type }; }, this.moveToBookmark = function(bookmark) { var rng, root, startContainer, endContainer, startOffset, endOffset; function setEndPoint(start) { var i, node, offset, children, point = bookmark[start ? "start" : "end"]; if (point) { for (offset = point[0], node = root, i = point.length - 1; 1 <= i; i--) { if (children = node.childNodes, point[i] > children.length - 1) return; node = children[point[i]]; } 3 === node.nodeType && (offset = Math.min(point[0], node.nodeValue.length)), 1 === node.nodeType && (offset = Math.min(point[0], node.childNodes.length)), start ? rng.setStart(node, offset) : rng.setEnd(node, offset); } return 1; } function restoreEndPoint(suffix) { var idx, node, marker = dom.get(bookmark.id + "_" + suffix), keep = bookmark.keep; if (marker && (node = marker.parentNode, "start" == suffix ? (idx = keep ? (node = marker.firstChild, 1) : dom.nodeIndex(marker), startContainer = endContainer = node, startOffset = endOffset = idx) : (idx = keep ? (node = marker.firstChild, 1) : dom.nodeIndex(marker), endContainer = node, endOffset = idx), !keep)) { for (node = marker.previousSibling, keep = marker.nextSibling, tinymce.each(tinymce.grep(marker.childNodes), function(node) { 3 == node.nodeType && (node.nodeValue = node.nodeValue.replace(/\uFEFF/g, "")); }); marker = dom.get(bookmark.id + "_" + suffix); ) dom.remove(marker, 1); node && keep && node.nodeType == keep.nodeType && 3 == node.nodeType && (idx = node.nodeValue.length, node.appendData(keep.nodeValue), dom.remove(keep), "start" == suffix ? (startContainer = endContainer = node, startOffset = endOffset = idx) : (endContainer = node, endOffset = idx)); } } function addBogus(node) { return dom.isBlock(node) && !node.innerHTML && (node.innerHTML = '
    '), node; } if (bookmark) if (Arr.isArray(bookmark.start)) { if (rng = dom.createRng(), root = dom.getRoot(), selection.tridentSel) return selection.tridentSel.moveToBookmark(bookmark); setEndPoint(!0) && setEndPoint() && selection.setRng(rng); } else "string" == typeof bookmark.start ? selection.setRng(function() { var rng = dom.createRng(), pos = CaretBookmark.resolve(dom.getRoot(), bookmark.start); return rng.setStart(pos.container(), pos.offset()), pos = CaretBookmark.resolve(dom.getRoot(), bookmark.end), rng.setEnd(pos.container(), pos.offset()), rng; }()) : bookmark.id ? (restoreEndPoint("start"), restoreEndPoint("end"), startContainer && ((rng = dom.createRng()).setStart(addBogus(startContainer), startOffset), rng.setEnd(addBogus(endContainer), endOffset), selection.setRng(rng))) : bookmark.name ? selection.select(dom.select(bookmark.name)[bookmark.index]) : bookmark.rng && selection.setRng(bookmark.rng); }; } BookmarkManager.isBookmarkNode = function(node) { return node && "SPAN" === node.tagName && "bookmark" === node.getAttribute("data-mce-type"); }, tinymce.dom.BookmarkManager = BookmarkManager; }(tinymce), function(tinymce) { var Dispatcher = tinymce.util.Dispatcher, VK = tinymce.VK; function hasContentEditableState(node, value) { if (node && 1 === node.nodeType) { if (node.contentEditable === value) return !0; if (node.getAttribute("data-mce-contenteditable") === value) return !0; } return !1; } tinymce.dom.ControlSelection = function(selection, editor) { var selectedElm, selectedElmGhost, resizeHelper, resizeHandles, selectedHandle, lastMouseDownEvent, startX, startY, selectedElmX, selectedElmY, startW, startH, ratio, resizeStarted, width, height, startScrollWidth, startScrollHeight, dom = editor.dom, each = tinymce.each, editableDoc = editor.getDoc(), rootDocument = document, isIE = tinymce.isIE && tinymce.isIE < 11, abs = Math.abs, round = Math.round, rootElement = editor.getBody(); function isResizable(elm) { var selector = editor.settings.object_resizing; return !1 !== selector && ("string" != typeof selector && (selector = "table,img,[data-mce-resize]"), "false" !== elm.getAttribute("data-mce-resize")) && elm != editor.getBody() && editor.dom.is(elm, selector); } function resizeGhostElement(e) { var deltaX, deltaY, elm; !function(e) { var keys, i; if (e.changedTouches) for (keys = "screenX screenY pageX pageY clientX clientY".split(" "), i = 0; i < keys.length; i++) e[keys[i]] = e.changedTouches[0][keys[i]]; }(e), deltaX = e.screenX - startX, deltaY = e.screenY - startY, width = deltaX * selectedHandle[2] + startW, height = deltaY * selectedHandle[3] + startH, width = width < 5 ? 5 : width, height = height < 5 ? 5 : height, ("IMG" !== (elm = selectedElm).nodeName && "proportional" !== elm.getAttribute("data-mce-resize") || !1 === editor.settings.resize_img_proportional ? VK.modifierPressed(e) || "IMG" == selectedElm.nodeName && selectedHandle[2] * selectedHandle[3] != 0 : !VK.modifierPressed(e)) && (abs(deltaX) > abs(deltaY) ? (height = round(width * ratio), width = round(height / ratio)) : (width = round(height / ratio), height = round(width * ratio))), dom.setStyles(selectedElmGhost, { width: width, height: height }), elm = selectedHandle.startPos.x + deltaX, e = selectedHandle.startPos.y + deltaY, dom.setStyles(resizeHelper, { left: elm = 0 < elm ? elm : 0, top: e = 0 < e ? e : 0, display: "block" }), resizeHelper.innerHTML = width + " × " + height, selectedHandle[2] < 0 && selectedElmGhost.clientWidth <= width && dom.setStyle(selectedElmGhost, "left", selectedElmX + (startW - width)), selectedHandle[3] < 0 && selectedElmGhost.clientHeight <= height && dom.setStyle(selectedElmGhost, "top", selectedElmY + (startH - height)), (deltaX = rootElement.scrollWidth - startScrollWidth) + (deltaY = rootElement.scrollHeight - startScrollHeight) != 0 && dom.setStyles(resizeHelper, { left: elm - deltaX, top: e - deltaY }), resizeStarted || (editor.onObjectResizeStart.dispatch(editor, selectedElm, startW, startH), resizeStarted = !0); } function endGhostResize() { function setSizeProp(name, value) { value && ("IMG" !== selectedElm.nodeName ? dom.setStyle(selectedElm, name, value) : dom.setAttrib(selectedElm, name, value)); } resizeStarted = !1, setSizeProp("width", width), setSizeProp("height", height), dom.unbind(editableDoc, "mousemove touchmove", resizeGhostElement), dom.unbind(editableDoc, "mouseup touchend", endGhostResize), rootDocument != editableDoc && (dom.unbind(rootDocument, "mousemove touchmove", resizeGhostElement), dom.unbind(rootDocument, "mouseup touchend", endGhostResize)), dom.remove(selectedElmGhost), dom.remove(resizeHelper), dom.removeClass(selectedElm, "mce-resizing"), isIE && "TABLE" != selectedElm.nodeName || showResizeRect(selectedElm), editor.onObjectResized.dispatch(editor, selectedElm, width, height), dom.setAttrib(selectedElm, "style", dom.getAttrib(selectedElm, "style")), editor.nodeChanged(); } function showResizeRect(targetElm, mouseDownHandleName, mouseDownEvent) { var targetWidth, targetHeight, position; hideResizeRect(), unbindResizeHandleEvents(), position = dom.getPos(targetElm, rootElement), selectedElmX = position.x, selectedElmY = position.y, position = targetElm.getBoundingClientRect(), targetWidth = position.width || position.right - position.left, targetHeight = position.height || position.bottom - position.top, selectedElm != targetElm && (detachResizeStartListener(), selectedElm = targetElm, width = height = 0), editor.onObjectSelected.dispatch(editor, targetElm), isResizable(targetElm) ? each(resizeHandles, function(handle, name) { var handleElm; function startDrag(e) { startX = e.screenX, startY = e.screenY, startW = selectedElm.clientWidth, startH = selectedElm.clientHeight, ratio = startH / startW, (selectedHandle = handle).startPos = { x: targetWidth * handle[0] + selectedElmX, y: targetHeight * handle[1] + selectedElmY }, startScrollWidth = rootElement.scrollWidth, startScrollHeight = rootElement.scrollHeight, selectedElmGhost = selectedElm.cloneNode(), dom.addClass(selectedElmGhost, "mce-clonedresizable"), dom.setAttrib(selectedElmGhost, "data-mce-bogus", "all"), selectedElmGhost.contentEditable = !1, selectedElmGhost.unSelectabe = !0, dom.setStyles(selectedElmGhost, { left: selectedElmX, top: selectedElmY, margin: 0 }), dom.addClass(selectedElm, "mce-resizing"), selectedElmGhost.removeAttribute("data-mce-selected"), rootElement.appendChild(selectedElmGhost), dom.bind(editableDoc, "mousemove touchmove", resizeGhostElement), dom.bind(editableDoc, "mouseup touchend", endGhostResize), rootDocument != editableDoc && (dom.bind(rootDocument, "mousemove touchmove", resizeGhostElement), dom.bind(rootDocument, "mouseup touchend", endGhostResize)), resizeHelper = dom.add(rootElement, "div", { class: "mce-resize-helper", "data-mce-bogus": "all" }, startW + " × " + startH); } mouseDownHandleName ? name == mouseDownHandleName && startDrag(mouseDownEvent) : ((handleElm = dom.get("mceResizeHandle" + name.toUpperCase())) && dom.remove(handleElm), handleElm = dom.add(rootElement, "div", { id: "mceResizeHandle" + name.toUpperCase(), "data-mce-bogus": "all", class: "mce-resizehandle mce-resizehandle-" + name, unselectable: !0, style: "cursor:" + name + "-resize;" }), 11 === isIE && (handleElm.contentEditable = !1), dom.bind(handleElm, "mousedown", function(e) { e.stopImmediatePropagation(), e.preventDefault(), startDrag(e); }), handle.elm = handleElm, dom.setStyles(handleElm, { left: targetWidth * handle[0] + selectedElmX - handleElm.offsetWidth / 2, top: targetHeight * handle[1] + selectedElmY - handleElm.offsetHeight / 2 })); }) : hideResizeRect(), selectedElm.setAttribute("data-mce-selected", "1"); } function hideResizeRect() { var name, handleElm; for (name in unbindResizeHandleEvents(), selectedElm && selectedElm.removeAttribute("data-mce-selected"), resizeHandles) (handleElm = dom.get("mceResizeHandle" + name.toUpperCase())) && (dom.unbind(handleElm), dom.remove(handleElm)); } function updateResizeRect(e) { var startElm; function isChildOrEqual(node, parent) { if (node) do { if (node === parent) return 1; } while (node = node.parentNode); } resizeStarted || editor.removed || editor !== tinymce.activeEditor || (each(dom.select("img[data-mce-selected][data-mce-resize],hr[data-mce-selected][data-mce-resize],span[data-mce-selected][data-mce-resize]"), function(img) { img.removeAttribute("data-mce-selected"); }), e = "mousedown" == e.type ? e.target : selection.getNode(), isChildOrEqual(e = dom.closest(e, isIE ? "table" : "table,img,[data-mce-resize]")[0], rootElement) && (disableGeckoResize(), isChildOrEqual(startElm = selection.getStart(!0), e)) && isChildOrEqual(selection.getEnd(!0), e) && (!isIE || e != startElm && "IMG" !== startElm.nodeName) ? showResizeRect(e) : hideResizeRect()); } function attachEvent(elm, name, func) { elm && elm.attachEvent && elm.attachEvent("on" + name, func); } function detachEvent(elm, name, func) { elm && elm.detachEvent && elm.detachEvent("on" + name, func); } function resizeNativeStart(e) { var name, corner, cornerX, cornerY, target = e.srcElement, e = target.getBoundingClientRect(), relativeX = lastMouseDownEvent.clientX - e.left, relativeY = lastMouseDownEvent.clientY - e.top; for (name in resizeHandles) if (corner = resizeHandles[name], cornerX = target.offsetWidth * corner[0], cornerY = target.offsetHeight * corner[1], abs(cornerX - relativeX) < 8 && abs(cornerY - relativeY) < 8) { selectedHandle = corner; break; } resizeStarted = !0, editor.onObjectResizeStart.dispatch(editor, selectedElm, selectedElm.clientWidth, selectedElm.clientHeight), editor.getDoc().selection.empty(), showResizeRect(target, name, lastMouseDownEvent); } function isWithinContentEditableFalse(elm) { return hasContentEditableState(function(root, node) { for (;node && node != root; ) { if (hasContentEditableState(node, "true") || hasContentEditableState(node, "false")) return node; node = node.parentNode; } return null; }(editor.getBody(), elm), "false"); } function nativeControlSelect(e) { var target = e.srcElement; isWithinContentEditableFalse(target) ? function(e) { e.preventDefault ? e.preventDefault() : e.returnValue = !1; }(e) : target != selectedElm && (editor.onObjectSelected.dispatch(editor, target), detachResizeStartListener(), 0 === target.id.indexOf("mceResizeHandle") ? e.returnValue = !1 : "IMG" != target.nodeName && "TABLE" != target.nodeName || (hideResizeRect(), attachEvent(selectedElm = target, "resizestart", resizeNativeStart))); } function detachResizeStartListener() { detachEvent(selectedElm, "resizestart", resizeNativeStart); } function unbindResizeHandleEvents() { for (var name in resizeHandles) (name = resizeHandles[name]).elm && (dom.unbind(name.elm), delete name.elm); } function disableGeckoResize() { try { editor.getDoc().execCommand("enableObjectResizing", !1, !1); } catch (ex) {} } function controlSelect(elm) { var ctrlRng; if (isIE) { ctrlRng = editableDoc.body.createControlRange(); try { return ctrlRng.addElement(elm), ctrlRng.select(), !0; } catch (ex) {} } } function selectControl(editor, e) { var target = e.target, nodeName = target.nodeName; resizeStarted || !/^(TABLE|IMG|HR)$/.test(nodeName) || isWithinContentEditableFalse(target) || (editor.selection.select(target, "TABLE" == nodeName), "mousedown" == e.type && editor.nodeChanged()); } return editor.onObjectSelected = new Dispatcher(), editor.onObjectResizeStart = new Dispatcher(), editor.onObjectResized = new Dispatcher(), resizeHandles = { nw: [ 0, 0, -1, -1 ], ne: [ 1, 0, 1, -1 ], se: [ 1, 1, 1, 1 ], sw: [ 0, 1, -1, 1 ] }, editor.onInit.add(function(editor) { isIE ? (editor.onObjectResized.add(function(editor, e) { "TABLE" != e.target.nodeName && (hideResizeRect(), controlSelect(e.target)); }), attachEvent(rootElement, "controlselect", nativeControlSelect), editor.onMouseDown.add(function(editor, e) { lastMouseDownEvent = e; })) : (disableGeckoResize(), (11 <= tinymce.isIE || tinymce.isIE12) && (editor.onClick.add(selectControl), editor.onMouseDown.add(selectControl), editor.dom.bind(rootElement, "mscontrolselect", function(e) { function delayedSelect(node) { setTimeout(function() { editor.selection.select(node); }, 0); } isWithinContentEditableFalse(e.target) ? (e.preventDefault(), delayedSelect(e.target)) : /^(TABLE|IMG|HR)$/.test(e.target.nodeName) && (e.preventDefault(), "IMG" == e.target.tagName) && delayedSelect(e.target); }))), callback = function(e) { updateResizeRect(e); }, (func = function() { var args = arguments; clearTimeout(timer), timer = setTimeout(function() { callback.apply(this, args); }, 0); }).stop = function() { clearTimeout(timer); }; var callback, timer, func, throttledUpdateResizeRect = func; function updateTableRect(editor, e) { selectedElm && "TABLE" == selectedElm.nodeName && throttledUpdateResizeRect(e); } editor.onNodeChange.add(function() { setTimeout(function() { throttledUpdateResizeRect({ type: "" }); }, 100); }), editor.dom.bind(editor.getBody(), "drop", function(e) { throttledUpdateResizeRect(e); }), editor.onBeforeGetContent.add(hideResizeRect), editor.onKeyUp.add(updateTableRect), editor.dom.bind(editor.getBody(), "compositionend", function(e) { updateTableRect(0, e); }), editor.onBlur.add(hideResizeRect), editor.onHide.add(hideResizeRect); }), editor.onRemove.add(unbindResizeHandleEvents), { isResizable: isResizable, showResizeRect: showResizeRect, hideResizeRect: hideResizeRect, updateResizeRect: updateResizeRect, controlSelect: controlSelect, destroy: function() { selectedElm = selectedElmGhost = null, isIE && (detachResizeStartListener(), detachEvent(rootElement, "controlselect", nativeControlSelect)); } }; }; }(tinymce), function(tinymce) { var each = tinymce.each, extend = tinymce.extend, TreeWalker = tinymce.dom.TreeWalker, BookmarkManager = tinymce.dom.BookmarkManager, ControlSelection = tinymce.dom.ControlSelection, RangeUtils = tinymce.dom.RangeUtils, CaretPosition = tinymce.caret.CaretPosition, Zwsp = tinymce.text.Zwsp, ScrollIntoView = tinymce.dom.ScrollIntoView, Env = tinymce.util.Env; tinymce.dom.Selection = function(dom, win, serializer, editor) { var self = this; self.dom = dom, self.win = win, self.serializer = serializer, self.editor = editor, self.bookmarkManager = new BookmarkManager(self), self.controlSelection = new ControlSelection(self, editor), each([ "onBeforeSetContent", "onBeforeGetContent", "onSetContent", "onGetContent", "onGetSelectionRange", "onSetSelectionRange", "onAfterSetSelectionRange" ], function(e) { self[e] = new tinymce.util.Dispatcher(self); }), self.onBeforeSetContent.add(function(e, args) { var node; "raw" !== args.format && (node = new tinymce.html.DomParser(editor.settings, editor.schema).parse(args.content, extend(args, { isRootContent: !0, forced_root_block: !1 })), args.content = new tinymce.html.Serializer({ validate: !1 }, editor.schema).serialize(node)); }), tinymce.addUnload(self.destroy, self); }, tinymce.dom.Selection.prototype = { setCursorLocation: function(node, offset) { var rng = this.dom.createRng(); node ? (rng.setStart(node, offset), rng.setEnd(node, offset), this.setRng(rng), this.collapse(!1)) : (this._moveEndPoint(rng, this.editor.getBody(), !0), this.setRng(rng)); }, getContextualFragment: function(rng, frag) { var ed = this.editor, dom = this.dom, node = rng.commonAncestorContainer; if (node === ed.getBody()) return frag; var nodes, tableCells = dom.select("td[data-mce-selected], th[data-mce-selected], td.mceSelected, th.mceSelected", node); if (tableCells.length) { var row, table = dom.getParent(node, "table"); if (table) return table = dom.clone(table), row = dom.create("tr"), each(tableCells, function(cell) { row.appendChild(dom.clone(cell, !0)); }), table.appendChild(row), table; } return !rng.collapsed && (tableCells = dom.getParents(node, null, ed.getBody()), (table = tinymce.grep(tableCells, function(elm) { return 1 === elm.nodeType && !function(elm) { return dom.isBlock(elm) && !/H[1-6]/.test(elm.nodeName); }(elm); })).length) ? (nodes = document.createDocumentFragment(), each(table, function(elm) { (elm = dom.clone(elm)).appendChild(frag), nodes.appendChild(elm); }), nodes) : frag; }, getContent: function(args) { var whiteSpaceAfter, rng = this.getRng(), tmpElm = this.dom.create("body"), se = this.getSel(), whiteSpaceBefore = whiteSpaceAfter = ""; return (args = args || {}).get = !0, args.format = args.format || "html", args.selection = !0, this.onBeforeGetContent.dispatch(this, args), "text" === args.format ? this.isCollapsed() ? "" : Zwsp.trim(rng.text || (se.toString ? se.toString() : "")) : (rng.cloneContents ? (se = rng.cloneContents()) && (args.contextual && (se = this.getContextualFragment(rng, se)), tmpElm.appendChild(se)) : void 0 !== rng.item || void 0 !== rng.htmlText ? (tmpElm.innerHTML = "
    " + (rng.item ? rng.item(0).outerHTML : rng.htmlText), tmpElm.removeChild(tmpElm.firstChild)) : tmpElm.innerHTML = rng.toString(), /^\s/.test(tmpElm.innerHTML) && (whiteSpaceBefore = " "), /\s+$/.test(tmpElm.innerHTML) && (whiteSpaceAfter = " "), args.getInner = !0, args.content = this.isCollapsed() ? "" : whiteSpaceBefore + this.serializer.serialize(tmpElm, args) + whiteSpaceAfter, this.onGetContent.dispatch(this, args), args.content); }, setContent: function(content, args) { var frag, temp, rng = this.getRng(), doc = this.win.document; if ((args = args || { format: "html" }).set = !0, args.selection = !0, args.content = content, args.no_events || this.onBeforeSetContent.dispatch(this, args), content = args.content, rng.insertNode) { content += '_', rng.startContainer == doc && rng.endContainer == doc || (rng.deleteContents(), 0 === doc.body.childNodes.length) ? doc.body.innerHTML = content : rng.createContextualFragment ? rng.insertNode(rng.createContextualFragment(content)) : (frag = doc.createDocumentFragment(), temp = doc.createElement("div"), frag.appendChild(temp), temp.outerHTML = content, rng.insertNode(frag)), temp = this.dom.get("__caret"), (rng = doc.createRange()).setStartBefore(temp), rng.setEndBefore(temp), this.setRng(rng), this.dom.remove("__caret"); try { this.setRng(rng); } catch (ex) {} } else rng.item && (doc.execCommand("Delete", !1, null), rng = this.getRng()), /^\s+/.test(content) ? (rng.pasteHTML('_' + content), this.dom.remove("__mce_tmp")) : rng.pasteHTML(content); args.no_events || this.onSetContent.dispatch(this, args); }, getStart: function(real) { var startElement, parentElement, checkRng, node, rng = this.getRng(); if (rng.duplicate || rng.item) { if (rng.item) return rng.item(0); for ((checkRng = rng.duplicate()).collapse(1), (startElement = checkRng.parentElement()).ownerDocument !== this.dom.doc && (startElement = this.dom.getRoot()), parentElement = node = rng.parentElement(); node = node.parentNode; ) if (node == startElement) { startElement = parentElement; break; } return startElement; } return (startElement = 1 != (startElement = rng.startContainer).nodeType || !startElement.hasChildNodes() || real && rng.collapsed ? startElement : startElement.childNodes[Math.min(startElement.childNodes.length - 1, rng.startOffset)]) && 3 == startElement.nodeType ? startElement.parentNode : startElement; }, getEnd: function(real) { var endElement, endOffset, rng = this.getRng(); return rng.duplicate || rng.item ? rng.item ? rng.item(0) : ((rng = rng.duplicate()).collapse(0), (endElement = (endElement = rng.parentElement()).ownerDocument !== this.dom.doc ? this.dom.getRoot() : endElement) && "BODY" == endElement.nodeName && endElement.lastChild || endElement) : (endElement = rng.endContainer, endOffset = rng.endOffset, (endElement = 1 != endElement.nodeType || !endElement.hasChildNodes() || real && rng.collapsed ? endElement : endElement.childNodes[0 < endOffset ? endOffset - 1 : endOffset]) && 3 == endElement.nodeType ? endElement.parentNode : endElement); }, getBookmark: function(type, normalized) { return this.bookmarkManager.getBookmark(type, normalized); }, moveToBookmark: function(bookmark) { return this.bookmarkManager.moveToBookmark(bookmark); }, select: function(node, content) { var dom = this.dom, rng = dom.createRng(); if (this.lastFocusBookmark = null, node) { if (!content && this.controlSelection.controlSelect(node)) return; dom = dom.nodeIndex(node), rng.setStart(node.parentNode, dom), rng.setEnd(node.parentNode, dom + 1), content && (this._moveEndPoint(rng, node, !0), this._moveEndPoint(rng, node)), this.setRng(rng); } return node; }, isCollapsed: function() { var rng = this.getRng(), sel = this.getSel(); return !(!rng || rng.item) && (rng.compareEndPoints ? 0 === rng.compareEndPoints("StartToEnd", rng) : !sel || rng.collapsed); }, collapse: function(toStart) { var node, rng = this.getRng(); rng.item && (node = rng.item(0), (rng = this.win.document.body.createTextRange()).moveToElementText(node)), rng.collapse(!!toStart), this.setRng(rng); }, getSel: function() { var win = this.win; return win.getSelection ? win.getSelection() : win.document.selection; }, getRng: function(w3c) { var selection, rng, doc, element; function tryCompareBoundaryPoints(how, sourceRange, destinationRange) { try { return sourceRange.compareBoundaryPoints(how, destinationRange); } catch (ex) { return -1; } } if (!this.win) return null; if (null == (doc = this.win.document)) return null; if (!w3c && this.lastFocusBookmark) (w3c = this.lastFocusBookmark).startContainer ? ((rng = doc.createRange()).setStart(w3c.startContainer, w3c.startOffset), rng.setEnd(w3c.endContainer, w3c.endOffset)) : rng = w3c; else { try { !(selection = this.getSel()) || (element = selection.anchorNode) && !Object.getPrototypeOf(element) || (rng = 0 < selection.rangeCount ? selection.getRangeAt(0) : (selection.createRange ? selection : doc).createRange()); } catch (ex) {} if (this.onGetSelectionRange.dispatch(this, w3c = { range: rng }), w3c.range !== rng) return w3c.range; (rng = rng || (doc.createRange ? doc.createRange() : doc.body.createTextRange())).setStart && 9 === rng.startContainer.nodeType && rng.collapsed && (element = this.dom.getRoot(), rng.setStart(element, 0), rng.setEnd(element, 0)), this.selectedRange && this.explicitRange && (0 === tryCompareBoundaryPoints(rng.START_TO_START, rng, this.selectedRange) && 0 === tryCompareBoundaryPoints(rng.END_TO_END, rng, this.selectedRange) ? rng = this.explicitRange : (this.selectedRange = null, this.explicitRange = null)); } return rng; }, setRng: function(rng, forward) { if (rng) if (rng.select) { this.explicitRange = null; try { rng.select(); } catch (ex) {} } else { var evt, sel = this.getSel(); if (this.onSetSelectionRange.dispatch(this, evt = { range: rng }), rng = evt.range, sel) { this.explicitRange = rng; try { sel.removeAllRanges(), sel.addRange(rng); } catch (ex) {} !1 === forward && sel.extend && (sel.collapse(rng.endContainer, rng.endOffset), sel.extend(rng.startContainer, rng.startOffset)), this.selectedRange = 0 < sel.rangeCount ? sel.getRangeAt(0) : null; } !rng.collapsed && rng.startContainer === rng.endContainer && sel.setBaseAndExtent && rng.endOffset - rng.startOffset < 2 && rng.startContainer.hasChildNodes() && (evt = rng.startContainer.childNodes[rng.startOffset]) && "IMG" === evt.tagName && (sel.setBaseAndExtent(rng.startContainer, rng.startOffset, rng.endContainer, rng.endOffset), sel.anchorNode === rng.startContainer && sel.focusNode === rng.endContainer || sel.setBaseAndExtent(evt, 0, evt, 1)), this.onAfterSetSelectionRange.dispatch(this, { range: rng }); } }, setNode: function(elm) { return this.setContent(this.dom.getOuterHTML(elm)), elm; }, getNode: function() { var elm, startContainer, endContainer, startOffset, endOffset, rng = this.getRng(), root = this.dom.getRoot(); function skipEmptyTextNodes(node, forwards) { for (var orig = node; node && 3 === node.nodeType && 0 === node.length; ) node = forwards ? node.nextSibling : node.previousSibling; return node || orig; } return rng ? (startContainer = rng.startContainer, endContainer = rng.endContainer, startOffset = rng.startOffset, endOffset = rng.endOffset, rng.setStart ? (elm = rng.commonAncestorContainer, !rng.collapsed && (startContainer == endContainer && endOffset - startOffset < 2 && startContainer.hasChildNodes() && (elm = startContainer.childNodes[startOffset]), 3 === startContainer.nodeType) && 3 === endContainer.nodeType && (startContainer = startContainer.length === startOffset ? skipEmptyTextNodes(startContainer.nextSibling, !0) : startContainer.parentNode, endContainer = 0 === endOffset ? skipEmptyTextNodes(endContainer.previousSibling, !1) : endContainer.parentNode, startContainer) && startContainer === endContainer ? startContainer : elm && 3 == elm.nodeType ? elm.parentNode : elm) : rng.item ? rng.item(0) : rng.parentElement()) : root; }, getSelectedBlocks: function(startElm, endElm) { var dom = this.dom, selectedBlocks = [], root = dom.getRoot(); if (startElm = dom.getParent(startElm || this.getStart(), dom.isBlock), endElm = dom.getParent(endElm || this.getEnd(), dom.isBlock), startElm && startElm != root && selectedBlocks.push(startElm), startElm && endElm && startElm != endElm) for (var node, walker = new TreeWalker(startElm, root); (node = walker.next()) && node != endElm; ) dom.isBlock(node) && selectedBlocks.push(node); return endElm && startElm != endElm && endElm != root && selectedBlocks.push(endElm), selectedBlocks; }, isForward: function() { var anchorRange, dom = this.dom, sel = this.getSel(); return !(sel && sel.anchorNode && sel.focusNode) || ((anchorRange = dom.createRng()).setStart(sel.anchorNode, sel.anchorOffset), anchorRange.collapse(!0), (dom = dom.createRng()).setStart(sel.focusNode, sel.focusOffset), dom.collapse(!0), anchorRange.compareBoundaryPoints(anchorRange.START_TO_START, dom) <= 0); }, normalize: function() { var rng = this.getRng(); return Env.range && new RangeUtils(this.dom).normalize(rng) && this.setRng(rng, this.isForward()), rng; }, selectorChanged: function(selector, callback) { var currentSelectors, self = this; return self.selectorChangedData || (self.selectorChangedData = {}, currentSelectors = {}, self.editor.onNodeChange.addToTop(function(ed, cm, node) { var dom = self.dom, parents = dom.getParents(node, null, dom.getRoot()), matchedSelectors = {}; each(self.selectorChangedData, function(callbacks, selector) { each(parents, function(node) { if (dom.is(node, selector)) return currentSelectors[selector] || (each(callbacks, function(callback) { callback(!0, { node: node, selector: selector, parents: parents }); }), currentSelectors[selector] = callbacks), matchedSelectors[selector] = callbacks, !1; }); }), each(currentSelectors, function(callbacks, selector) { matchedSelectors[selector] || (delete currentSelectors[selector], each(callbacks, function(callback) { callback(!1, { node: node, selector: selector, parents: parents }); })); }); })), self.selectorChangedData[selector] || (self.selectorChangedData[selector] = []), self.selectorChangedData[selector].push(callback), self; }, getScrollContainer: function() { for (var scrollContainer, node = this.dom.getRoot(); node && "BODY" != node.nodeName; ) { if (node.scrollHeight > node.clientHeight) { scrollContainer = node; break; } node = node.parentNode; } return scrollContainer; }, scrollIntoView: function(elm, alignToTop) { ScrollIntoView(this.editor, elm, alignToTop); }, placeCaretAt: function(clientX, clientY) { this.setRng(RangeUtils.getCaretRangeFromPoint(clientX, clientY, this.editor.getDoc())); }, _moveEndPoint: function(rng, node, start) { var root = node, walker = new TreeWalker(node, root), nonEmptyElementsMap = this.dom.schema.getNonEmptyElements(); do { if (3 == node.nodeType && 0 !== tinymce.trim(node.nodeValue).length) return void (start ? rng.setStart(node, 0) : rng.setEnd(node, node.nodeValue.length)); if (nonEmptyElementsMap[node.nodeName] && !/^(TD|TH)$/.test(node.nodeName)) return void (start ? rng.setStartBefore(node) : "BR" == node.nodeName ? rng.setEndBefore(node) : rng.setEndAfter(node)); } while (node = start ? walker.next() : walker.prev()); "BODY" == root.nodeName && (start ? rng.setStart(root, 0) : rng.setEnd(root, root.childNodes.length)); }, getBoundingClientRect: function() { var rng = this.getRng(); return rng.collapsed ? CaretPosition.fromRangeStart(rng).getClientRects()[0] : rng.getBoundingClientRect(); }, destroy: function() { this.win = null, this.controlSelection.destroy(); }, _fixIESelection: function() { var started, startRng, htmlElm, dom = this.dom, doc = dom.doc, body = doc.body; function rngFromPoint(x, y) { var rng = body.createTextRange(); try { rng.moveToPoint(x, y); } catch (ex) { rng = null; } return rng; } function selectionChange(e) { e.button ? (e = rngFromPoint(e.x, e.y)) && (0 < e.compareEndPoints("StartToStart", startRng) ? e.setEndPoint("StartToStart", startRng) : e.setEndPoint("EndToEnd", startRng), e.select()) : endSelection(); } function endSelection() { var rng = doc.selection.createRange(); startRng && !rng.item && 0 === rng.compareEndPoints("StartToEnd", rng) && startRng.select(), dom.unbind(doc, "mouseup", endSelection), dom.unbind(doc, "mousemove", selectionChange), startRng = started = 0; } doc.documentElement.unselectable = !0, dom.bind(doc, [ "mousedown", "contextmenu" ], function(e) { "HTML" === e.target.nodeName && (started && endSelection(), (htmlElm = doc.documentElement).scrollHeight > htmlElm.clientHeight || (started = 1, (startRng = rngFromPoint(e.x, e.y)) && (dom.bind(doc, "mouseup", endSelection), dom.bind(doc, "mousemove", selectionChange), dom.win.focus(), startRng.select()))); }); } }; }(tinymce), function(tinymce) { tinymce.dom.Serializer = function(settings, dom, schema) { var htmlParser, self = this, each = tinymce.each, tempAttrs = (settings.apply_source_formatting || (settings.indent = !1), dom = dom || tinymce.DOM, schema = schema || new tinymce.html.Schema(settings), settings.entity_encoding = settings.entity_encoding || "named", settings.remove_trailing_brs = !("remove_trailing_brs" in settings) || settings.remove_trailing_brs, settings.element_format = settings.element_format || "xhtml", [ "data-mce-selected" ]), onPreProcess = new tinymce.util.Dispatcher(self), onPostProcess = new tinymce.util.Dispatcher(self); return (htmlParser = new tinymce.html.DomParser(settings, schema)).addAttributeFilter("data-mce-tabindex", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).attr("tabindex", node.attributes.map["data-mce-tabindex"]), node.attr(name, null); }), htmlParser.addAttributeFilter("src,href,style", function(nodes, name) { for (var node, value, i = nodes.length, internalName = "data-mce-" + name, urlConverter = settings.url_converter, urlConverterScope = settings.url_converter_scope; i--; ) void 0 !== (value = (node = nodes[i]).attributes.map[internalName]) ? (node.attr(name, 0 < value.length ? value : null), node.attr(internalName, null)) : (value = node.attributes.map[name], "style" === name ? settings.validate_styles && (value = dom.serializeStyle(dom.parseStyle(value), node.name)) : urlConverter && (value = urlConverter.call(urlConverterScope, value, name, node.name)), node.attr(name, 0 < value.length ? value : null)); }), htmlParser.addAttributeFilter("class", function(nodes) { for (var node, value, i = nodes.length; i--; ) (value = (node = nodes[i]).attr("class")) && (value = (value = node.attr("class").replace(/(?:^|\s)mce(-?)(Item[\w-]+|Selected)(?!\S)/gi, "")).replace(/\s+/g, " ").replace(/^\s*|\s*$/g, ""), node.attr("class", 0 < value.length ? value : null)); }), htmlParser.addAttributeFilter("data-mce-type", function(nodes, name, args) { for (var node, i = nodes.length; i--; ) "temp" !== (node = nodes[i]).attributes.map["data-mce-type"] && ("bookmark" !== node.attributes.map["data-mce-type"] || args.cleanup) || node.remove(); }), htmlParser.addNodeFilter("noscript", function(nodes) { for (var node, i = nodes.length; i--; ) (node = nodes[i].firstChild) && (node.value = tinymce.html.Entities.decode(node.value)); }), htmlParser.addNodeFilter("script,style", function(nodes, name) { var node, firstChild, value, parent, i = nodes.length; function trim(value) { return value.replace(/()/g, "\n").replace(/^[\r\n]*|[\r\n]*$/g, "").replace(/^\s*(()?|\s*\/\/\s*\]\]>(-->)?|\/\/\s*(-->)?|\]\]>|\/\*\s*-->\s*\*\/|\s*-->\s*)\s*$/g, ""); } for (;i--; ) value = (firstChild = (node = nodes[i]).firstChild) ? firstChild.value : "", (parent = node.parent) && "pre" === parent.name || ("script" === name ? ((parent = node.attr("type")) && node.attr("type", "mce-no/type" == parent ? null : parent.replace(/^mce\-/, "")), "xhtml" === settings.element_format && firstChild && 0 < value.length && (firstChild.value = "// ")) : "xhtml" === settings.element_format && firstChild && 0 < value.length && (firstChild.value = "\x3c!--\n" + trim(value) + "\n--\x3e")); }), htmlParser.addNodeFilter("#comment", function(nodes) { for (var node, i = nodes.length; i--; ) 0 === (node = nodes[i]).value.indexOf("[CDATA[") ? (node.name = "#cdata", node.type = 4, node.value = node.value.replace(/^\[CDATA\[|\]\]$/g, "")) : 0 === node.value.indexOf("mce:protected ") && (node.name = "#text", node.type = 3, node.raw = !0, node.value = unescape(node.value).substr(14)); }), htmlParser.addNodeFilter("xml:namespace,input", function(nodes, name) { for (var node, i = nodes.length; i--; ) 7 === (node = nodes[i]).type ? node.remove() : 1 !== node.type || "input" !== name || "type" in node.attributes.map || node.attr("type", "text"); }), settings.fix_list_elements && htmlParser.addNodeFilter("ul,ol", function(nodes) { for (var node, parentNode, i = nodes.length; i--; ) "ul" !== (parentNode = (node = nodes[i]).parent).name && "ol" !== parentNode.name || node.prev && "li" === node.prev.name && node.prev.append(node); }), htmlParser.addAttributeFilter("data-mce-src,data-mce-href,data-mce-style,data-mce-selected,data-mce-expando,data-mce-block,data-mce-type,data-mce-resize,data-mce-placeholder", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr(name, null); }), { schema: schema, addNodeFilter: htmlParser.addNodeFilter, addAttributeFilter: htmlParser.addAttributeFilter, onPreProcess: onPreProcess, onPostProcess: onPostProcess, serialize: function(node, args) { var doc, oldDoc, rootNode, brNode2, node = node.cloneNode(!0), impl = document.implementation; return impl.createHTMLDocument && (doc = impl.createHTMLDocument(""), each("BODY" == node.nodeName ? node.childNodes : [ node ], function(node) { doc.body.appendChild(doc.importNode(node, !0)); }), node = "BODY" != node.nodeName ? doc.body.firstChild : doc.body, oldDoc = dom.doc, dom.doc = doc), (args = args || {}).format = args.format || "html", args.selection && (args.forced_root_block = ""), args.no_events || (args.node = node, onPreProcess.dispatch(self, args)), isBr(rootNode = (rootNode = impl = htmlParser.parse(tinymce.trim(args.getInner ? node.innerHTML : dom.getOuterHTML(node)), args)).lastChild) && isBr(brNode2 = rootNode.prev) && (rootNode.remove(), brNode2.remove()), node = new tinymce.html.Serializer(settings, schema), args.content = node.serialize(impl), args.cleanup || (args.content = args.content.replace(/\uFEFF/g, "")), args.no_events || onPostProcess.dispatch(self, args), oldDoc && (dom.doc = oldDoc), args.node = null, args.content; function isBr(node) { return node && "br" === node.name; } }, addRules: function(rules) { schema.addValidElements(rules); }, setRules: function(rules) { schema.setValidElements(rules); }, addTempAttr: function(name) { -1 === tinymce.inArray(tempAttrs, name) && (htmlParser.addAttributeFilter(name, function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr(name, null); }), tempAttrs.push(name)); }, getTempAttrs: function() { return tempAttrs; } }; }; }(tinymce), function(tinymce) { tinymce.dom.ScriptLoader = function() { var states = {}, queue = [], scriptLoadedCallbacks = {}, queueLoadedCallbacks = [], loading = 0; this.isDone = function(url) { return 2 == states[url]; }, this.markDone = function(url) { states[url] = 2; }, this.add = this.load = function(url, callback, scope) { null == states[url] && (queue.push(url), states[url] = 0), callback && (scriptLoadedCallbacks[url] || (scriptLoadedCallbacks[url] = []), scriptLoadedCallbacks[url].push({ func: callback, scope: scope || this })); }, this.loadQueue = function(callback, scope) { this.loadScripts(queue, callback, scope); }, this.loadScripts = function(scripts, callback, scope) { var loadScripts; function execScriptLoadedCallbacks(url) { tinymce.each(scriptLoadedCallbacks[url], function(callback) { callback.func.call(callback.scope); }), scriptLoadedCallbacks[url] = void 0; } queueLoadedCallbacks.push({ func: callback, scope: scope || this }), (loadScripts = function() { var loadingScripts = tinymce.grep(scripts); scripts.length = 0, tinymce.each(loadingScripts, function(url) { 2 == states[url] ? execScriptLoadedCallbacks(url) : 1 != states[url] && (states[url] = 1, loading++, function(url, callback) { var elm, id, dom = tinymce.DOM; function done() { dom.remove(id), elm && (elm.onreadystatechange = elm.onload = elm = null), callback(); } id = dom.uniqueId(), (elm = document.createElement("script")).setAttribute("data-cfasync", !1), elm.id = id, elm.type = "text/javascript", elm.src = tinymce._addVer(url), tinymce.isIE && !tinymce.isIE11 || (elm.onload = done), elm.onerror = function() { "undefined" != typeof console && console.log && console.log("Failed to load: " + url); }, tinymce.isOpera || (elm.onreadystatechange = function() { var state = elm.readyState; "complete" != state && "loaded" != state || done(); }), (document.getElementsByTagName("head")[0] || document.body).appendChild(elm); }(url, function() { states[url] = 2, loading--, execScriptLoadedCallbacks(url), loadScripts(); })); }), loading || (tinymce.each(queueLoadedCallbacks, function(callback) { callback.func.call(callback.scope); }), queueLoadedCallbacks.length = 0); })(); }; }, tinymce.ScriptLoader = new tinymce.dom.ScriptLoader(); }(tinymce), function(tinymce) { tinymce.dom.StyleSheetLoader = function(document) { var states = {}, queue = [], stylesheetLoadedCallbacks = {}, queueLoadedCallbacks = [], loading = 0, maxLoadTime = 5e3; function loadStylesheet(url, callback) { var elm, id, startTime, complete; function done() { complete || (complete = !0, elm && (elm.onreadystatechange = elm.onload = elm = null), callback()); } function error() { "undefined" != typeof console && console.log && console.log("Failed to load: " + url), done(); } id = tinymce.DOM.uniqueId(), (elm = document.createElement("link")).rel = "stylesheet", elm.type = "text/css", elm.href = tinymce._addVer(url), elm.async = !1, elm.defer = !1, startTime = new Date().getTime(), elm.setAttribute("data-cfasync", !1), elm.id = id, elm.onload = function waitForLoaded() { var waitCallback = waitForLoaded; !function() { for (var styleSheet, styleSheets = document.styleSheets, i = styleSheets.length; i--; ) if ((styleSheet = (styleSheet = styleSheets[i]).ownerNode || styleSheet.owningElement) && styleSheet.id === elm.id) return done(), 1; }() && (new Date().getTime() - startTime < maxLoadTime ? setTimeout(waitCallback) : error()); }, elm.onerror = error, (document.getElementsByTagName("head")[0] || document.body).appendChild(elm); } this.isDone = function(url) { return 2 == states[url]; }, this.markDone = function(url) { states[url] = 2; }, this.add = this.load = function(url, callback, scope) { null == states[url] && (queue.push(url), states[url] = 0), callback && (stylesheetLoadedCallbacks[url] || (stylesheetLoadedCallbacks[url] = []), stylesheetLoadedCallbacks[url].push({ func: callback, scope: scope || this })); }, this.loadQueue = function(callback, scope) { this.loadStylesheets(queue, callback, scope); }, this.loadStylesheets = function(stylesheets, callback, scope) { var loadStylesheets; function execstylesheetLoadedCallbacks(url) { tinymce.each(stylesheetLoadedCallbacks[url], function(callback) { callback.func.call(callback.scope); }), stylesheetLoadedCallbacks[url] = void 0; } queueLoadedCallbacks.push({ func: callback, scope: scope || this }), (loadStylesheets = function() { var loadingstylesheets = tinymce.grep(stylesheets); stylesheets.length = 0, tinymce.each(loadingstylesheets, function(url) { 2 == states[url] ? execstylesheetLoadedCallbacks(url) : 1 != states[url] && (states[url] = 1, loading++, loadStylesheet(url, function() { states[url] = 2, loading--, execstylesheetLoadedCallbacks(url), loadStylesheets(); })); }), loading || (tinymce.each(queueLoadedCallbacks, function(callback) { callback.func.call(callback.scope); }), queueLoadedCallbacks.length = 0); })(); }, this.loadStylesheet = loadStylesheet; }, tinymce.StyleSheetLoader = new tinymce.dom.StyleSheetLoader(); }(tinymce), function(tinymce) { function isUIElement(editor, elm) { var customSelector = editor ? editor.settings.custom_ui_selector : ""; return null !== DOM.getParent(elm, function(elm) { return FocusManager.isEditorUIElement(elm) || !!customSelector && editor.dom.is(elm, customSelector); }); } var selectionChangeHandler, documentFocusInHandler, documentMouseUpHandler, DOM = tinymce.DOM; function FocusManager(editorManager) { function registerEvents(editor) { editor.onSetContent.add(function() { editor.lastRng = null; }), editor.onMouseDown.add(function() { editor.selection.lastFocusBookmark = null; }), editor.onFocusIn.add(function() { var lastRng, focusedEditor = editorManager.focusedEditor; editor.selection.lastFocusBookmark && (lastRng = function(editor, bookmark) { var rng; return bookmark.startContainer ? ((rng = editor.getDoc().createRange()).setStart(bookmark.startContainer, bookmark.startOffset), rng.setEnd(bookmark.endContainer, bookmark.endOffset)) : rng = bookmark, rng; }(editor, editor.selection.lastFocusBookmark), editor.selection.lastFocusBookmark = null, editor.selection.setRng(lastRng)), focusedEditor != editor && (focusedEditor && (focusedEditor.onBlur.dispatch(focusedEditor, { focusedEditor: editor }), focusedEditor.onDeactivate.dispatch(focusedEditor, editor)), editorManager.setActive(editor), (editorManager.focusedEditor = editor).onFocus.dispatch(editor, { blurredEditor: focusedEditor }), editor.onActivate.dispatch(editor, focusedEditor), editor.focus(!0)), editor.lastRng = null; }), editor.onFocusOut.add(function() { setTimeout(function() { var focusedEditor = editorManager.focusedEditor; isUIElement(editor, function() { try { return document.activeElement; } catch (ex) { return document.body; } }()) || focusedEditor != editor || (editor.onBlur.dispatch(editor, { focusedEditor: null }), editorManager.focusedEditor = null, editor.selection && (editor.selection.lastFocusBookmark = null)); }, 10); }), documentFocusInHandler || (documentFocusInHandler = function(e) { var dom, rng, activeEditor = editorManager.activeEditor, e = e.target; activeEditor && e.ownerDocument === document && (activeEditor.selection && e !== activeEditor.getBody() && function(editor, target) { return !1 === editor.dom.isChildOf(target, editor.getBody()); }(editor, e) && (activeEditor.selection.lastFocusBookmark = (dom = activeEditor.dom, (rng = activeEditor.lastRng) && rng.startContainer ? dom.isChildOf(rng.startContainer, dom.getRoot()) && dom.isChildOf(rng.endContainer, dom.getRoot()) ? { startContainer: rng.startContainer, startOffset: rng.startOffset, endContainer: rng.endContainer, endOffset: rng.endOffset } : void 0 : rng)), e === document.body || isUIElement(activeEditor, e) || editorManager.focusedEditor !== activeEditor || (activeEditor.onBlur.dispatch(editor, { focusedEditor: null }), editorManager.focusedEditor = null)); }, DOM.bind(document, "focusin", documentFocusInHandler)); } editorManager.onAddEditor.add(function(mgr, editor) { registerEvents(editor); }), editorManager.onRemoveEditor.add(function(mgr, editor) { !function(editor) { editorManager.focusedEditor == editor && (editorManager.focusedEditor = null), editorManager.activeEditor || (DOM.unbind(document, "selectionchange", selectionChangeHandler), DOM.unbind(document, "focusin", documentFocusInHandler), DOM.unbind(document, "mouseup", documentMouseUpHandler), selectionChangeHandler = documentFocusInHandler = documentMouseUpHandler = null); }(editor); }); } FocusManager.isEditorUIElement = function(elm) { return -1 !== elm.className.toString().indexOf("mce"); }, tinymce.dom.FocusManager = FocusManager; }(tinymce), function(tinymce) { var Event = tinymce.dom.Event, each = tinymce.each; tinymce.create("tinymce.ui.KeyboardNavigation", { KeyboardNavigation: function(settings, dom) { var itemFocussed, itemBlurred, rootKeydown, rootFocussed, focussedId, self = this, root = settings.root, items = settings.items, enableUpDown = settings.enableUpDown, enableLeftRight = settings.enableLeftRight || !settings.enableUpDown, excludeFromTabOrder = settings.excludeFromTabOrder, rootElm = (dom = dom || tinymce.DOM, itemFocussed = function(evt) { focussedId = evt.target.id; }, itemBlurred = function(evt) { dom.setAttrib(evt.target.id, "tabindex", "-1"); }, rootFocussed = function() { var item = dom.get(focussedId); dom.setAttrib(item, "tabindex", "0"), item.focus(); }, this.focus = function() { dom.get(focussedId).focus(); }, this.update = function(value) { each(items = value, function(item, idx) { item.id || (item.id = dom.uniqueId("_mce_item_")), item = dom.get(item.id), idx = excludeFromTabOrder ? (dom.bind(item, "blur", itemBlurred), "-1") : 0 === idx ? "0" : "-1", item.setAttribute("tabindex", idx), dom.bind(item, "focus", itemFocussed); }); }, this.destroy = function() { each(items, function(item) { item = dom.get(item.id), dom.unbind(item, "focus", itemFocussed), dom.unbind(item, "blur", itemBlurred); }); var rootElm = dom.get(root); dom.unbind(rootElm, "focus", rootFocussed), dom.unbind(rootElm, "keydown", rootKeydown), items = dom = root = this.focus = itemFocussed = itemBlurred = rootKeydown = rootFocussed = null, this.destroy = function() {}; }, this.moveFocus = function(dir, evt) { var idx = -1; focussedId && (each(items, function(item, index) { if (item.id === focussedId) return idx = index, !1; }), (idx += dir) < 0 ? idx = items.length - 1 : idx >= items.length && (idx = 0), dir = items[idx], dom.setAttrib(focussedId, "tabindex", "-1"), dom.setAttrib(dir.id, "tabindex", "0"), dom.get(dir.id).focus(), settings.actOnFocus && settings.onAction(dir.id), evt) && Event.cancel(evt); }, rootKeydown = function(evt) { switch (evt.keyCode) { case 37: enableLeftRight && (self.moveFocus(-1), Event.cancel(evt)); break; case 39: enableLeftRight && (self.moveFocus(1), Event.cancel(evt)); break; case 38: enableUpDown && (self.moveFocus(-1), Event.cancel(evt)); break; case 40: enableUpDown && (self.moveFocus(1), Event.cancel(evt)); break; case 27: settings.onCancel && (settings.onCancel(), Event.cancel(evt)); break; case 14: case 13: case 32: settings.onAction && (Event.cancel(evt), settings.onAction(evt, focussedId)); } }, this.update(items), items[0] && (focussedId = items[0].id), dom.setAttrib(root, "tabindex", "-1"), dom.get(root)); dom.bind(rootElm, "focus", rootFocussed), dom.bind(rootElm, "keydown", rootKeydown); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM; tinymce.create("tinymce.ui.Control", { Control: function(id, settings, editor) { this.id = id, this.settings = settings || {}, this.rendered = !1, this.onRender = new tinymce.util.Dispatcher(this), this.classPrefix = "mce", this.scope = this.settings.scope || this, this.disabled = 0, this.active = 0, this.editor = editor, this.type = "control", this.name = this.settings.name || id; }, setAriaProperty: function(property, value) { var element = DOM.get(this.id + "_aria") || DOM.get(this.id); element && element.setAttribute("aria-" + property, "" + !!value); }, focus: function() { DOM.get(this.id).focus(); }, setDisabled: function(state) { state != this.disabled && (this.setAriaProperty("disabled", state), this.setState("Disabled", state), this.setState("Enabled", !state), this.disabled = state); }, isDisabled: function() { return this.disabled; }, setActive: function(s) { s != this.active && (this.setState("Active", s), this.active = s, this.setAriaProperty("current", s)); }, isActive: function() { return this.active; }, setState: function(c, s) { var n = DOM.get(this.id); c = this.classPrefix + c, s ? DOM.addClass(n, c) : DOM.removeClass(n, c); }, isRendered: function() { return this.rendered; }, renderHTML: function() {}, renderTo: function(n) { var frag = DOM.createFragment(this.renderHTML()); n.appendChild(frag), this.postRender(); }, postRender: function() { var state; tinymce.is(this.disabled) && (state = this.disabled, this.disabled = -1, this.setDisabled(state)), tinymce.is(this.active) && (state = this.active, this.active = -1, this.setActive(state)), this.onRender.dispatch(); }, parent: function(ctrl) { if (!ctrl) return this._parent || null; this._parent = ctrl; }, remove: function() { this.destroy(), DOM.remove(this.id); }, destroy: function() { tinymce.dom.Event.clear(this.id); } }); }(tinymce), tinymce.create("tinymce.ui.Container:tinymce.ui.Control", { Container: function(id, settings, editor) { var self = this; this._super(id, settings = settings || {}, editor), this.controls = [], this.lookup = {}, settings.controls && tinymce.each(settings.controls, function(ctrl) { self.add(ctrl); }); }, add: function(ctrl) { return this.lookup[ctrl.id] = ctrl, this.controls.push(ctrl), ctrl.parent(this), ctrl; }, destroy: function() { var i; for (this._super(), i = 0; i < this.controls.length; i++) this.controls[i].destroy(); delete this.lookup[this.id]; }, get: function(id) { return this.lookup[id]; }, find: function(name) { var i; if ("#" === name.charAt(0)) return this.get(name.substring(1)); for (i = 0; i < this.controls.length; i++) if (this.controls[i].name === name) return this.controls[i]; } }), function(tinymce) { var dom = tinymce.DOM, Event = tinymce.dom.Event; tinymce.create("tinymce.ui.TabPanel:tinymce.ui.Container", { TabPanel: function(id, settings, editor) { this._super(id, settings = settings || {}, editor), this.items = []; }, renderHTML: function() { var html = ""; if (1 < this.items.length) { html += '
      '; for (var i = 0; i < this.items.length; i++) { var tab = this.items[i]; html += '"; } html += "
    "; } for (html += '
    ', i = 0; i < this.items.length; i++) { var items = (tab = this.items[i]).items || [], cls = tab.class || ""; html += '"; } return dom.createHTML("div", { id: this.id, class: "mceTabPanel" + (this.settings.class ? " " + this.settings.class : "") }, html += "
    "); }, _activateTab: function(index) { for (var tabEl, panelEl, i = 0; i < this.items.length; i++) tabEl = dom.get(this.id + "_tab_" + i), (panelEl = dom.get(this.id + "_panel_" + i)) && (i === index ? (dom.addClass(tabEl, "mceActive"), dom.setAttrib(tabEl, "aria-selected", "true"), panelEl.style.display = "") : (dom.removeClass(tabEl, "mceActive"), dom.setAttrib(tabEl, "aria-selected", "false"), panelEl.style.display = "none")); }, add: function(item) { this.items.push(item); }, submit: function() { for (var data = {}, i = 0; i < this.items.length; i++) !function collect(items) { for (var i = 0; i < items.length; i++) { var item = items[i]; if ("function" == typeof item.submit) { var key, values = item.submit(); for (key in values) values.hasOwnProperty(key) && (data[key] = values[key]); } else item.controls && item.controls.length ? collect(item.controls) : "function" == typeof item.value && (data[item.name] = item.value()); } }(this.items[i].items || []); return data; }, update: function(data) { for (var i = 0; i < this.items.length; i++) !function applyUpdate(items) { for (var i = 0; i < items.length; i++) { var item = items[i]; "function" == typeof item.update ? item.update(data) : item.controls && item.controls.length && applyUpdate(item.controls); } }(this.items[i].items || []); }, postRender: function() { var i, self = this; for (this._super(), i = 0; i < this.items.length; i++) for (var items = this.items[i].items || [], x = 0; x < items.length; x++) items[x].postRender(); for (this._activateTab(0), i = 0; i < this.items.length; i++) !function(index) { Event.add(self.id + "_tab_" + index, "click", function(e) { Event.cancel(e), self._activateTab(index); }); }(i); }, destroy: function() { this._super(); for (var i = 0; i < this.controls.length; i++) this.controls[i].destroy(); delete this.lookup[this.id]; } }); }(tinymce), function(tinymce) { var dom = tinymce.DOM; tinymce.create("tinymce.ui.Form:tinymce.ui.Container", { renderHTML: function() { var i, html = "", settings = this.settings; for (settings.label && (html += "" + dom.encode(settings.label) + ""), i = 0; i < this.controls.length; i++) { var ctrl = this.controls[i], s = ctrl.settings; s.subtype && "hidden" == s.subtype ? html += ctrl.renderHTML() : (html += '
    ', s.label && "checkbox" !== ctrl.type && (html += '"), html = (html += '\t
    ') + ctrl.renderHTML() + "\t
    ", s.label && "checkbox" === ctrl.type && (html += '"), html += "
    "); } return dom.createHTML("fieldset", { id: this.id, class: "mceForm" + (settings.class ? " " + settings.class : ""), role: "group" }, html); }, submit: function() { for (var data = {}, i = 0; i < this.controls.length; i++) { var ctrl = this.controls[i]; "function" == typeof ctrl.value && (data[ctrl.name] = ctrl.value()); } return data; }, update: function(data) { for (var i = 0; i < this.controls.length; i++) { var ctrl = this.controls[i]; data[ctrl.name] && "function" == typeof ctrl.value && ctrl.value(data[ctrl.name]); } }, empty: function() { for (var i = 0; i < this.controls.length; i++) this.controls[i].remove(); this.controls = [], this.lookup = {}; }, add: function(ctrl) { return !this.get(ctrl.id) && this._super(ctrl); }, show: function(ctrl) { ctrl = dom.get(ctrl.id), (ctrl = dom.getParent(ctrl, ".mceFormRow")) && (ctrl.style.display = ""); }, hide: function(ctrl) { ctrl = dom.get(ctrl.id), (ctrl = dom.getParent(ctrl, ".mceFormRow")) && (ctrl.style.display = "none"); }, postRender: function() { var i; for (this._super(), i = 0; i < this.controls.length; i++) this.controls[i].postRender(), this.controls[i].elm = dom.get(this.controls[i].id); } }); }(tinymce), tinymce.create("tinymce.ui.Separator:tinymce.ui.Control", { Separator: function(id, s) { this._super(id, s), this.classPrefix = "mceSeparator", this.setDisabled(!0); }, renderHTML: function() { return tinymce.DOM.createHTML("span", { class: this.classPrefix, role: "separator", "aria-orientation": "vertical", tabindex: "-1" }, ""); } }), function(tinymce) { tinymce.create("tinymce.ui.MenuItem:tinymce.ui.Control", { MenuItem: function(id, settings) { this._super(id, settings); }, setSelected: function(state) { this.setState("Selected", state), this.setAriaProperty("selected", !!state), this.selected = state; }, isSelected: function() { return this.selected; }, postRender: function() { var state; this._super(), tinymce.is(this.disabled) && (state = this.disabled, this.disabled = -1, this.setDisabled(state)), tinymce.is(this.active) && (state = this.active, this.active = -1, this.setActive(state)), tinymce.is(this.selected) && this.setSelected(this.selected); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, walk = tinymce.walk; tinymce.create("tinymce.ui.Menu:tinymce.ui.MenuItem", { Menu: function(id, settings) { this._super(id, settings), this.items = {}, this.collapsed = !1, this.menuCount = 0, this.onAddItem = new tinymce.util.Dispatcher(this); }, expand: function(d) { d && walk(this, function(o) { o.expand && o.expand(); }, "items", this), this.collapsed = !1; }, collapse: function(state) { state && walk(this, function(menu) { menu.collapse && menu.collapse(); }, "items", this), this.collapsed = !0; }, isCollapsed: function() { return this.collapsed; }, add: function(menu) { return menu.settings || (menu = new tinymce.ui.MenuItem(menu.id || DOM.uniqueId(), menu)), this.onAddItem.dispatch(this, menu), this.items[menu.id] = menu; }, addSeparator: function() { return this.add({ separator: !0 }); }, addMenu: function(menu) { return menu.collapse || (menu = this.createMenu(menu)), this.menuCount++, this.add(menu); }, hasMenus: function() { return 0 !== this.menuCount; }, remove: function(menu) { delete this.items[menu.id]; }, removeAll: function() { walk(this, function(menu) { menu.removeAll ? menu.removeAll() : menu.remove(), menu.destroy(); }, "items", this), this.items = {}; }, createMenu: function(settings) { return (settings = new tinymce.ui.Menu(settings.id || DOM.uniqueId(), settings)).onAddItem.add(this.onAddItem.dispatch, this.onAddItem), settings; } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, each = tinymce.each, Event = tinymce.dom.Event, specialKeyCodeMap = { 9: "tab", 17: "ctrl", 18: "alt", 27: "esc", 37: "left", 39: "right", 13: "enter", 91: "cmd", 38: "up", 40: "down" }; tinymce.create("tinymce.ui.DropMenu:tinymce.ui.Menu", { DropMenu: function(id, s) { (s = s || {}).container = s.container || DOM.doc.body, s.offset_x = s.offset_x || 0, s.offset_y = s.offset_y || 0, s.vp_offset_x = s.vp_offset_x || 0, s.vp_offset_y = s.vp_offset_y || 0, this._super(id, s), this.onShowMenu = new tinymce.util.Dispatcher(this), this.onHideMenu = new tinymce.util.Dispatcher(this), this.onFilterInput = new tinymce.util.Dispatcher(this), this.classPrefix = "mceMenu", this.selected = []; }, createMenu: function(s) { var cs = this.settings; return s.container = s.container || cs.container, s.parent = this, s.constrain = s.constrain || cs.constrain, s.class = s.class || cs.class, s.vp_offset_x = s.vp_offset_x || cs.vp_offset_x, s.vp_offset_y = s.vp_offset_y || cs.vp_offset_y, s.keyboard_focus = cs.keyboard_focus, (cs = new tinymce.ui.DropMenu(s.id || DOM.uniqueId(), s)).onAddItem.add(this.onAddItem.dispatch, this.onAddItem), cs; }, focus: function() { this.keyboardNav && this.keyboardNav.focus(); }, update: function() { var s = this.settings, m = DOM.get("menu_" + this.id); s.max_width && DOM.setStyle(m, "width", s.max_width), s.max_height && DOM.setStyle(m, "height", s.max_height); }, scrollTo: function(el) { el.parentNode.scrollTop = el.offsetTop; }, deselectAll: function() { each(this.items, function(item) { item.setSelected(0); }); }, selectItem: function(item, state) { return !!item && (item.setSelected(state), state ? this.selected.push(item) : 0 <= (state = tinymce.inArray(this.selected, item)) && this.selected.splice(state, 1), item); }, findItem: function(val) { var found; return each(this.items, function(item) { if (item.settings.title === val) return found = item, !1; }), found; }, clearFilterInput: function() { var filter = DOM.get("menu_" + this.id + "_filter"), input = DOM.select("input", "menu_" + this.id + "_filter_input")[0]; filter && (input.value = "", input.focus(), this.clearFilteredItems()); }, showMenu: function(x, y, px, py) { var co, w, h, mx, el, self = this, s = self.settings, vp = DOM.getViewPort(), cp = self.classPrefix; self.collapse(1), self.isMenuVisible || (self.selected = [], self.rendered ? co = DOM.get("menu_" + self.id) : (co = DOM.add(self.settings.container, self.renderNode()), each(self.items, function(o) { o.postRender(); }), self.postRender()), co && (DOM.show(co), self.update(), x += s.offset_x || 0, y += s.offset_y || 0, s.constrain && (w = +co.clientWidth, h = +co.clientHeight, mx = vp.x + vp.w, vp = vp.y + vp.h, x + s.vp_offset_x + w > mx && (x = px ? px - w : Math.max(0, mx - s.vp_offset_x - w)), y + s.vp_offset_y + h > vp) && (y = py ? py - h - 8 : Math.max(0, vp - s.vp_offset_y - h)), DOM.setStyles(co, { left: x, top: y }), self.isMenuVisible = 1, self.mouseClickFunc = Event.add(co, "click", function(e) { var n = e.target; return "INPUT" != n.nodeName && "TEXTAREA" != n.nodeName && (n = n && DOM.getParent(n, ".mceMenuItem")) && !DOM.hasClass(n, cp + "ItemSub") ? ((n = self.items[n.id]) && !n.isDisabled() && (n.settings.onAction && n.settings.onAction(e), n.settings.onclick && !1 !== n.settings.onclick(e) && self.close(), self.clearFilterInput()), !1) : void 0; }), self.mouseOverFunc = Event.add(co, "mouseover", function(e) { var m, n = e.target; if (n = n && DOM.getParent(n, ".mceMenuItem")) { if (m = self.items[n.id], self.hasMenus()) { if (self.lastMenu && self.lastMenu.collapse(1), m.isDisabled()) return; n && DOM.hasClass(n, cp + "ItemSub") && (n = DOM.getRect(n), m.showMenu(+(n.x + n.w), +n.y, n.x), self.lastMenu = m); } m.settings.onmouseover && m.settings.onmouseover(e); } }), Event.add(co, "keydown", self._keyDownHandler, self), s.filter && Event.add(co, "keyup", self._keyUpHandler, self), self.onShowMenu.dispatch(self), each(self.items, function(o) { o.selected && -1 === tinymce.inArray(self.selected, o) && self.selected.push(o); }), self.selected.length ? (el = DOM.get(self.selected[0].id)) && self.scrollTo(el) : (el = DOM.get("menu_" + self.id + "_items")) && (el.scrollTop = 0), s.keyboard_focus && self._setupKeyboardNav(), s.filter) && (px = DOM.select("input", "menu_" + self.id + "_filter_input")) && px[0].focus()); }, hideMenu: function(c) { var co = DOM.get("menu_" + this.id); this.isMenuVisible && (this.settings.filter && this.clearFilterInput(!0), Event.remove(co, "click", this.mouseClickFunc), Event.remove(co, "keydown", this._keyDownHandler), Event.remove(co, "keyup", this._keyUpHandler), DOM.hide(co), this.isMenuVisible = 0, c || this.collapse(1), (co = DOM.get("menu_" + this.id)) && DOM.removeClass(co.firstChild, this.classPrefix + "ItemActive"), this.onHideMenu.dispatch(this)); }, add: function(o) { var co; return o = this._super(o), this.isRendered && (co = DOM.get("menu_" + this.id + "_items")) && this._add(co, o), o; }, collapse: function(d) { this._super(d), this.hideMenu(1); }, close: function() { for (var dm = this; dm; ) dm.hideMenu && dm.hideMenu(), dm = dm.settings.parent; }, remove: function(o) { return DOM.remove(o.id), this.destroy(), this._super(o); }, destroy: function() { var co = DOM.get("menu_" + this.id); this.keyboardNav && this.keyboardNav.destroy(), Event.remove(co, "mouseover", this.mouseOverFunc), Event.remove(DOM.select("a", co), "focus", this.mouseOverFunc), Event.remove(co, "click", this.mouseClickFunc), Event.remove(co, "keyup", this._keyUpHandler), Event.remove(co, "keydown", this._keyDownHandler), DOM.remove(co); }, renderNode: function() { var items, filterInput, self = this, s = self.settings, menu = DOM.create("div", { role: "menu", id: "menu_" + self.id, class: s.class + " " + self.classPrefix, "aria-orientation": "vertical" }); return self.settings.parent && DOM.setAttrib(menu, "aria-parent", self.settings.parent.id), s.filter && (s = DOM.add(menu, "div", { id: "menu_" + self.id + "_filter", class: self.classPrefix + "Filter" }, ""), filterInput = DOM.add(s, "div", { id: "menu_" + self.id + "_filter_input", class: self.classPrefix + "FilterInput" }, ''), self.onHideMenu.add(function() { filterInput.firstChild.value = ""; })), items = DOM.add(menu, "div", { id: "menu_" + self.id + "_items", class: self.classPrefix + "Items" }), each(self.items, function(o) { self._add(items, o); }), self.rendered = !0, menu; }, selectAndClear: function(value) { this.settings.onselect.call(this, value), this.clearFilterInput(); }, _setupKeyboardNav: function() { var self = this, contextMenu = DOM.get("menu_" + self.id), menuItems = DOM.select('div[role="menuitem"]', "menu_" + self.id); menuItems.splice(0, 0, contextMenu), self.keyboardNav = new tinymce.ui.KeyboardNavigation({ root: "menu_" + self.id, items: menuItems, onCancel: function() { self.hideMenu(); }, onAction: function(e, id) { var val, item; 1 < menuItems.length ? e.target && "INPUT" === e.target.nodeName && ("" !== (val = e.target.value) && ((item = self.findItem(val)) ? id = item.id : (id = DOM.uniqueId(), item = self.add({ id: id, role: "menuitem", title: val, onclick: function() { self.selectAndClear(this.settings.value); } }))), e.target.value = "") : self.settings.onselect && !1 !== self.settings.onselect.call(self, e.target) && self.hideMenu(), (item = item || self.items[id]) && item.settings.value && self.selectAndClear(item.settings.value); }, enableUpDown: !0 }), contextMenu.focus(); }, _updateKeyboardNav: function() { var items = DOM.select('div[role="menuitem"]:not(.mceMenuItemHidden)', this.id + ""); this.keyboardNav.update(items); }, clearFilteredItems: function() { each(this.items, function(o, id) { DOM.removeClass(id, "mceMenuItemHidden"); }), this.keyboardNav && this._updateKeyboardNav(); }, filterItems: function(value) { var matcher; "" === value ? this.clearFilteredItems() : (matcher = new RegExp("" + value.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), "i"), each(this.items, function(o, id) { o = o.settings, (o = !value || void 0 === value || matcher.test(o.title)) ? DOM.removeClass(id, "mceMenuItemHidden") : DOM.addClass(id, "mceMenuItemHidden"); }), this._updateKeyboardNav()); }, _keyDownHandler: function(evt) { var nodes, endIndex, tabIndex; 9 == evt.keyCode && (nodes = DOM.select("input, button, select, textarea", DOM.get("menu_" + this.id)), (nodes = tinymce.grep(nodes, function(node) { return !node.disabled && !DOM.isHidden(node) && 0 <= node.getAttribute("tabindex"); })).length) && (DOM.setAttrib(nodes, "tabindex", 0), evt.shiftKey && nodes.reverse(), endIndex = Math.max(0, nodes.length - 1), tabIndex = function(nodes, node) { for (var i = 0; i < nodes.length; i++) if (nodes[i] === node) return i; return -1; }(nodes, evt.target), tabIndex++, nodes[tabIndex = endIndex < (tabIndex = Math.max(tabIndex, 0)) ? 0 : tabIndex].focus(), DOM.setAttrib(nodes[tabIndex], "tabindex", 1), evt.preventDefault(), evt.stopImmediatePropagation()); }, _keyUpHandler: function(evt) { var input, self = this; evt.target && "INPUT" === evt.target.nodeName && (input = evt.target, setTimeout(function() { var item; 32 === evt.keyCode && ((item = self.findItem(input.value)) && self.selectItem(item), input.value = ""), specialKeyCodeMap[evt.keyCode] || self.filterItems(input.value), self.onFilterInput.dispatch(self, evt); }, 0)); }, _add: function(menu, o) { var icon, s = o.settings, cp = this.classPrefix; s.separator ? DOM.add(menu, "div", { id: o.id, class: cp + "Item " + cp + "ItemSeparator" }) : (menu = DOM.add(menu, "div", { id: o.id, class: cp + "Item " + cp + "ItemEnabled" }), s.tooltip ? (DOM.setAttrib(menu, "data-title", s.tooltip), DOM.addClass(menu, "mceTooltip"), DOM.add(menu, "span", { class: "sr-only", id: o.id + "_sr_only" }, s.tooltip), DOM.setAttrib(menu, "aria-describedby", o.id + "_sr_only")) : DOM.setAttrib(menu, "title", s.title || ""), s.description && DOM.setAttrib(menu, "aria-describedby", o.id + "_description"), s.html ? (DOM.addClass(menu, "mceMenuHtml"), DOM.setHTML(menu, s.html)) : (DOM.setAttrib(menu, "role", "menuitem"), !s.icon && !s.icon_src || s.svg || s.image || (icon = DOM.add(menu, "span", { class: "mceIcon" + (s.icon ? " mce_" + s.icon : "") }), s.icon_src && DOM.add(icon, "img", { src: s.icon_src }), DOM.addClass(menu, "mceHasIcon")), s.image && DOM.add(menu, "span", { class: "mceImage", style: 'background-image:url("' + s.image + '")', role: "presentation" }), s.svg && DOM.add(menu, "span", { class: "mceIcon mceIconSvg" }, s.svg), icon = DOM.add(menu, s.element || "span", { class: "mceText" }, o.settings.title), s.description && DOM.add(menu, "span", { class: "mceDescription", id: o.id + "_description" }, s.description), o.settings.style && ("function" == typeof o.settings.style && (o.settings.style = o.settings.style()), DOM.setAttrib(icon, "style", o.settings.style)), s.parent && (DOM.setAttrib(icon, "aria-haspopup", "true"), DOM.setAttrib(icon, "aria-owns", o.id))), DOM.addClass(menu, s.class), o.onmouseover && Event.add(menu, "mouseover", o.onmouseover), o.collapse && DOM.addClass(menu, cp + "ItemSub")); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, Dispatcher = tinymce.util.Dispatcher; tinymce.create("tinymce.ui.Button:tinymce.ui.Control", { Button: function(id, s, ed) { this._super(id, s, ed), this.classPrefix = "mceButton", this.onPostRender = new Dispatcher(this); }, renderHTML: function() { var cp = this.classPrefix, s = this.settings, l = DOM.encode(s.label || ""), h = '"; }, postRender: function() { var imgBookmark, self = this, s = self.settings; tinymce.isIE && self.editor && Event.add(self.id, "mousedown", function() { var nodeName = self.editor.selection.getNode().nodeName; imgBookmark = "IMG" === nodeName ? self.editor.selection.getBookmark() : null; }), Event.add(self.id, "click", function(e) { if (Event.cancel(e), !self.isDisabled()) return tinymce.isIE && self.editor && null !== imgBookmark && self.editor.selection.moveToBookmark(imgBookmark), s.onclick.call(s.scope, e); }), Event.add(self.id, "keydown", function(e) { if (!self.isDisabled() && e.keyCode == tinymce.VK.SPACEBAR) return Event.cancel(e), s.onclick.call(s.scope, e); }), this.rendered = !0, this.onPostRender.dispatch(this, DOM.get(this.id)); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, Dispatcher = tinymce.util.Dispatcher, specialKeyCodeMap = { 9: "tab", 17: "ctrl", 18: "alt", 27: "esc", 37: "left", 39: "right", 13: "enter", 91: "cmd", 38: "up", 40: "down" }; tinymce.create("tinymce.ui.ListBox:tinymce.ui.Control", { ListBox: function(id, s, ed) { this._super(id, s, ed), this.type = "listbox", this.items = s.items || [], this.onChange = new Dispatcher(this), this.onPostRender = new Dispatcher(this), this.onAdd = new Dispatcher(this), this.onBeforeRenderMenu = new Dispatcher(this), this.onRenderMenu = new Dispatcher(this), this.classPrefix = "mceListBox"; }, deselectAll: function() { each(this.items, function(item) { item.selected = !1; }), this.menu && this.menu.deselectAll(); }, select: function(values) { var fv, self = this; return null == values ? this.selectByIndex(-1) : values.length ? (this.settings.multiple || this.deselectAll(), void ("function" == typeof values ? (each(self.items, function(item, i) { values(item.value) && (self.selectByIndex(i), fv = !0); }), fv || self.selectByIndex(-1)) : (tinymce.is(values, "string") && (values = self.settings.multiple && self.settings.seperator ? values.split(self.settings.seperator) : [ values ]), each(values, function(value) { var i = self.findItem(value); -1 == i && self.settings.combobox && (i = self.add(value, value)), self.selectByIndex(i); }), this.settings.combobox && (this.clearComboBox(!0), this.settings.multiple) && each(this.items, function(item) { item.selected && self.addTag(item.value); })))) : (this.deselectAll(), this.selectByIndex(-1)); }, value: function(val) { if (!arguments.length) return val = [], each(this.items, function(item) { item.selected && val.push(item.value); }), val.join(" ").trim(); this.select(val), this.settings.onselect.call(this, val); }, selectByIndex: function(idx) { var elm = DOM.get(this.id + "_text"); (idx = this.items[idx]) ? (idx.selected = !idx.selected, idx.selected ? this.selectedValue = idx.value : this.selectedValue = null, this.settings.combobox || (DOM.setHTML(elm, DOM.encode(idx.title)), DOM.removeClass(elm, "mceTitle"), DOM.setAttrib(this.id, "aria-valuenow", idx.title)), this.menu && this.menu.selectItem(this.menu.items[idx.id], idx.selected)) : (DOM.setHTML(elm, DOM.encode(this.settings.title)), DOM.addClass(elm, "mceTitle"), this.selectedValue = null, DOM.setAttrib(this.id, "aria-valuenow", this.settings.title), this.settings.multiple && this.deselectAll()); }, add: function(name, value, settings) { if (settings = settings || {}, -1 == this.findItem(value)) return settings = tinymce.extend(settings, { title: name, value: value }), name = this.items.push(settings), this.onAdd.dispatch(this, settings), name - 1; }, findItem: function(value) { for (var idx = -1, i = 0, len = this.items.length; i < len; i++) this.items[i].value === value && (idx = i); return idx; }, getLength: function() { return this.items.length; }, renderHTML: function() { var inp, html = "", prefix = this.classPrefix; return this.settings.combobox ? (inp = DOM.createHTML("input", { type: "text", id: this.id + "_input", tabindex: -1, autocomplete: "off", spellcheck: !1, autocapitalize: "off", class: "mceText", placeholder: "..." }), html += DOM.createHTML("div", { class: "mceComboBox" }, inp)) : html += DOM.createHTML("button", { type: "button", id: this.id + "_text", tabindex: -1, class: "mceText" }, DOM.encode(this.settings.title)), html += DOM.createHTML("button", { type: "button", id: this.id + "_open", tabindex: -1, class: "mceOpen" }), DOM.createHTML("div", { id: this.id, role: this.settings.combobox ? "combobox" : "listbox", tabindex: 0, class: prefix + " " + this.settings.class, title: this.settings.title, "aria-label": this.settings.title, "aria-haspopup": "true", "aria-expanded": !1 }, html); }, clearComboBox: function(removetags) { var input = DOM.get(this.id + "_input"); input.value = "", input.focus(), removetags && DOM.remove(DOM.select(".mceButtonTag", this.id)); }, removeTag: function(btn) { var self = this; each(self.items, function(item, i) { item.value === btn.value && (item.selected = !1, self.selectedValue == item.value) && (self.selectedValue = null); }), Event.clear(btn), DOM.remove(btn); }, addTag: function(value) { var self = this, inp = DOM.get(self.id + "_input"), btn = DOM.create("button", { class: "mceButton mceButtonTag", value: value }, ""); DOM.insertBefore(btn, inp), Event.add(btn, "click", function(evt) { evt.preventDefault(), "LABEL" != evt.target.nodeName && self.removeTag(btn); }); }, showMenu: function() { var pos, menu, self = this, elm = DOM.get(this.id); this.isDisabled() || (this.isMenuRendered || (this.renderMenu(), this.isMenuRendered = !0), 0 !== this.items.length && (pos = DOM.getPos(elm), (menu = this.menu).settings.offset_x = pos.x, menu.settings.offset_y = pos.y, this.settings.max_width || (menu.settings.max_width = elm.offsetWidth), each(this.items, function(item) { menu.items[item.id] && (menu.items[item.id].setSelected(0), item.value !== self.selectedValue && !item.selected || menu.items[item.id].setSelected(1)); }), menu.showMenu(0, elm.clientHeight, 0, pos.y), Event.add(DOM.doc, "mousedown", this.hideMenu, this), DOM.addClass(this.id, this.classPrefix + "Selected"), this.setAriaProperty("expanded", !0))); }, hideMenu: function(e) { this.menu && (!e || "mousedown" != e.type || e.target.id != this.id + "_text" && e.target.id != this.id + "_open") && (e && DOM.getParent(e.target, ".mceMenu") || (DOM.removeClass(this.id, this.classPrefix + "Selected"), Event.remove(DOM.doc, "mousedown", this.hideMenu, this), this.menu.hideMenu()), this.setAriaProperty("expanded", !1)); }, renderMenu: function() { var self = this, cls = this.classPrefix + "Menu" + (this.settings.menu_class ? " " + this.settings.menu_class : ""), menu = this.settings.control_manager.createDropMenu(this.id + "_menu", { class: cls, max_width: this.settings.max_width || 250, max_height: this.settings.max_height || "", filter: !!this.settings.filter, keyboard_focus: !0, onselect: function(value) { !1 !== self.settings.onselect(value) && (self.select(value), menu.close()); } }); menu.onHideMenu.add(function() { self.hideMenu(), self.settings.combobox && (menu.clearFilteredItems(), self.focus()); }), this.onBeforeRenderMenu.dispatch(this, menu), each(this.items, function(item) { void 0 === item.value ? menu.add({ title: item.title, role: "option", onAction: function(e) { !1 !== self.settings.onselect("") && self.select(""), menu.close(); } }) : (item.id = DOM.uniqueId(), item.role = "option", item.onAction = function(e) { !1 !== self.settings.onselect(item.value) && self.select(item.value), self.settings.multiple || self.settings.keepopen || menu.close(); }, menu.add(item)); }), this.onRenderMenu.dispatch(this, menu), this.menu = menu; }, postRender: function() { var self = this; self.destroy(), Event.add(this.id, "click", function(evt) { "INPUT" == evt.target.nodeName || DOM.hasClass(evt.target, "mceButtonTag") || (self.menu && self.menu.isMenuVisible ? self.hideMenu(evt) : self.showMenu(evt), Event.cancel(evt)); }), Event.add(this.id, "keydown", function(evt) { "INPUT" !== evt.target.nodeName && 32 == evt.keyCode && (self.menu && self.menu.isMenuVisible ? self.hideMenu(evt) : self.showMenu(evt), Event.cancel(evt)); }), Event.add(this.id + "_input", "keyup", function(evt) { setTimeout(function() { var value = evt.target.value; value ? specialKeyCodeMap[evt.keyCode] || (self.menu && self.menu.isMenuVisible || self.showMenu(), evt.target.focus(), self.menu.filterItems(value)) : (Event.cancel(evt), self.hideMenu()); }, 0); }), Event.add(this.id + "_input", "keydown", function(evt) { switch (evt.keyCode) { case 13: Event.cancel(evt), "" === this.value ? self.showMenu() : (!1 !== self.settings.onselect(this.value) && self.select(this.value), self.hideMenu(), this.value = ""); break; case 40: case 38: self.showMenu(), Event.cancel(evt), self.menu.focus(); break; case 8: var tags, val; this.value || (tags = DOM.select("button", evt.target.parentNode)).length && (val = (tags = tags.pop()).value, self.removeTag(tags), Event.cancel(evt), this.value = val, this.focus()); } }), Event.add(this.id, "focus", function() { this._focused || (this.keyDownHandler = Event.add(this.id, "keydown", function(e) { 40 == e.keyCode && (self.showMenu(), Event.cancel(e)); }), this.keyPressHandler = Event.add(this.id, "keypress", function(e) { var value; 13 == e.keyCode && (value = self.selectedValue, self.selectedValue = null, Event.cancel(e), self.settings.onselect(value)); })), this._focused = 1; }), Event.add(this.id, "blur", function() { Event.remove(this.id, "keydown", this.keyDownHandler), Event.remove(this.id, "keypress", this.keyPressHandler), this._focused = 0; }), this.onPostRender.dispatch(this, DOM.get(this.id)), this.rendered = !0; }, destroy: function() { this._super(), Event.clear(this.id + "_text"), Event.clear(this.id + "_open"), each(this.items, function(item) { item.selected = !1; }), this.selectedValue = null; } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each; tinymce.create("tinymce.ui.NativeListBox:tinymce.ui.ListBox", { NativeListBox: function(id, settings) { this._super(id, settings); }, setDisabled: function(settings) { DOM.get(this.id).disabled = settings, this.setAriaProperty("disabled", settings); }, isDisabled: function() { return DOM.get(this.id).disabled; }, select: function(value) { var fv, fn, self = this; if (null == value) return this.selectByIndex(-1); fn = value && "function" == typeof value ? value : function(val) { return val == value; }, value != this.selectedValue && (each(this.items, function(o, i) { if (fn(o.value)) return fv = 1, self.selectByIndex(i), !1; }), fv || this.selectByIndex(-1)); }, selectByIndex: function(idx) { DOM.get(this.id).selectedIndex = idx + 1, this.selectedValue = this.items[idx] ? this.items[idx].value : null; }, add: function(name, value, attribs) { (attribs = attribs || {}).value = value, this.isRendered() && DOM.add(DOM.get(this.id), "option", attribs, name), this.items.push(name = { title: name, value: value, attribs: attribs }), this.onAdd.dispatch(this, name); }, getLength: function() { return this.items.length; }, renderHTML: function() { var html = DOM.createHTML("option", { value: "" }, "-- " + this.settings.title + " --"); return each(this.items, function(item) { html += DOM.createHTML("option", { value: item.value }, item.title); }), html = DOM.createHTML("select", { id: this.id, class: "mceNativeListBox", "aria-labelledby": this.id + "_aria" }, html), html += DOM.createHTML("span", { id: this.id + "_aria", style: "display: none" }, this.settings.title); }, postRender: function() { var self = this, changeListenerAdded = !0; function onChange(e) { (e = (e = self.items[e.target.selectedIndex - 1]) && e.value) && (self.onChange.dispatch(self, e), self.settings.onselect) && self.settings.onselect(e); } this.rendered = !0, Event.add(this.id, "change", onChange), Event.add(this.id, "keydown", function(e) { var blur; if (Event.remove(self.id, "change", void 0), changeListenerAdded = !1, blur = Event.add(this.id, "blur", function() { changeListenerAdded || (changeListenerAdded = !0, Event.add(self.id, "change", onChange), Event.remove(self.id, "blur", blur)); }), 13 == e.keyCode || 32 == e.keyCode) return onChange(e), Event.cancel(e); 40 != e.keyCode && 38 != e.keyCode || e.stopImmediatePropagation(); }), this.onPostRender.dispatch(this, DOM.get(this.id)); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, Dispatcher = tinymce.util.Dispatcher; tinymce.create("tinymce.ui.TextBox:tinymce.ui.Control", { TextBox: function(id, s, ed) { s = tinymce.extend({ class: "", title: "" }, s), this._super(id, s, ed), this.type = "textbox", this.onChange = new Dispatcher(this), this.onPostRender = new Dispatcher(this), this.classPrefix = "mceTextBox"; }, value: function(val) { if (!arguments.length) return DOM.getValue(this.id); DOM.setValue(this.id, val), "color" == this.settings.subtype && DOM.setValue(this.id + "_color", val); }, renderHTML: function() { var html = "", prefix = this.classPrefix, s = this.settings, type = s.subtype || "text", attribs = { type: type, id: this.id, class: prefix + " " + s.class, title: DOM.encode(s.title), tabindex: 0, autofocus: !0 }; return s.description && (attribs["aria-describedby"] = this.id + "_description"), attribs = tinymce.extend(attribs, s.attributes || {}), s.multiline ? html += DOM.createHTML("textarea", attribs, "") : ("color" == type && (attribs.type = "text", html += DOM.createHTML("input", { type: "color", id: this.id + "_color" })), html += DOM.createHTML("input", attribs)), s.description && (html += DOM.createHTML("span", { class: prefix + "Description", id: this.id + "_description" }, DOM.encode(s.description))), s.button && (html += DOM.createHTML("button", { id: this.id + "_button", class: "mceButton", title: DOM.encode(s.button.label || "") }, '')), html; }, postRender: function() { var self = this, s = this.settings; void 0 !== s.value && this.value(s.value), s.onchange && "function" == typeof s.onchange && this.onChange.add(s.onchange), Event.add(this.id, "change", function() { self.onChange.dispatch(this, DOM.get(self.id)); }), s.button && Event.add(this.id + "_button", "click", function(e) { e.preventDefault(), s.button.click.apply(self); }), "color" == s.subtype && (Event.add(this.id, "change", function(e) { DOM.setValue(this.id + "_color", DOM.get(self.id).value); }), Event.add(this.id + "_color", "change", function(e) { DOM.setValue(self.id, DOM.get(self.id + "_color").value); })), this.onPostRender.dispatch(this, DOM.get(this.id)); }, setDisabled: function(state) { this._super(state); var elm = DOM.get(this.id); elm && (elm.disabled = state, this.settings.subtype) && "color" == this.settings.subtype && (elm = DOM.get(this.id + "_color")) && (elm.disabled = state); }, destroy: function() { this._super(), Event.clear(this.id); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event; tinymce.create("tinymce.ui.UrlBox:tinymce.ui.TextBox", { UrlBox: function(id, s, ed) { s.multiline = !1, s.onpick = s.onpick || function() {}, s.class = "mceUrlBox", s.upload && "function" != typeof s.upload && (s.upload = !1), this._super(id, s, ed); }, renderHTML: function() { var icon, html = this._super(), s = this.settings; return s.picker && (icon = s.picker_icon || "file", html += ''), s.upload && (icon = tinymce.map(s.upload_accept || [], function(val) { return -1 == val.indexOf("/") && "." != val.charAt(0) ? "." + val : val; }), html += ''), html; }, setLoading: function(state) { this.setAriaProperty("busy", state), this.setDisabled(state); }, setDisabled: function(state) { this._super(state), DOM.get(this.id + "_upload").disabled = state; }, postRender: function() { var self = this, s = this.settings; this._super(), s.picker && (DOM.addClass(this.id, "mceUrlBoxPicker"), Event.add(this.id + "_picker", "click", function(e) { e.preventDefault(), s.onpick.call(self); })), s.upload && (DOM.addClass(this.id, "mceUrlBoxUpload"), Event.add(this.id + "_upload", "change", function(e) { this.files && this.files.length && s.upload.call(self, e, this.files[0]), e.preventDefault(); }), DOM.bind(this.id, "drag dragstart dragend dragover dragenter dragleave", function(e) { e.preventDefault(); }), DOM.bind(this.id, "dragover dragenter", function() { DOM.addClass(this.id, "mceUrlBoxUploadHover"); }), DOM.bind(this.id, "dragleave", function() { DOM.removeClass(this.id, "mceUrlBoxUploadHover"); }), DOM.bind(this.id, "drop", function(e) { var dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && dataTransfer.files.length && (dataTransfer = dataTransfer.files[0]) && s.upload.call(self, e, dataTransfer), e.preventDefault(); })); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, Dispatcher = tinymce.util.Dispatcher; tinymce.create("tinymce.ui.CheckBox:tinymce.ui.Control", { CheckBox: function(id, s, ed) { this._super(id, s, ed), this.type = "checkbox", void 0 === s.value && (s.value = ""), this.onChange = new Dispatcher(this), this.onPostRender = new Dispatcher(this), this.classPrefix = "mceCheckBox"; }, value: function(val) { if (!arguments.length) return this.checked(); this.checked(val); }, checked: function(state) { var elm = DOM.get(this.id); if (!arguments.length) return elm.checked; this.isDisabled() || (this.setState("checked", !!state), elm.checked = !!state); }, renderHTML: function() { var html = "", prefix = this.classPrefix, s = this.settings; return html += ' win - elm.clientHeight) ? this.hidePanel() : (DOM.show(panel), this.isPanelVisible = 1, win = pos.x + offset.x + elm.clientWidth / 2, pos = pos.y + offset.y, win -= panel.clientWidth / 2, (pos = pos + elm.clientHeight + 10) > offset.y + offset.h && (pos -= elm.clientHeight + panel.clientHeight + 10, DOM.addClass(panel, "mceArrowDown")), DOM.setStyles(this.id, { left: win, top: pos, zIndex: 2e5 }))); }, destroy: function() { Event.remove(this.editor.getWin(), "scroll", self.scrollFunc), this._super(); } }); }(), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, Dispatcher = tinymce.util.Dispatcher; tinymce.create("tinymce.ui.PanelButton:tinymce.ui.Button", { PanelButton: function(id, s, ed) { this._super(id, s, ed), this.settings = s = tinymce.extend({}, this.settings), this.editor = ed, this.classPrefix = "mcePanelButton", this.onShowPanel = new Dispatcher(this), this.onHidePanel = new Dispatcher(this), this.onRenderPanel = new Dispatcher(this); }, showPanel: function() { var elm; this.isDisabled() || (elm = DOM.get(this.id), this.panel.showPanel(elm), this.onShowPanel.dispatch(this), this.setState("Selected", 1), this.setAriaProperty("expanded", !0)); }, hidePanel: function(e) { var self = this; !self.panel || e && "mousedown" == e.type && DOM.getParent(e.target, function(e) { return e.id === self.id || e.id === self.id + "_open"; }) || e && DOM.getParent(e.target, ".mcePanel") || (self.setState("Selected", 0), Event.remove(DOM.doc, "mousedown", self.hidePanel, self), self.panel.hidePanel(), self.onHidePanel.dispatch(self), self.setAriaProperty("expanded", !1)); }, postRender: function() { var self = this, s = self.settings; DOM.addClass(self.id, "mceButton"), Event.add(self.id, "click", function(evt) { self.isDisabled() || (s.onclick && s.onclick(self.value), self.showPanel()), Event.cancel(evt); }), Event.add(self.id, "focus", function() { self._focused = 1; }), Event.add(self.id, "blur", function() { self._focused = 0; }), self.panel || (self.panel = self.editor.controlManager.createPanel(self.id + "_panel", self.settings), self.editor.onMouseDown.add(self.hidePanel, self)), self.panel.onRenderPanel.add(function() { self.onRenderPanel.dispatch(self); }), self.setAriaProperty("expanded", !1); }, restoreSelection: function() { self.panel && self.panel.restoreSelection(); }, destroy: function() { this._super(), Event.clear(this.id + "_panel"), DOM.remove(this.id + "_panel"); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event; tinymce.create("tinymce.ui.PanelSplitButton:tinymce.ui.PanelButton", { PanelSplitButton: function(id, s, ed) { this._super(id, s, ed); }, renderHTML: function() { var html = "", s = this.settings, icon = s.image ? DOM.createHTML("img ", { src: s.image, role: "presentation", class: "mceAction " + s.class }) : DOM.createHTML("span", { class: "mceAction " + s.class, role: "presentation" }), html = (html += DOM.createHTML("button", { id: this.id + "_action", tabindex: "-1", class: "mceText " + s.class, title: s.title }, icon)) + DOM.createHTML("button", { id: this.id + "_open", tabindex: "-1", class: "mceOpen " + s.class, title: s.title }); return DOM.createHTML("div", { id: this.id, role: "button", tabindex: 0, class: "mceSplitButton " + s.class, title: s.title, "aria-label": s.title, "aria-haspopup": "true" }, html); }, postRender: function() { function activate(evt) { self.isDisabled() || (s.onclick(self.value), Event.cancel(evt)); } var self = this, s = self.settings; Event.add(self.id + "_action", "click", activate), Event.add(self.id, [ "click", "keydown" ], function(evt) { 32 !== evt.keyCode && 13 !== evt.keyCode && 14 !== evt.keyCode || evt.altKey || evt.ctrlKey || evt.metaKey ? "click" !== evt.type && 40 !== evt.keyCode || (self.showPanel(), Event.cancel(evt)) : (activate(), Event.cancel(evt)); }), Event.add(self.id + "_open", "click", function(evt) { self.showPanel(), Event.cancel(evt); }), Event.add([ self.id, self.id + "_open" ], "focus", function() { self._focused = 1; }), Event.add([ self.id, self.id + "_open" ], "blur", function() { self._focused = 0; }), self.panel || (self.panel = new tinymce.ui.Panel(self.id + "_panel", self.settings, self.editor)), self.panel.onRenderPanel.add(function() { self.onRenderPanel.dispatch(self), DOM.addClass(self.id + "_panel", "mcePanelSplitButton"); }); } }); }(tinymce), function(tinymce) { var Dispatcher = tinymce.util.Dispatcher; tinymce.create("tinymce.ui.ButtonDialog:tinymce.ui.PanelButton", { ButtonDialog: function(id, s, ed) { s.content && (s.html = s.content), s.buttons && tinymce.each(s.buttons, function(btn) { btn.onclick = btn.click || function() {}; }), this.onShowDialog = new Dispatcher(this), this.onHideDialog = new Dispatcher(this), this._super(id, s, ed); }, showDialog: function() { this.showPanel(), this.onShowDialog.dispatch(this); }, hideDialog: function(e) { this.hidePanel(e), this.onHideDialog.dispatch(this); } }); }(tinymce), function(tinymce) { var DOM = tinymce.DOM, count = 0; tinymce.create("tinymce.ui.RepeatableItem:tinymce.ui.Container", { RepeatableItem: function(id, settings) { this._super(id, settings), id = settings.controls[0].id + "_" + count++, delete this.lookup[id], this.controls[0].id = id; }, renderHTML: function() { var html = ""; return html += this.controls[0].renderHTML(), DOM.createHTML("div", { id: this.id, class: "mceRepeatableItem mceForm mceFormRow" }, html += ''); }, value: function(value) { return arguments.length ? (Array.isArray(value) && (value = value.shift()), this.controls[0].value(value), this) : this.controls[0].value(); } }); }(tinymce), function(tinymce) { var dom = tinymce.DOM, each = tinymce.each, count = 0; tinymce.create("tinymce.ui.Repeatable:tinymce.ui.Container", { renderHTML: function() { for (var settings = this.settings, html = "", controls = this.controls, i = 0; i < controls.length; i++) html += controls[i].renderHTML(); return dom.createHTML("div", { id: this.id, class: "mceForm mceRepeatable" + (settings.class ? " " + settings.class : ""), role: "group" }, html); }, value: function(values) { var self = this, controls = this.controls; if (arguments.length) { for (i = 0; i < controls.length; i++) controls[i].value(values.shift()); return each(values, function(val) { self.addItem(val); }), this; } for (var values = [], i = 0; i < this.controls.length; i++) { var value = this.controls[i].value(); value && (values = values.concat(value)); } return values; }, getItemControl: function() { var item = this.settings.item || { type: "TextBox", settings: {} }; return new tinymce.ui[item.type || "TextBox"](this.id + "_item_" + item.id, item.settings || {}, this.editor); }, addItem: function(value) { var item = this.getItemControl(), item = new tinymce.ui.RepeatableItem(this.id + "_item_" + count++, { controls: [ item ] }); return this.add(item), item.renderTo(dom.get(this.id)), value && item.value(value), item; }, postRender: function() { var self = this, elm = dom.get(this.id); dom.bind(elm, "click", function(e) { e.preventDefault(), (e = dom.getParent(e.target, "button")) && (e = e.parentNode, 0 == dom.nodeIndex(e) ? self.addItem() : self.get(e.id).remove()); }), this.addItem(); }, destroy: function() { this._super(), this.controls = []; } }); }(tinymce), function(tinymce) { var each = tinymce.each; tinymce.create("tinymce.ui.CustomValue:tinymce.ui.Form", { CustomValue: function(id, settings, ed) { settings = tinymce.extend(settings, { class: "mceFormRow" }), this._super(id, settings, ed); var name = new tinymce.ui.TextBox(this.id + "_name", { name: "name", label: ed.getLang("label_name", "Name"), attributes: { autocomplete: !1 } }), id = new tinymce.ui.TextBox(this.id + "_value", { name: "value", label: ed.getLang("label_value", "Value"), attributes: { autocomplete: !1 } }); settings.values && settings.values.length && (name = new tinymce.ui.ListBox(this.id + "_name", { name: "name", label: ed.getLang("label_name", "Name"), combobox: !0 }), each(settings.values, function(val) { name.add(val, val); })), this.add(name), this.add(id); }, renderHTML: function() { for (var i = 0; i < this.controls.length; i++) { var ctrl = this.controls[i]; ctrl.id = this.id + "_" + ctrl.name; } return this._super(); }, value: function(values) { if (arguments.length) { if ("object" == typeof values) for (var key in values) this.controls[0].value(key), this.controls[1].value(values[key]); return this; } var data; return (key = this.controls[0].value()) ? ((data = {})[key] = this.controls[1].value(), data) : ""; } }); }(tinymce), function(tinymce) { var Dispatcher = tinymce.util.Dispatcher; tinymce.AddOnManager = function() { this.items = [], this.urls = {}, this.lookup = {}, this.onAdd = new Dispatcher(this); }, tinymce.AddOnManager.prototype = { get: function(n) { if (this.lookup[n]) return this.lookup[n].instance; }, dependencies: function(n) { var result; return (this.lookup[n] ? this.lookup[n].dependencies : result) || []; }, requireLangPack: function(n) {}, add: function(id, o, dependencies) { return this.items.push(o), this.lookup[id] = { instance: o, dependencies: dependencies }, this.onAdd.dispatch(this, id, o), o; }, createUrl: function(baseUrl, dep) { return "object" == typeof dep ? dep : { prefix: baseUrl.prefix, resource: dep, suffix: baseUrl.suffix }; }, addComponents: function(pluginName, scripts) { var pluginUrl = this.urls[pluginName]; tinymce.each(scripts, function(script) { tinymce.ScriptLoader.add(pluginUrl + "/" + script); }); }, load: function(n, u, cb, s) { var self = this, url = u; function loadDependencies() { var dependencies = self.dependencies(n); tinymce.each(dependencies, function(dep) { dep = self.createUrl(u, dep), self.load(dep.resource, dep, void 0, void 0); }), cb && (s ? cb.call(s) : cb.call(tinymce.ScriptLoader)); } self.urls[n] || (0 !== (url = "object" == typeof u ? u.prefix + u.resource + u.suffix : url).indexOf("/") && -1 == url.indexOf("://") && (url = tinymce.baseURL + "/" + url), self.urls[n] = url.substring(0, url.lastIndexOf("/")), self.lookup[n] ? loadDependencies() : tinymce.ScriptLoader.add(url, loadDependencies, s)); } }, tinymce.PluginManager = new tinymce.AddOnManager(), tinymce.ThemeManager = new tinymce.AddOnManager(); }(tinymce), function(tinymce) { var each = tinymce.each, extend = tinymce.extend, DOM = tinymce.DOM, Event = tinymce.dom.Event, explode = tinymce.explode, Dispatcher = tinymce.util.Dispatcher, instanceCounter = 0; tinymce.documentBaseURL = window.location.href.replace(/[\?#].*$/, "").replace(/[\/\\][^\/]+$/, ""), /[\/\\]$/.test(tinymce.documentBaseURL) || (tinymce.documentBaseURL += "/"), tinymce.baseURL = new tinymce.util.URI(tinymce.documentBaseURL).toAbsolute(tinymce.baseURL), tinymce.baseURI = new tinymce.util.URI(tinymce.baseURL), tinymce.onBeforeUnload = new Dispatcher(tinymce), Event.add(window, "beforeunload", function(e) { tinymce.onBeforeUnload.dispatch(tinymce, e); }), tinymce.onAddEditor = new Dispatcher(tinymce), tinymce.onRemoveEditor = new Dispatcher(tinymce), tinymce.on = function(name, handler) { function wrapped(ed, arg) { handler({ editor: tinymce.activeEditor }); } "addeditor" == (name = name.toLowerCase()) && tinymce.onAddEditor.add(wrapped), "removeeditor" == name && tinymce.onRemoveEditor.add(wrapped); }, tinymce.EditorManager = extend(tinymce, { editors: [], i18n: {}, activeEditor: null, init: function(settings) { var self = this; function hasClass(elm, className) { return className.constructor === RegExp ? className.test(elm.className) : DOM.hasClass(elm, className); } self.settings = settings, DOM.bind(window, "ready", function initEditors() { var targets, editors = []; DOM.unbind(window, "ready", initEditors), function(name) { (name = settings.onpageload) && name.apply(self, Array.prototype.slice.call(arguments, 2)); }("onpageload"), targets = DOM.unique(function(settings) { var l, targets = []; if (settings.types) each(settings.types, function(type) { targets = targets.concat(DOM.select(type.selector)); }); else { if (settings.selector) return DOM.select(settings.selector); if (settings.target) return [ settings.target ]; switch (settings.mode) { case "exact": 0 < (l = settings.elements || "").length && each(explode(l), function(id) { var elm; (elm = DOM.get(id)) ? targets.push(elm) : each(document.forms, function(f) { each(f.elements, function(e) { e.name === id && (id = "mce_editor_" + instanceCounter++, DOM.setAttrib(e, "id", id), targets.push(e)); }); }); }); break; case "textareas": case "specific_textareas": each(DOM.select("textarea"), function(elm) { settings.editor_deselector && hasClass(elm, settings.editor_deselector) || settings.editor_selector && !hasClass(elm, settings.editor_selector) || targets.push(elm); }); } } return targets; }(settings)), each(targets, function(elm) { var targetEditor, EditorManager, oldEditors, editors; (elm = self.get(elm.id)) && elm.initialized && !(elm.getContainer() || elm.getBody()).parentNode && (targetEditor = elm, oldEditors = editors = (EditorManager = tinymce.EditorManager).editors, editors = tinymce.grep(editors, function(editor) { return targetEditor !== editor; }), EditorManager.activeEditor === targetEditor && (EditorManager.activeEditor = 0 < editors.length ? editors[0] : null), EditorManager.focusedEditor === targetEditor && (EditorManager.focusedEditor = null), oldEditors.length, editors.length, elm.remove()); }), 0 !== (targets = tinymce.grep(targets, function(elm) { return !self.get(elm.id); })).length && each(targets, function(elm) { !function(id, settings, targetElm) { id = new tinymce.Editor(id, settings, self), editors.push(id), id.onInit.add(function() { targets.length; }), id.targetElm = id.targetElm || targetElm, id.render(); }(function(elm) { var id = elm.id; return id || (id = (id = elm.name) && !DOM.get(id) ? elm.name : DOM.uniqueId(), elm.setAttribute("id", id)), id; }(elm), settings, elm); }); }); }, get: function(id) { return void 0 === id ? this.editors : this.editors.hasOwnProperty(id) ? this.editors[id] : void 0; }, getInstanceById: function(id) { return this.get(id); }, add: function(editor) { var editors = this.editors; return editors[editor.id] = editor, editors.push(editor), this.setActive(editor), this.onAddEditor.dispatch(this, editor), editor; }, remove: function(editor) { var i, editors = this.editors; if (!editor) return null; if (!editors[editor.id]) return null; for (delete editors[editor.id], i = 0; i < editors.length; i++) if (editors[i] == editor) { editors.splice(i, 1); break; } return this.activeEditor == editor && this.setActive(editors[0]), editor.destroy(), this.onRemoveEditor.dispatch(this, editor), editor; }, execCommand: function(c, u, v) { var win, ed = this.get(v); switch (c) { case "mceFocus": return ed.focus(), !0; case "mceAddEditor": case "mceAddControl": return this.get(v) || new tinymce.Editor(v, this.settings).render(), !0; case "mceAddFrameControl": return (win = v.window).tinyMCE = tinyMCE, (win.tinymce = tinymce).DOM.doc = win.document, tinymce.DOM.win = win, (ed = new tinymce.Editor(v.element_id, v)).render(), !(v.page_window = null); case "mceRemoveEditor": case "mceRemoveControl": return ed && ed.remove(), !0; case "mceToggleEditor": return ed ? ed.isHidden() ? ed.show() : ed.hide() : this.execCommand("mceAddControl", 0, v), !0; } return !!this.activeEditor && this.activeEditor.execCommand(c, u, v); }, execInstanceCommand: function(id, c, u, v) { return !!(id = this.get(id)) && id.execCommand(c, u, v); }, triggerSave: function() { each(this.editors, function(e) { e.save(); }); }, addI18n: function(p, o) { var i18n = this.i18n; tinymce.is(p, "string") ? each(o, function(o, k) { i18n[p + "." + k] = o; }) : each(p, function(o, lc) { each(o, function(o, g) { each(o, function(o, k) { "common" === g ? i18n[lc + "." + k] = o : i18n[lc + "." + g + "." + k] = o; }); }); }); }, setActive: function(editor) { this.selectedInstance = this.activeEditor = editor; } }), tinymce.FocusManager = new tinymce.dom.FocusManager(tinymce.EditorManager); }(tinymce), function(tinymce) { var timer, lastPath = []; function nodeChanged(ed, e) { timer && clearTimeout(timer), 65 == e.keyCode && tinymce.VK.metaKeyPressed(e) || ed.selection.normalize(), ed.nodeChanged(); } tinymce.NodeChange = function(editor) { editor.onSelectionChange.add(function(ed, e) { var startElm = ed.selection.getStart(!0); lastPath = [ startElm ], !function(ed, startElm) { var i, currentPath = ed.dom.getParents(startElm, "*", ed.getBody()); if (currentPath.reverse(), currentPath.length === lastPath.length) { for (i = currentPath.length; 0 <= i && currentPath[i] === lastPath[i]; i--); if (-1 === i) return lastPath = currentPath, 1; } lastPath = currentPath; }(ed, startElm) && ed.dom.isChildOf(startElm, ed.getBody()) && nodeChanged(ed, e); }), editor.onMouseUp.add(function(ed, e) { e.isDefaultPrevented() || ("IMG" == ed.selection.getNode().nodeName ? timer = setTimeout(function() { nodeChanged(ed, e); }, 0) : nodeChanged(ed, e)); }), this.nodeChanged = function(args) { var node, root, parents, selection = editor.selection; editor.initialized && selection && !editor.settings.disable_nodechange && !editor.readonly && (root = editor.getBody(), (node = selection.getStart(!0) || root).ownerDocument == editor.getDoc() && editor.dom.isChildOf(node, root) || (node = root), parents = [], editor.dom.getParent(node, function(node) { if (node === root) return !0; parents.push(node); }), (args = args || {}).element = node, args.parents = parents, args.contenteditable = !node.hasAttribute("contenteditable") || tinymce.dom.NodeType.isContentEditableTrue(node), editor.onNodeChange.dispatch(editor, args && args.controlManager || editor.controlManager, node, selection.isCollapsed(), args)); }; }; }(tinymce), function(tinymce) { function normalizeSelection(editor) { editor.selection.normalize(); } function focusBody(body) { if (body.setActive) try { body.setActive(); } catch (ex) { body.focus(); } else body.focus(); } var activateEditor = function(editor) { tinymce.setActive(editor); }; tinymce.EditorFocus = { focus: function(editor, skipFocus) { editor.removed || (skipFocus ? activateEditor : function(editor) { editor.getDoc(); var body = editor.getBody(), contentEditable = editor.settings.content_editable, selection = editor.selection, rng = selection.getRng(); rng.item && rng.item(0), rng = function(editor, node) { return editor.dom.getParent(node, function(node) { return "true" === editor.dom.getContentEditable(node); }); }(editor, selection.getNode()), editor.dom.contains(body, rng) ? (focusBody(rng), normalizeSelection(editor), activateEditor(editor)) : (contentEditable || editor.getWin().focus(), (tinymce.isGecko || contentEditable) && (contentEditable && document.activeElement !== body && editor.selection.setRng(editor.lastRng), focusBody(body), normalizeSelection(editor))); })(editor); } }; }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, isGecko = tinymce.isGecko, isIE = tinymce.isIE, is = tinymce.is, ThemeManager = tinymce.ThemeManager, PluginManager = tinymce.PluginManager, EditorFocus = tinymce.EditorFocus, explode = tinymce.explode, Zwsp = tinymce.text.Zwsp, TrimBody = tinymce.dom.TrimBody; tinymce.Editor = function(id, settings) { this.settings = settings = extend({ id: id, language: "en", theme: "advanced", skin: "modern", delta_width: 0, delta_height: 0, popup_css: "", plugins: "", document_base_url: tinymce.documentBaseURL, add_form_submit_trigger: !0, submit_patch: !0, add_unload_trigger: !0, convert_urls: !0, relative_urls: !0, remove_script_host: !0, table_inline_editing: !1, object_resizing: !0, accessibility_focus: !0, doctype: "", visual: !0, font_size_style_values: "xx-small,x-small,small,medium,large,x-large,xx-large", font_size_legacy_values: "xx-small,small,medium,large,x-large,xx-large,300%", apply_source_formatting: !0, directionality: "ltr", forced_root_block: "p", hidden_input: !0, padd_empty_editor: !0, render_ui: !0, indentation: "30px", fix_table_elements: !0, inline_styles: !0, convert_fonts_to_spans: !0, indent: "simple", indent_before: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist", indent_after: "p,h1,h2,h3,h4,h5,h6,blockquote,div,title,style,pre,script,td,ul,li,area,table,thead,tfoot,tbody,tr,section,article,hgroup,aside,figure,option,optgroup,datalist", validate: !0, entity_encoding: "named", url_converter: this.convertURL, url_converter_scope: this, validate_styles: !0 }, settings), this.id = this.editorId = id, this.isNotDirty = !1, this.plugins = {}, this.documentBaseURI = new tinymce.util.URI(settings.document_base_url || tinymce.documentBaseURL, { base_uri: tinymce.baseURI }), this.baseURI = tinymce.baseURI, this.contentCSS = [], this.contentStyles = [], this.setupEvents(), this.execCommands = {}, this.queryStateCommands = {}, this.queryValueCommands = {}, this.execCallback("setup", this); }, tinymce.Editor.prototype = { render: function() { var self = this, s = self.settings, id = self.id, sl = tinymce.ScriptLoader; Event.domLoaded ? (tinymce.settings = s, !self.getElement() || tinymce.isIDevice && !tinymce.isIOS5 || (!/TEXTAREA|INPUT/i.test(self.getElement().nodeName) && s.hidden_input && DOM.getParent(id, "form") && DOM.insertAfter(DOM.create("input", { type: "hidden", name: id }), id), s.content_editable || (self.orgVisibility = self.getElement().style.visibility, self.getElement().style.visibility = "hidden"), tinymce.WindowManager && (self.windowManager = new tinymce.WindowManager(self)), "xml" == s.encoding && self.onGetContent.add(function(ed, o) { o.save && (o.content = DOM.encode(o.content)); }), s.add_form_submit_trigger && self.onSubmit.addToTop(function() { self.initialized && (self.save(), self.isNotDirty = !0); }), s.add_unload_trigger && (self._beforeUnload = tinymce.onBeforeUnload.add(function() { !self.initialized || self.destroyed || self.isHidden() || self.save({ format: "raw", no_events: !0 }); })), tinymce.addUnload(self.destroy, self), s.submit_patch && self.onBeforeRenderUI.add(function() { var n = self.getElement().form; !n || n._mceOldSubmit || n.submit.nodeType || n.submit.length || ((self.formElement = n)._mceOldSubmit = n.submit, n.submit = function() { return tinymce.triggerSave(), self.isNotDirty = !0, self.formElement._mceOldSubmit(self.formElement); }); }), s.theme && "function" != typeof s.theme && "-" != s.theme.charAt(0) && !ThemeManager.urls[s.theme] && ThemeManager.load(s.theme, "themes/" + s.theme + "/theme" + tinymce.suffix + ".js"), each(explode(s.plugins), function(p) { var dependencies; p && !PluginManager.urls[p] && ("-" == p.charAt(0) ? (p = p.substr(1, p.length), dependencies = PluginManager.dependencies(p), each(dependencies, function(dep) { var defaultSettings = { prefix: "plugins/", resource: dep, suffix: "/plugin" + tinymce.suffix + ".js" }; dep = PluginManager.createUrl(defaultSettings, dep), PluginManager.load(dep.resource, dep); })) : PluginManager.load(p, { prefix: "plugins/", resource: p, suffix: "/plugin" + tinymce.suffix + ".js" })); }), each(s.external_plugins, function(url, name) { url && (PluginManager.load(name, url), s.plugins += "," + name); }), sl.loadQueue(function() { self.removed || self.init(); }))) : Event.add(window, "ready", function() { self.render(); }); }, init: function() { var h, mh, o, url, w, re, self = this, s = self.settings, e = self.getElement(), initializedPlugins = []; if (tinymce.add(self), s.aria_label = s.aria_label || DOM.getAttrib(e, "aria-label", self.getLang("aria.rich_text_area")), s.theme && ("function" != typeof s.theme ? (s.theme = s.theme.replace(/-/, ""), o = ThemeManager.get(s.theme), self.theme = new o(), self.theme.init && self.theme.init(self, ThemeManager.urls[s.theme] || tinymce.documentBaseURL.replace(/\/$/, ""))) : self.theme = s.theme), Array.isArray(s.plugins) && (s.plugins = s.plugins.join(",")), each(explode(s.plugins.replace(/\-/g, "")), function initPlugin(p) { var c = PluginManager.get(p), u = PluginManager.urls[p] || tinymce.documentBaseURL.replace(/\/$/, ""); c && -1 === tinymce.inArray(initializedPlugins, p) && (each(PluginManager.dependencies(p), function(dep) { initPlugin(dep); }), c = new c(self, u), (self.plugins[p] = c).init && c.init(self, u), initializedPlugins.push(p)); }), self.controlManager = new tinymce.ControlManager(self), self.onBeforeRenderUI.dispatch(self, self.controlManager), s.render_ui && self.theme && (self.orgDisplay = e.style.display, "function" != typeof s.theme ? (w = s.width, h = s.height || e.style.height || e.offsetHeight, mh = s.min_height || 100, (re = /^[0-9\.]+(|px)$/i).test("" + w) && (w = Math.max(parseInt(w, 10) + (o.deltaWidth || 0), 100)), re.test("" + h) && (h = Math.max(parseInt(h, 10) + (o.deltaHeight || 0), mh)), o = self.theme.renderUI({ targetNode: e, width: w, height: h, deltaWidth: s.delta_width, deltaHeight: s.delta_height }), w && DOM.setStyles(o.sizeContainer || o.editorContainer, { width: w }), (h = (o.iframeHeight || h) + ("number" == typeof h ? o.deltaHeight || 0 : "")) < mh && (h = mh)) : ((o = s.theme(self, e)).editorContainer.nodeType && (o.editorContainer = o.editorContainer.id = o.editorContainer.id || self.id + "_parent"), o.iframeContainer.nodeType && (o.iframeContainer = o.iframeContainer.id = o.iframeContainer.id || self.id + "_iframecontainer"), h = o.iframeHeight || e.offsetHeight, isIE && (self.onInit.add(function(ed) { ed.dom.bind(ed.getBody(), "beforedeactivate keydown keyup", function() { ed.bookmark = ed.selection.getBookmark(1); }); }), self.onNodeChange.add(function(ed) { document.activeElement.id == ed.id + "_ifr" && (ed.bookmark = ed.selection.getBookmark(1)); }))), self.editorContainer = o.editorContainer), s.content_css && each(explode(s.content_css), function(u) { self.contentCSS.push(self.documentBaseURI.toAbsolute(u)); }), s.content_style && self.contentStyles.push(s.content_style), s.content_editable) return e = o = null, self.initContentBody(); document.domain && location.hostname != document.domain && (tinymce.relaxedDomain = document.domain), self.iframeHTML = s.doctype + '', s.document_base_url != tinymce.documentBaseURL && (self.iframeHTML += ''), self.iframeHTML += '', -1 != (re = s.body_id || "tinymce").indexOf("=") && (re = (re = self.getParam("body_id", "", "hash"))[self.id] || re), -1 != (w = s.body_class || "").indexOf("=") && (w = (w = self.getParam("body_class", "", "hash"))[self.id] || ""), self.iframeHTML += '
    ', tinymce.relaxedDomain && (url = 'javascript:(function(){document.open();document.domain="' + document.domain + '";var ed = window.parent.tinymce.get("' + self.id + '");document.write(ed.iframeHTML);document.close();ed.initContentBody();})()'); var ifr = DOM.add(o.iframeContainer, "iframe", { id: self.id + "_ifr", frameBorder: "0", allowTransparency: "true", title: s.aria_label, style: { height: h } }); ifr.onload = function() { ifr.onload = null, self.onLoad.dispatch(); }, self.contentAreaContainer = o.iframeContainer, o.editorContainer && (DOM.get(o.editorContainer).style.display = self.orgDisplay), e.style.visibility = self.orgVisibility, DOM.get(self.id).style.display = "none", DOM.setAttrib(self.id, "aria-hidden", !0), tinymce.relaxedDomain && url || self.initContentBody(); }, initContentBody: function() { var body, contentCssText, self = this, settings = self.settings, targetElm = DOM.get(self.id), doc = self.getDoc(), styleLoader = (isIE && tinymce.relaxedDomain || settings.content_editable || (doc.open(), doc.write(self.iframeHTML), doc.close(), tinymce.relaxedDomain && (doc.domain = tinymce.relaxedDomain)), settings.content_editable && (DOM.addClass(targetElm, "mceContentBody"), self.contentDocument = doc = settings.content_document || document, self.contentWindow = settings.content_window || window, self.bodyElement = targetElm, settings.content_document = settings.content_window = null), (body = self.getBody()).disabled = !0, settings.readonly || (body.contentEditable = self.getParam("content_editable_state", !0)), body.disabled = !1, self.schema = new tinymce.html.Schema(settings), self.dom = new tinymce.dom.DOMUtils(doc, { keep_values: !0, url_converter: self.convertURL, url_converter_scope: self, hex_colors: settings.force_hex_style_colors, class_filter: settings.class_filter, update_styles: !0, root_element: settings.content_editable ? self.id : null, schema: self.schema }), self.parser = new tinymce.html.DomParser(settings, self.schema), self.parser.addAttributeFilter("src,href,style", function(nodes, name) { for (var node, value, internalName, i = nodes.length, dom = self.dom; i--; ) value = (node = nodes[i]).attr(name), node.attributes.map[internalName = "data-mce-" + name] || ("style" === name ? (settings.validate_styles && (value = dom.serializeStyle(dom.parseStyle(value), node.name)), node.attr(internalName, value)) : node.attr(internalName, self.convertURL(value, name, node.name))); }), self.parser.addNodeFilter("#cdata", function(nodes) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).type = 8, node.name = "#comment", node.value = "[CDATA[" + node.value + "]]"; }), self.parser.addNodeFilter("p,h1,h2,h3,h4,h5,h6,div", function(nodes) { for (var node, i = nodes.length, nonEmptyElements = self.schema.getNonEmptyElements(); i--; ) (node = nodes[i]).isEmpty(nonEmptyElements) && (node.empty().append(new tinymce.html.Node("br", 1)).shortEnded = !0); }), self.serializer = new tinymce.dom.Serializer(settings, self.dom, self.schema), self.selection = new tinymce.dom.Selection(self.dom, self.getWin(), self.serializer, self), self.formatter = new tinymce.Formatter(self), self.textpattern = new tinymce.TextPattern(self), self.undoManager = new tinymce.UndoManager(self), self.forceBlocks = new tinymce.ForceBlocks(self), self.enterKey = new tinymce.EnterKey(self), self._nodeChangeDispatcher = new tinymce.NodeChange(self), self.editorCommands = new tinymce.EditorCommands(self), self._selectionOverrides = new tinymce.SelectionOverrides(self), self._clipBoard = new tinymce.Clipboard(self), self.onExecCommand.add(function(editor, command) { /^(FontName|FontSize)$/.test(command) || self.nodeChanged(); }), self.serializer.onPreProcess.add(function(se, o) { return self.onPreProcess.dispatch(self, o, se); }), self.serializer.onPostProcess.add(function(se, o) { return self.onPostProcess.dispatch(self, o, se); }), self.onPreInit.dispatch(self), settings.browser_spellcheck || settings.gecko_spellcheck || (doc.body.spellcheck = !1), settings.readonly || self.bindNativeEvents(), self.controlManager.onPostRender.dispatch(self, self.controlManager), self.onPostRender.dispatch(self), self.quirks = tinymce.util.Quirks(self), settings.directionality && (body.dir = settings.directionality), settings.nowrap && (body.style.whiteSpace = "nowrap"), settings.protect && self.onBeforeSetContent.add(function(ed, o) { each(settings.protect, function(pattern) { o.content = o.content.replace(pattern, function(str) { return "\x3c!--mce:protected " + escape(str) + "--\x3e"; }); }); }), self.onSetContent.add(function() { self.addVisual(self.getBody()); }), settings.padd_empty_editor && self.onPostProcess.add(function(ed, o) { o.content = o.content.replace(/^(]*>( | |\s|\u00a0|)<\/p>[\r\n]*|
    [\r\n]*)$/, ""); }), self.load({ initial: !0, format: "html" }), self.startContent = self.getContent({ format: "raw" }), 0 < self.contentStyles.length && (contentCssText = "", each(self.contentStyles, function(style) { contentCssText += style + "\r\n"; }), self.dom.addStyle(contentCssText)), new tinymce.dom.StyleSheetLoader(self.getDoc())); each(self.contentCSS, function(url) { styleLoader.add(url); }), styleLoader.loadQueue(function() { self.initialized = !0, self.onInit.dispatch(self), self.execCallback("setupcontent_callback", self.id, body, doc), self.execCallback("init_instance_callback", self), self.focus(!0), self.nodeChanged({ initial: !0 }), settings.auto_focus && setTimeout(function() { var focusEditor = !0 === settings.auto_focus ? self : tinymce.get(settings.auto_focus); focusEditor.destroyed || focusEditor.focus(); }, 100); }), doc = body = null; }, focus: function(skip_focus) { EditorFocus.focus(this, skip_focus); }, execCallback: function(n) { var s, f = this.settings[n]; if (f) return this.callbackLookup && (s = this.callbackLookup[n]) && (f = s.func, s = s.scope), is(f, "string") && (s = (s = f.replace(/\.\w+$/, "")) ? tinymce.resolve(s) : 0, f = tinymce.resolve(f), this.callbackLookup = this.callbackLookup || {}, this.callbackLookup[n] = { func: f, scope: s }), f.apply(s || this, Array.prototype.slice.call(arguments, 1)); }, translate: function(s) { var c = this.settings.language || "en", i18n = tinymce.i18n; return s ? i18n[c + "." + s] || s.replace(/\{\#([^\}]+)\}/g, function(a, b) { return i18n[c + "." + b] || "{#" + b + "}"; }) : ""; }, getLang: function(n, dv) { return tinymce.i18n[(this.settings.language || "en") + "." + n] || (is(dv) ? dv : "{#" + n + "}"); }, getParam: function(n, dv, ty) { var o, tr = tinymce.trim, n = is(this.settings[n]) ? this.settings[n] : dv; return "hash" === ty ? (o = {}, is(n, "string") ? each(0 < n.indexOf("=") ? n.split(/[;,](?![^=;,]*(?:[;,]|$))/) : n.split(","), function(v) { 1 < (v = v.split("=")).length ? o[tr(v[0])] = tr(v[1]) : o[tr(v[0])] = tr(v); }) : o = n, o) : n; }, nodeChanged: function(args) { this._nodeChangeDispatcher.nodeChanged(args); }, addButton: function(name, settings) { this.buttons = this.buttons || {}, this.buttons[name] = settings; }, addCommand: function(name, callback, scope) { this.execCommands[name] = { func: callback, scope: scope || this }; }, addQueryStateHandler: function(name, callback, scope) { this.queryStateCommands[name] = { func: callback, scope: scope || this }; }, addQueryValueHandler: function(name, callback, scope) { this.queryValueCommands[name] = { func: callback, scope: scope || this }; }, queryCommandSupported: function(cmd) { return this.editorCommands.queryCommandSupported(cmd); }, addShortcut: function(pattern, desc, cmdFunc, scope) { var self = this; if (!1 === self.settings.custom_shortcuts) return !1; self.shortcuts = self.shortcuts || {}; var cmd, keyCodeLookup = { f9: 120, f10: 121, f11: 122 }, modifierNames = tinymce.makeMap("alt,ctrl,shift,meta,access"); function parseShortcut(pattern) { var id, key, shortcut = {}; for (key in each(explode(pattern, "+"), function(value) { value in modifierNames ? shortcut[value] = !0 : /^[0-9]{2,}$/.test(value) ? shortcut.keyCode = parseInt(value, 10) : (shortcut.charCode = value.charCodeAt(0), shortcut.keyCode = keyCodeLookup[value] || value.toUpperCase().charCodeAt(0)); }), id = [ shortcut.keyCode ], modifierNames) shortcut[key] ? id.push(key) : shortcut[key] = !1; return shortcut.id = id.join(","), shortcut.access && (shortcut.alt = !0, tinymce.isMac ? shortcut.ctrl = !0 : shortcut.shift = !0), shortcut.meta && (tinymce.isMac ? shortcut.meta = !0 : (shortcut.ctrl = !0, shortcut.meta = !1)), shortcut; } return "string" == typeof (cmd = cmdFunc) ? cmdFunc = function() { self.execCommand(cmd, !1, null); } : tinymce.isArray(cmd) && (cmdFunc = function() { self.execCommand(cmd[0], cmd[1], cmd[2]); }), each(explode(tinymce.trim(pattern.toLowerCase())), function(pattern) { pattern = function(pattern, desc, cmdFunc, scope) { return (pattern = tinymce.map(explode(pattern, ">"), parseShortcut))[pattern.length - 1] = extend(pattern[pattern.length - 1], { func: cmdFunc, scope: scope || self }), extend(pattern[0], { desc: self.translate(desc), subpatterns: pattern.slice(1) }); }(pattern, desc, cmdFunc, scope), self.shortcuts[pattern.id] = pattern; }), !0; }, execCommand: function(cmd, ui, val, a) { var o, self = this, s = 0; return /^(mceAddUndoLevel|mceEndUndoLevel|mceBeginUndoLevel|mceRepaint|SelectAll)$/.test(cmd) || a && a.skip_focus || self.focus(), a = extend({}, a), self.onBeforeExecCommand.dispatch(self, cmd, ui, val, a), !a.terminate && (self.execCallback("execcommand_callback", self.id, self.selection.getNode(), cmd, ui, val) ? (self.onExecCommand.dispatch(self, cmd, ui, val, a), !0) : (o = self.execCommands[cmd]) && !0 !== (o = o.func.call(o.scope, ui, val)) ? (self.onExecCommand.dispatch(self, cmd, ui, val, a), o) : (each(self.plugins, function(p) { if (p.execCommand && p.execCommand(cmd, ui, val)) return self.onExecCommand.dispatch(self, cmd, ui, val, a), !(s = 1); }), !!s || (self.theme && self.theme.execCommand && self.theme.execCommand(cmd, ui, val) || self.editorCommands.execCommand(cmd, ui, val) ? (self.onExecCommand.dispatch(self, cmd, ui, val, a), !0) : (self.getDoc().execCommand(cmd, ui, val), void self.onExecCommand.dispatch(self, cmd, ui, val, a))))); }, queryCommandState: function(cmd) { var o, s; if (!this._isHidden()) { if ((o = this.queryStateCommands[cmd]) && !0 !== (s = o.func.call(o.scope))) return s; if (-1 !== (o = this.editorCommands.queryCommandState(cmd))) return o; try { return this.getDoc().queryCommandState(cmd); } catch (ex) {} } }, queryCommandValue: function(c) { var o, s; if (!this._isHidden()) { if ((o = this.queryValueCommands[c]) && !0 !== (s = o.func.call(o.scope))) return s; if (o = this.editorCommands.queryCommandValue(c), is(o)) return o; try { return this.getDoc().queryCommandValue(c); } catch (ex) {} } }, show: function() { DOM.show(this.getContainer()), DOM.hide(this.id), this.load(), this.onShow.dispatch(this); }, hide: function() { var doc = this.getDoc(); isIE && doc && doc.execCommand("SelectAll"), this.save(), DOM.hide(this.getContainer()), DOM.setStyle(this.id, "display", this.orgDisplay), this.onHide.dispatch(this); }, isHidden: function() { return !DOM.isHidden(this.id); }, setProgressState: function(b, ti, o) { return this.onSetProgressState.dispatch(this, b, ti, o), b; }, load: function(o) { var h, e = this.getElement(); if (e) return (o = o || {}).load = !0, h = this.setContent(is(e.value) ? e.value : e.innerHTML, o), o.element = e, o.no_events || this.onLoadContent.dispatch(this, o), o.element = null, h; }, save: function(o) { var h, f, self = this, e = self.getElement(); if (e && self.initialized) return (o = o || {}).save = !0, o.element = e, o.content = self.getContent(o), o.no_events || self.onSaveContent.dispatch(self, o), h = o.content, /TEXTAREA|INPUT/i.test(e.nodeName) ? e.value = h : (e.innerHTML = h, (f = DOM.getParent(self.id, "form")) && each(f.elements, function(e) { if (e.name == self.id) return e.value = h, !1; })), o.element = e = null, h; }, setContent: function(content, args) { var forcedRootBlockName, body = this.getBody(); return (args = args || {}).format = args.format || "html", args.set = !0, args.content = content, args.no_events || this.onBeforeSetContent.dispatch(this, args), 0 === (content = args.content).length || /^\s+$/.test(content) ? ((forcedRootBlockName = this.settings.forced_root_block) && this.schema.isValidChild(body.nodeName.toLowerCase(), forcedRootBlockName.toLowerCase()) ? content = isIE ? "<" + forcedRootBlockName + ">" : "<" + forcedRootBlockName + '>
    " : isIE || (content = '
    '), this.dom.setHTML(body, content), this.onSetContent.dispatch(this, args)) : ("raw" !== args.format && (content = new tinymce.html.Serializer({}, this.schema).serialize(this.parser.parse(content))), args.content = tinymce.trim(content), this.dom.setHTML(body, args.content), args.no_events || this.onSetContent.dispatch(this, args)), args.content; }, insertContent: function(value) { this.execCommand("mceInsertContent", !1, value); }, getSelection: function() { return this.selection.getContent(); }, getContent: function(args) { var body = this.getBody(); return (args = args || {}).format = args.format || "html", args.get = !0, args.getInner = !0, this._selectionOverrides.hideFakeCaret(), this._selectionOverrides.destroy(), args.no_events || this.onBeforeGetContent.dispatch(this, args), body = "raw" == args.format ? tinymce.trim(Zwsp.trim(TrimBody.trim(body, this.serializer.getTempAttrs()).innerHTML)) : "text" == args.format ? body.innerText || body.textContent : this.serializer.serialize(body, args), "text" != args.format ? args.content = tinymce.trim(body) : args.content = body, args.no_events || this.onGetContent.dispatch(this, args), args.content; }, isDirty: function() { return tinymce.trim(this.startContent) !== tinymce.trim(this.getContent({ format: "raw" })) && !this.isNotDirty; }, getContainer: function() { return this.container || (this.container = DOM.get(this.editorContainer || this.id + "_parent")), this.container; }, getContentAreaContainer: function() { return this.contentAreaContainer; }, getElement: function() { return DOM.get(this.settings.content_element || this.id); }, getWin: function() { var elm; return this.contentWindow || (elm = DOM.get(this.id + "_ifr")) && (this.contentWindow = elm.contentWindow), this.contentWindow; }, getDoc: function() { var win; return this.contentDocument || (win = this.getWin()) && (this.contentDocument = win.document), this.contentDocument; }, getBody: function() { return this.bodyElement || this.getDoc().body; }, convertURL: function(url, name, elm) { var settings = this.settings; if (settings.urlconverter_callback) return this.execCallback("urlconverter_callback", url, elm, !0, name); if (settings.convert_urls && (!elm || "LINK" != elm.nodeName) && 0 !== url.indexOf("file:")) { if (settings.relative_urls) return this.documentBaseURI.toRelative(url); url = this.documentBaseURI.toAbsolute(url, settings.remove_script_host); } return url; }, addVisual: function(elm) { var cls, self = this, settings = self.settings, dom = self.dom; elm = elm || self.getBody(), is(self.hasVisual) || (self.hasVisual = settings.visual), self.hasVisual ? dom.addClass(self.getBody(), "mce-visualaid") : dom.removeClass(self.getBody(), "mce-visualaid"), each(dom.select("table,a", elm), function(elm) { var value; switch (elm.nodeName) { case "TABLE": return cls = settings.visual_table_class || "mce-item-table", void ((value = dom.getAttrib(elm, "border")) && "0" != value || (self.hasVisual ? dom.addClass(elm, cls) : dom.removeClass(elm, cls))); case "A": return void (dom.getAttrib(elm, "href", !1) || (value = dom.getAttrib(elm, "name") || elm.id, cls = "mce-item-anchor", value && (self.hasVisual ? dom.addClass(elm, cls) : dom.removeClass(elm, cls)))); } }), self.onVisualAid.dispatch(self, elm, self.hasVisual); }, remove: function() { var elm = this.getContainer(), doc = this.getDoc(); this.removed || (this.removed = 1, isIE && doc && doc.execCommand("SelectAll"), this.save(), DOM.setStyle(this.id, "display", this.orgDisplay), this.getBody().onload = null, this.settings.content_editable || (Event.unbind(this.getWin()), Event.unbind(this.getDoc())), Event.unbind(this.getBody()), Event.clear(elm), this.execCallback("remove_instance_callback", this), this.onRemove.dispatch(this), this.onExecCommand.listeners = [], this._selectionOverrides.destroy(), tinymce.remove(this), DOM.remove(elm)); }, destroy: function(s) { this.destroyed || (isGecko && (Event.unbind(this.getDoc()), Event.unbind(this.getWin()), Event.unbind(this.getBody())), s || (tinymce.removeUnload(this.destroy), tinymce.onBeforeUnload.remove(this._beforeUnload), this.theme && this.theme.destroy && this.theme.destroy(), this.controlManager.destroy(), this.selection.destroy(), this.dom.destroy()), this.formElement && (this.formElement.submit = this.formElement._mceOldSubmit, this.formElement._mceOldSubmit = null), this.contentAreaContainer = this.formElement = this.container = this.settings.content_element = this.bodyElement = this.contentDocument = this.contentWindow = null, this.selection && (this.selection = this.selection.win = this.selection.dom = this.selection.dom.doc = null), this.destroyed = 1); }, setMode: function(disabled) { var body = self.getBody(); body.contentEditable = disabled, body.disabled = disabled; }, _isHidden: function() { var s; return isGecko ? !(s = this.selection.getSel()) || !s.rangeCount || 0 === s.rangeCount : 0; } }; }(tinymce), function(tinymce) { var each = tinymce.each, legacyEventMap = { preinit: "onPreInit", beforerenderui: "onBeforeRenderUI", postrender: "onPostRender", load: "onLoad", init: "onInit", remove: "onRemove", activate: "onActivate", deactivate: "onDeactivate", show: "onShow", hide: "onHide", click: "onClick", event: "onEvent", mouseup: "onMouseUp", mousedown: "onMouseDown", dblclick: "onDblClick", keydown: "onKeyDown", keyup: "onKeyUp", keypress: "onKeyPress", contextmenu: "onContextMenu", submit: "onSubmit", reset: "onReset", paste: "onPaste", cut: "onCut", copy: "onCopy", preprocess: "onPreProcess", postprocess: "onPostProcess", beforesetcontent: "onBeforeSetContent", beforegetcontent: "onBeforeGetContent", setcontent: "onSetContent", getcontent: "onGetContent", loadcontent: "onLoadContent", savecontent: "onSaveContent", nodechange: "onNodeChange", change: "onChange", beforeexeccmd: "onBeforeExecCommand", execcmd: "onExecCommand", undo: "onUndo", redo: "onRedo", visualaid: "onVisualAid", setprogressstate: "onSetProgressState", setattrib: "onSetAttrib", selectionchange: "onSelectionChange", blur: "onBlur", focus: "onFocus", focusin: "onFocusIn", focusout: "onFocusOut", beforeinput: "onBeforeInput", input: "onInput", compositionstart: "onCompositionStart" }; tinymce.Editor.prototype.setupEvents = function() { var self = this, settings = self.settings, selectionEvents = (each([ "onPreInit", "onBeforeRenderUI", "onPostRender", "onLoad", "onInit", "onRemove", "onActivate", "onDeactivate", "onShow", "onHide", "onClick", "onEvent", "onMouseUp", "onMouseDown", "onDblClick", "onKeyDown", "onKeyUp", "onKeyPress", "onContextMenu", "onSubmit", "onReset", "onPaste", "onCut", "onCopy", "onPreProcess", "onPostProcess", "onBeforeSetContent", "onBeforeGetContent", "onSetContent", "onGetContent", "onLoadContent", "onSaveContent", "onNodeChange", "onChange", "onBeforeExecCommand", "onExecCommand", "onUndo", "onRedo", "onVisualAid", "onSetProgressState", "onSetAttrib", "onSelectionChange", "onBlur", "onFocus", "onFocusIn", "onFocusOut", "onBeforeInput", "onInput", "onCompositionStart" ], function(name) { self[name] = new tinymce.util.Dispatcher(self); }), settings.cleanup_callback && (self.onBeforeSetContent.add(function(ed, o) { o.content = ed.execCallback("cleanup_callback", "insert_to_editor", o.content, o); }), self.onPreProcess.add(function(ed, o) { o.set && ed.execCallback("cleanup_callback", "insert_to_editor_dom", o.node, o), o.get && ed.execCallback("cleanup_callback", "get_from_editor_dom", o.node, o); }), self.onPostProcess.add(function(ed, o) { o.set && (o.content = ed.execCallback("cleanup_callback", "insert_to_editor", o.content, o)), o.get && (o.content = ed.execCallback("cleanup_callback", "get_from_editor", o.content, o)); })), [ "onSetContent", "onBeforeSetContent", "onGetContent", "onBeforeGetContent" ]); self.on = function(name, handler, prepend) { name.split(" "); for (var names, i = (names = name.toLowerCase().split(" ")).length; i--; ) { name = names[i]; var evt = legacyEventMap[name] || name, wrapped = function(ed, arg) { ed = "object" == typeof arg && null !== arg ? tinymce.extend({ editor: ed }, arg) : { editor: ed, data: arg }, handler(ed); }; prepend ? self[evt].addToTop(wrapped) : self[evt].add(wrapped), -1 !== tinymce.inArray(selectionEvents, evt) && self.selection && "object" == typeof self.selection[evt] && "function" == typeof self.selection[evt].add && (wrapped = function(sel, arg) { arg && !0 === arg.selection && (arg = "object" == typeof arg && null !== arg ? tinymce.extend({ editor: self }, arg) : { editor: self, data: arg }, handler(arg)); }, prepend ? self.selection[evt].add(wrapped) : self.selection[evt].addToTop(wrapped)); } }, self.fire = function(name, arg) { name = name.toLocaleLowerCase(), name = legacyEventMap[name] || name, arg = "object" == typeof arg && null !== arg ? tinymce.extend({ editor: self }, arg) : { editor: self, data: arg }, self[name].dispatch(self, arg); }, self.off = function(name, handler) { name = name.toLocaleLowerCase(), name = legacyEventMap[name] || name, handler ? self[name].remove(handler) : self[name].removeAll(); }; }, tinymce.Editor.prototype.bindNativeEvents = function() { var nativeToDispatcherMap, self = this, settings = self.settings, dom = self.dom; function eventHandler(evt, args) { self.removed || !1 !== self.onEvent.dispatch(self, evt, args) && self[nativeToDispatcherMap[evt.fakeType || evt.type]].dispatch(self, evt, args); } function matchShortcut(e, shortcut) { return shortcut && shortcut.ctrl == e.ctrlKey && shortcut.meta == e.metaKey && shortcut.alt == e.altKey && shortcut.shift == e.shiftKey && (e.keyCode == shortcut.keyCode || e.charCode && e.charCode == shortcut.charCode) && (e.preventDefault(), 1); } function executeShortcutAction(shortcut) { shortcut.func && shortcut.func.call(shortcut.scope); } each(nativeToDispatcherMap = { mouseup: "onMouseUp", mousedown: "onMouseDown", click: "onClick", keyup: "onKeyUp", keydown: "onKeyDown", keypress: "onKeyPress", submit: "onSubmit", reset: "onReset", contextmenu: "onContextMenu", dblclick: "onDblClick", paste: "onPaste", cut: "onCut", copy: "onCopy", selectionchange: "onSelectionChange", focusin: "onFocusIn", focusout: "onFocusOut", beforeinput: "onBeforeInput", input: "onInput" }, function(dispatcherName, nativeName) { var root = settings.content_editable ? self.getBody() : self.getDoc(); switch (nativeName) { case "contextmenu": dom.bind(root, nativeName, eventHandler); break; case "paste": case "cut": case "copy": dom.bind(self.getBody(), nativeName, eventHandler); break; case "submit": case "reset": dom.bind(self.getElement().form || tinymce.DOM.getParent(self.id, "form"), nativeName, eventHandler); break; default: dom.bind(root, nativeName, eventHandler); } }), dom.bind(settings.content_editable ? self.getBody() : tinymce.isGecko ? self.getDoc() : self.getWin(), "focus", function() { self.focus(!0); }), self.onReset.add(function() { self.setContent(self.startContent, { format: "raw" }); }); var pendingPatterns = []; function handleShortcut(e) { !function(e) { return e.altKey || e.ctrlKey || e.metaKey; }(e) && !function(e) { return "keydown" === e.type && 112 <= e.keyCode && e.keyCode <= 123; }(e) || e.isDefaultPrevented() || (each(self.shortcuts, function(shortcut) { if (matchShortcut(e, shortcut)) return pendingPatterns = shortcut.subpatterns.slice(0), "keydown" == e.type && executeShortcutAction(shortcut), !0; }), matchShortcut(e, pendingPatterns[0]) && (1 === pendingPatterns.length && "keydown" == e.type && executeShortcutAction(pendingPatterns[0]), pendingPatterns.shift())); } self.onKeyUp.add(function(ed, e) { handleShortcut(e); }), self.onKeyPress.add(function(ed, e) { handleShortcut(e); }), self.onKeyDown.add(function(ed, e) { handleShortcut(e); }); }; }(tinymce), function(tinymce) { function listItems(elm) { return tinymce.grep(elm.childNodes, function(child) { return "LI" === child.nodeName; }); } function trimListItems(elms) { return 0 < elms.length && !elms[elms.length - 1].firstChild ? elms.slice(0, -1) : elms; } function getParentLi(dom, node) { return (node = dom.getParent(node, dom.isBlock)) && "LI" === node.nodeName ? node : null; } function findLastOf(node, rootNode) { return node = CaretPosition.after(node), (rootNode = new CaretWalker(rootNode).prev(node)) ? rootNode.toRange() : null; } var CaretWalker = tinymce.caret.CaretWalker, CaretPosition = tinymce.caret.CaretPosition; tinymce.InsertList = { isListFragment: function(fragment) { var firstChild = fragment.firstChild, fragment = fragment.lastChild; return firstChild && "meta" === firstChild.name && (firstChild = firstChild.next), fragment && "mce_marker" === fragment.attr("id") && (fragment = fragment.prev), !(!firstChild || firstChild !== fragment || "ul" !== firstChild.name && "ol" !== firstChild.name); }, insertAtCaret: function(serializer, dom, rng, fragment) { function isAt(location) { var caretPos = CaretPosition.fromRangeStart(rng), caretWalker = new CaretWalker(dom.getRoot()); return !(location = 1 === location ? caretWalker.prev(caretPos) : caretWalker.next(caretPos)) || getParentLi(dom, location.getNode()) !== liTarget; } var target, rootNode, parentElm, serializer = function(dom, serializer, fragment) { return serializer = serializer.serialize(fragment), fragment = dom.createFragment(serializer), serializer = (dom = fragment).firstChild, fragment = dom.lastChild, serializer && "META" === serializer.nodeName && serializer.parentNode.removeChild(serializer), fragment && "mce_marker" === fragment.id && fragment.parentNode.removeChild(fragment), dom; }(dom, serializer, fragment), liTarget = getParentLi(dom, rng.startContainer), fragment = trimListItems(listItems(serializer.firstChild)), serializer = dom.getRoot(); return isAt(1) ? (rootNode = serializer, parentElm = (target = liTarget).parentNode, tinymce.each(fragment, function(elm) { parentElm.insertBefore(elm, target); }), function(node, rootNode) { return node = CaretPosition.before(node), (rootNode = new CaretWalker(rootNode).next(node)) ? rootNode.toRange() : null; }(target, rootNode)) : isAt(2) ? function(target, elms, rootNode, dom) { return dom.insertAfter(elms.reverse(), target), findLastOf(elms[0], rootNode); }(liTarget, fragment, serializer, dom) : function(target, elms, rootNode, rng) { var rng = function(parentNode, rng) { var beforeRng = rng.cloneRange(), rng = rng.cloneRange(); return beforeRng.setStartBefore(parentNode), rng.setEndAfter(parentNode), [ beforeRng.cloneContents(), rng.cloneContents() ]; }(target, rng), parentElm = target.parentNode; return parentElm.insertBefore(rng[0], target), tinymce.each(elms, function(li) { parentElm.insertBefore(li, target); }), parentElm.insertBefore(rng[1], target), parentElm.removeChild(target), findLastOf(elms[elms.length - 1], rootNode); }(liTarget, fragment, serializer, rng); }, isParentBlockLi: function(dom, node) { return !!getParentLi(dom, node); }, trimListItems: trimListItems, listItems: listItems }; }(tinymce), function(tinymce) { var CaretWalker = tinymce.caret.CaretWalker, CaretPosition = tinymce.caret.CaretPosition, NodeType = tinymce.dom.NodeType, Serializer = tinymce.html.Serializer, InsertList = tinymce.InsertList, Arr = tinymce.util.Arr, FilterNode = tinymce.html.FilterNode, InvalidNodes = tinymce.html.InvalidNodes, isTableCell = NodeType.matchNodeNames("td th"); tinymce.InsertContent = { insertAtCaret: function(editor, value) { !function(editor, value, details) { var parser, serializer, parentNode, rootNode, args, marker, node, node2, merge, textInlineElements = editor.schema.getTextInlineElements(), selection = editor.selection, dom = editor.dom, schema = editor.schema; /^ | $/.test(value) && (value = function(html) { var container, rng; function hasSiblingText(siblingName) { return container[siblingName] && 3 == container[siblingName].nodeType; } return rng = selection.getRng(!0), container = rng.startContainer, rng = rng.startOffset, 3 == container.nodeType && (0 < rng ? html = html.replace(/^ /, " ") : hasSiblingText("previousSibling") || (html = html.replace(/^ /, " ")), rng < container.length ? html = html.replace(/ (
    |)$/, " ") : hasSiblingText("nextSibling") || (html = html.replace(/( | )(
    |)$/, " "))), html; }(value)), parser = editor.parser, merge = details.merge, serializer = new Serializer({ validate: editor.settings.validate }, editor.schema), bookmarkHtml = '​', args = { content: value, format: "html", selection: !0 }, selection.onBeforeSetContent.dispatch(selection, args), -1 == (value = args.content).indexOf("{$caret}") && (value += "{$caret}"), value = value.replace(/\{\$caret\}/, bookmarkHtml), ((rng = selection.getRng()).startContainer || (rng.parentElement ? rng.parentElement() : null)) === (body = editor.getBody()) && selection.isCollapsed() && dom.isBlock(body.firstChild) && function(node) { return node && !editor.schema.getShortEndedElements()[node.nodeName]; }(body.firstChild) && dom.isEmpty(body.firstChild) && ((rng = dom.createRng()).setStart(body.firstChild, 0), rng.setEnd(body.firstChild, 0), selection.setRng(rng)), selection.isCollapsed() || (editor.selection.setRng(editor.selection.getRng()), editor.getDoc().execCommand("Delete", !1, null), function() { var rng = selection.getRng(!0), container = rng.startContainer, offset = rng.startOffset; 3 == container.nodeType && rng.collapsed && "\xa0" === container.data[offset] && (container.deleteData(offset, 1), /[\u00a0| ]$/.test(value) || (value += " ")); }()); var rng, root, caretElement = { context: (parentNode = selection.getNode()).nodeName.toLowerCase(), data: details.data }, fragment = parser.parse(value, caretElement); if (!0 === details.paste && InsertList.isListFragment(fragment) && InsertList.isParentBlockLi(dom, parentNode)) rng = InsertList.insertAtCaret(serializer, dom, editor.selection.getRng(!0), fragment), editor.selection.setRng(rng), editor.onSetContent.dispatch(editor, args); else { if (function(fragment) { for (var node = fragment; node = node.walk(); ) 1 === node.type && node.attr("data-mce-fragment", "1"); }(fragment), "mce_marker" == (node = fragment.lastChild).attr("id")) for (node = (marker = node).prev; node; node = node.walk(!0)) if (3 == node.type || !dom.isBlock(node.name)) { editor.schema.isValidChild(node.parent.name, "span") && node.parent.insert(marker, node, "br" === node.name); break; } if (editor._selectionOverrides.showBlockCaretContainer(parentNode), caretElement.invalid) { for (selection.setContent(bookmarkHtml, { no_events: !0 }), parentNode = selection.getNode(), rootNode = editor.getBody(), 9 == parentNode.nodeType ? parentNode = node = rootNode : node = parentNode; node !== rootNode; ) node = (parentNode = node).parentNode; value = parentNode === rootNode ? rootNode.innerHTML : dom.getOuterHTML(parentNode); var body = parser.parse(value), details = function() { for (var markerNode = body; markerNode; markerNode = markerNode.walk()) if ("mce_marker" === markerNode.attr("id")) return [ markerNode ]; return []; }(), caretElement = (Arr.each(details, function(marker) { marker.replace(fragment); }), fragment.children()), parent = fragment.parent || body, bookmarkHtml = (fragment.unwrap(), Arr.filter(caretElement, function(node) { return InvalidNodes.isInvalid(schema, node, parent); })); InvalidNodes.cleanInvalidNodes(bookmarkHtml, schema, rootNode), FilterNode.filter(parser.getNodeFilters(), parser.getAttributeFilters(), body), value = serializer.serialize(body), parentNode == rootNode ? dom.setHTML(rootNode, value) : dom.setOuterHTML(parentNode, value); } else value = serializer.serialize(fragment), function(editor, value, parentNode) { var node, node2; "all" === parentNode.getAttribute("data-mce-bogus") ? parentNode.parentNode.insertBefore(editor.dom.createFragment(value), parentNode) : (node = parentNode.firstChild, node2 = parentNode.lastChild, !node || node === node2 && "BR" === node.nodeName ? editor.dom.setHTML(parentNode, value) : editor.selection.setContent(value)); }(editor, value, parentNode); merge && (root = editor.getBody(), tinymce.each(dom.select("*[data-mce-fragment]"), function(node) { for (var testNode = node.parentNode; testNode && testNode != root; testNode = testNode.parentNode) textInlineElements[node.nodeName.toLowerCase()] && testNode === node && dom.remove(node, !0); })), function(marker) { var parentEditableFalseElm; marker && (selection.scrollIntoView(marker), (parentEditableFalseElm = function(node) { for (var root = editor.getBody(); node && node !== root; node = node.parentNode) if ("false" === editor.dom.getContentEditable(node)) return node; return null; }(marker)) ? (dom.remove(marker), selection.select(parentEditableFalseElm)) : (rng = dom.createRng(), (node = marker.previousSibling) && 3 == node.nodeType ? (rng.setStart(node, node.nodeValue.length), (node2 = marker.nextSibling) && 3 == node2.nodeType && (node.appendData(node2.data), node2.parentNode.removeChild(node2))) : (rng.setStartBefore(marker), rng.setEndBefore(marker)), parentEditableFalseElm = dom.getParent(marker, dom.isBlock), dom.remove(marker), parentEditableFalseElm && dom.isEmpty(parentEditableFalseElm) && (dom.empty(parentEditableFalseElm), rng.setStart(parentEditableFalseElm, 0), rng.setEnd(parentEditableFalseElm, 0), isTableCell(parentEditableFalseElm) || parentEditableFalseElm.getAttribute("data-mce-fragment") || !(marker = function(rng) { if (rng = CaretPosition.fromRangeStart(rng), rng = new CaretWalker(editor.getBody()).next(rng)) return rng.toRange(); }(rng)) ? dom.add(parentEditableFalseElm, dom.create("br", { "data-mce-bogus": "1" })) : (rng = marker, dom.remove(parentEditableFalseElm))), selection.setRng(rng))); }(dom.get("mce_marker")), details = editor.getBody(), tinymce.each(details.getElementsByTagName("*"), function(elm) { elm.removeAttribute("data-mce-fragment"); }), args.selection = !0, selection.onSetContent.dispatch(selection, args), editor.addVisual(); } }(editor, (value = function(value) { var details; return value && "string" != typeof value ? (details = tinymce.extend({ paste: value.paste, data: { paste: value.paste } }, value), { content: value.content, details: details }) : { content: value, details: {} }; }(value)).content, value.details); } }; }(tinymce), function(tinymce) { var each = tinymce.each, TreeWalker = tinymce.dom.TreeWalker; tinymce.EditorCommands = function(editor) { var bookmark, dom = editor.dom, selection = editor.selection, commands = { state: {}, exec: {}, value: {} }, settings = editor.settings, formatter = editor.formatter; function execCommand(command, ui, value) { var func; return command = command.toLowerCase(), !!(func = commands.exec[command]) && (func(command, ui, value), !0); } function queryCommandState(command) { var func; return command = command.toLowerCase(), (func = commands.state[command]) ? func(command) : -1; } function addCommands(command_list, type) { type = type || "exec", each(command_list, function(callback, command) { each(command.toLowerCase().split(","), function(command) { commands[type][command] = callback; }); }); } function execNativeCommand(command, ui, value) { void 0 === ui && (ui = !1), void 0 === value && (value = null), editor.getDoc().execCommand(command, ui, value); } function isFormatMatch(name) { return formatter.match(name); } function toggleFormat(name, value) { formatter.toggle(name, value ? { value: value } : void 0); } function storeSelection(type) { bookmark = selection.getBookmark(type); } function restoreSelection() { selection.moveToBookmark(bookmark); } tinymce.extend(this, { execCommand: execCommand, queryCommandState: queryCommandState, queryCommandValue: function(command) { var func; return command = command.toLowerCase(), !!(func = commands.value[command]) && func(command); }, addCommands: addCommands, queryCommandSupported: function(command) { if (command = command.toLowerCase(), commands.exec[command]) return !0; try { return editor.getDoc().queryCommandSupported(command); } catch (ex) {} return !1; } }), addCommands({ "mceResetDesignMode,mceBeginUndoLevel": function() {}, "mceEndUndoLevel,mceAddUndoLevel": function() { editor.undoManager.add(); }, "Cut,Copy,Paste": function(command) { try { execNativeCommand(command); } catch (ex) {} }, unlink: function() { var elm; selection.isCollapsed() ? (elm = editor.dom.getParent(selection.getStart(), "a")) && editor.dom.remove(elm, !0) : formatter.remove("link"); }, "JustifyLeft,JustifyCenter,JustifyRight,JustifyFull": function(command) { var align = command.substring(7); each("left,center,right,full".split(","), function(name) { align != name && formatter.remove("align" + name); }), toggleFormat("align" + align), execCommand("mceRepaint"); }, "InsertUnorderedList,InsertOrderedList": function(command) { var listParent; execNativeCommand(command), (command = dom.getParent(selection.getNode(), "ol,ul")) && (listParent = command.parentNode, /^(H[1-6]|P|ADDRESS|PRE)$/.test(listParent.nodeName)) && (storeSelection(), dom.split(listParent, command), restoreSelection()); }, "Bold,Italic,Underline,Strikethrough,Superscript,Subscript": function(command) { toggleFormat(command); }, "ForeColor,HiliteColor,FontName": function(command, ui, value) { toggleFormat(command, value); }, FontSize: function(command, ui, value) { var fontClasses, fontSizes; 1 <= value && value <= 7 && (fontSizes = tinymce.explode(settings.font_size_style_values), value = (fontClasses = tinymce.explode(settings.font_size_classes)) ? fontClasses[value - 1] || value : fontSizes[value - 1] || value), toggleFormat(command, value); }, ApplyFormat: function(command, ui, value) { formatter.apply(value.name, value.args || {}, value.node || null); }, RemoveFormat: function(command, ui, value) { formatter.remove((value = value || { name: command }).name, value.args || {}, value.node || null); }, ToggleFormat: function(command, ui, value) { formatter.toggle((value = value || { name: command }).name, value.args || {}, value.node || null); }, mceBlockQuote: function() { toggleFormat("blockquote"); }, FormatBlock: function(command, ui, value) { return toggleFormat(value || "p"); }, mceCleanup: function() { var bookmark = selection.getBookmark(); editor.setContent(editor.getContent({ cleanup: !0 }), { cleanup: !0 }), selection.moveToBookmark(bookmark); }, mceRemoveNode: function(command, ui, value) { (value = value || selection.getNode()) != editor.getBody() && (storeSelection(), editor.dom.remove(value, !0), restoreSelection()); }, mceSelectNodeDepth: function(command, ui, value) { var counter = 0; value = parseInt(value, 10), dom.getParent(selection.getNode(), function(node) { if (1 == node.nodeType && counter++ == value) return selection.select(node), !1; }, editor.getBody()); }, mceSelectNode: function(command, ui, value) { selection.select(value); }, mceInsertContent: function(command, ui, value) { tinymce.InsertContent.insertAtCaret(editor, value); }, mceInsertRawHTML: function(command, ui, value) { selection.setContent("tiny_mce_marker"), editor.setContent(editor.getContent().replace(/tiny_mce_marker/g, function() { return value; })); }, mceToggleFormat: function(command, ui, value) { toggleFormat(value); }, mceSetContent: function(command, ui, value) { editor.setContent(value); }, "Indent,Outdent": function(command) { var value, intentValue = settings.indentation, indentUnit = /[a-z%]+$/i.exec(intentValue), intentValue = parseInt(intentValue, 10); queryCommandState("InsertUnorderedList") || queryCommandState("InsertOrderedList") ? execNativeCommand(command) : (settings.forced_root_block || dom.getParent(selection.getNode(), dom.isBlock) || formatter.apply("div"), each(selection.getSelectedBlocks(), function(element) { var indentStyleName; "LI" != element.nodeName && (indentStyleName = editor.getParam("indent_use_margin", !1) ? "margin" : "padding", indentStyleName += "rtl" == dom.getStyle(element, "direction", !0) ? "Right" : "Left", "outdent" == command ? (value = Math.max(0, parseInt(element.style[indentStyleName] || 0, 10) - intentValue), dom.setStyle(element, indentStyleName, value ? value + indentUnit : "")) : (value = parseInt(element.style[indentStyleName] || 0, 10) + intentValue + indentUnit, dom.setStyle(element, indentStyleName, value))); })); }, mceRepaint: function() { if (tinymce.isGecko) try { storeSelection(!0), selection.getSel() && selection.getSel().selectAllChildren(editor.getBody()), selection.collapse(!0), restoreSelection(); } catch (ex) {} }, InsertHorizontalRule: function() { editor.execCommand("mceInsertContent", !1, "
    "); }, mceToggleVisualAid: function() { editor.hasVisual = !editor.hasVisual, editor.addVisual(); }, mceReplaceContent: function(command, ui, value) { editor.execCommand("mceInsertContent", !1, value.replace(/\{\$selection\}/g, selection.getContent({ format: "text" }))); }, mceInsertLink: function(command, ui, value) { var anchor; "string" == typeof value && (value = { href: value }), anchor = dom.getParent(selection.getNode(), "a"), value.href = value.href.replace(" ", "%20"), anchor && value.href || formatter.remove("link"), value.href && formatter.apply("link", value, anchor); }, selectAll: function() { var root = dom.getRoot(), rng = dom.createRng(); selection.getRng().setStart ? ((rng = dom.createRng()).setStart(root, 0), rng.setEnd(root, root.childNodes.length), selection.setRng(rng)) : (rng = selection.getRng()).item || (rng.moveToElementText(root), rng.select()); }, delete: function() { execNativeCommand("Delete"); var body = editor.getBody(); dom.isEmpty(body) && (editor.setContent(""), body.firstChild && dom.isBlock(body.firstChild) ? editor.selection.setCursorLocation(body.firstChild, 0) : editor.selection.setCursorLocation(body, 0)); }, mceNewDocument: function() { editor.setContent(""); }, InsertLineBreak: function(command, ui, value) { var brElm, extraBr, rng = selection.getRng(!0), offset = (new tinymce.dom.RangeUtils(dom).normalize(rng), rng.startOffset), container = rng.startContainer, parentBlock = (1 == container.nodeType && container.hasChildNodes() && (isAfterLastNodeInContainer = offset > container.childNodes.length - 1, container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container, offset = isAfterLastNodeInContainer && 3 == container.nodeType ? container.nodeValue.length : 0), dom.getParent(container, dom.isBlock)), isAfterLastNodeInContainer = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null, containerBlockName = isAfterLastNodeInContainer ? isAfterLastNodeInContainer.nodeName.toUpperCase() : "", value = value && value.ctrlKey; return "LI" != containerBlockName || value || (parentBlock = isAfterLastNodeInContainer), container && 3 === container.nodeType && offset >= container.nodeValue.length && ((containerBlockName = dom.getParent(container, "a")) && (!(value = containerBlockName.nextSibling) || 3 === value.nodeType && /^\s*$/.test(value.nodeValue)) && (rng.setStartAfter(containerBlockName), rng.setEndAfter(containerBlockName), container = containerBlockName.parentNode), !function() { for (var node, walker = new TreeWalker(container, parentBlock), nonEmptyElementsMap = editor.schema.getNonEmptyElements(); node = walker.next(); ) if (nonEmptyElementsMap[node.nodeName.toLowerCase()] || 0 < node.length) return 1; }()) && (brElm = dom.create("br"), rng.insertNode(brElm), rng.setStartAfter(brElm), rng.setEndAfter(brElm), extraBr = !0), brElm = dom.create("br"), rng.insertNode(brElm), isAfterLastNodeInContainer = dom.create("span", {}, " "), brElm.parentNode.insertBefore(isAfterLastNodeInContainer, brElm), selection.scrollIntoView(isAfterLastNodeInContainer), dom.remove(isAfterLastNodeInContainer), extraBr ? (rng.setStartBefore(brElm), rng.setEndBefore(brElm)) : (rng.setStartAfter(brElm), rng.setEndAfter(brElm)), selection.setRng(rng), editor.undoManager.add(), !0; } }), addCommands({ "JustifyLeft,JustifyCenter,JustifyRight,JustifyFull": function(command) { var name = "align" + command.substring(7), command = selection.getNode(), nodes = selection.isCollapsed() ? [ dom.getParent(command, dom.isBlock) ] : selection.getSelectedBlocks(), command = ("FIGCAPTION" == command.nodeName && (nodes = [ command ]), tinymce.map(nodes, function(node) { return !!formatter.matchNode(node, name); })); return -1 !== tinymce.inArray(command, !0); }, "Bold,Italic,Underline,Strikethrough,Superscript,Subscript": isFormatMatch, mceBlockQuote: function() { return isFormatMatch("blockquote"); }, Outdent: function() { var node; if (settings.inline_styles) { if ((node = dom.getParent(selection.getStart(), dom.isBlock)) && 0 < parseInt(node.style.paddingLeft, 10)) return !0; if ((node = dom.getParent(selection.getEnd(), dom.isBlock)) && 0 < parseInt(node.style.paddingLeft, 10)) return !0; } return queryCommandState("InsertUnorderedList") || queryCommandState("InsertOrderedList") || !settings.inline_styles && !!dom.getParent(selection.getNode(), "BLOCKQUOTE"); }, "InsertUnorderedList,InsertOrderedList": function(command) { var list = dom.getParent(selection.getNode(), "ul,ol,dl"); return list && ("insertunorderedlist" === command && "UL" === list.tagName || "insertorderedlist" === command && "OL" === list.tagName); } }, "state"), addCommands({ "FontSize,FontName": function(command) { var parent; return (parent = dom.getParent(selection.getNode(), "span")) ? "fontsize" == command ? parent.style.fontSize : parent.style.fontFamily.replace(/, /g, ",").replace(/[\'\"]/g, "").toLowerCase() : 0; } }, "value"), addCommands({ Undo: function() { editor.undoManager.undo(); }, Redo: function() { editor.undoManager.redo(); } }); }; }(tinymce), function(tinymce) { var Dispatcher = tinymce.util.Dispatcher; tinymce.UndoManager = function(editor) { var um, beforeBookmark, onBeforeAdd, onAdd, onUndo, onRedo, index = 0, data = []; function addNonTypingUndoLevel() { um.typing = !1, um.add(); } return onBeforeAdd = new Dispatcher(um), onAdd = new Dispatcher(um), onUndo = new Dispatcher(um), onRedo = new Dispatcher(um), onAdd.add(function(undoman, level) { if (undoman.hasUndo()) return editor.onChange.dispatch(editor, level, undoman); }), onUndo.add(function(undoman, level) { return editor.onUndo.dispatch(editor, level, undoman); }), onRedo.add(function(undoman, level) { return editor.onRedo.dispatch(editor, level, undoman); }), editor.onInit.add(function() { um.add(); }), editor.onBeforeExecCommand.add(function(ed, cmd, ui, val, args) { "Undo" == cmd || "Redo" == cmd || "mceRepaint" == cmd || args && args.skip_undo || um.beforeChange(); }), editor.onExecCommand.add(function(ed, cmd, ui, val, args) { "Undo" == cmd || "Redo" == cmd || "mceRepaint" == cmd || args && args.skip_undo || um.add(); }), editor.onSaveContent.add(addNonTypingUndoLevel), editor.dom.bind(editor.dom.getRoot(), "dragend", addNonTypingUndoLevel), editor.dom.bind(editor.getBody(), "focusout", function() { !editor.removed && um.typing && addNonTypingUndoLevel(); }), editor.onKeyUp.add(function(editor, e) { var keyCode = e.keyCode; e.isDefaultPrevented() || (33 <= keyCode && keyCode <= 36 || 37 <= keyCode && keyCode <= 40 || 45 == keyCode || 13 == keyCode || e.ctrlKey) && addNonTypingUndoLevel(); }), editor.onKeyDown.add(function(editor, e) { var keyCode = e.keyCode; e.isDefaultPrevented() || (33 <= keyCode && keyCode <= 36 || 37 <= keyCode && keyCode <= 40 || 45 == keyCode ? um.typing && addNonTypingUndoLevel() : (e = e.ctrlKey && !e.altKey || e.metaKey, !(keyCode < 16 || 20 < keyCode) || 224 === keyCode || 91 === keyCode || um.typing || e || (um.beforeChange(), um.typing = !0, um.add()))); }), editor.onMouseDown.add(function() { um.typing && addNonTypingUndoLevel(); }), editor.addShortcut("meta+z", "", "Undo"), editor.addShortcut("meta+y,meta+shift+z", "", "Redo"), um = { data: data, typing: !1, onBeforeAdd: onBeforeAdd, onAdd: onAdd, onUndo: onUndo, onRedo: onRedo, beforeChange: function() { beforeBookmark = editor.selection.getBookmark(2, !0); }, add: function(level) { var i, lastLevel, settings = editor.settings; if ((level = level || {}).content = tinymce.trim(editor.getContent({ format: "raw", no_events: 1, undo: !0 })), um.onBeforeAdd.dispatch(um, level), (lastLevel = data[index]) && lastLevel.content == level.content) return null; if (data[index] && (data[index].beforeBookmark = beforeBookmark), settings.custom_undo_redo_levels && data.length > settings.custom_undo_redo_levels) { for (i = 0; i < data.length - 1; i++) data[i] = data[i + 1]; data.length--, index = data.length; } return level.bookmark = editor.selection.getBookmark(2, !0), index < data.length - 1 && (data.length = index + 1), data.push(level), index = data.length - 1, um.onAdd.dispatch(um, level), editor.isNotDirty = 0, level; }, undo: function() { var level; return um.typing && (um.add(), um.typing = !1), 0 < index && (level = data[--index], editor.setContent(level.content, { format: "raw", undo: !0 }), editor.selection.moveToBookmark(level.beforeBookmark), um.onUndo.dispatch(um, level)), level; }, redo: function() { var level; return index < data.length - 1 && (level = data[++index], editor.setContent(level.content, { format: "raw", undo: !0 }), editor.selection.moveToBookmark(level.bookmark), um.onRedo.dispatch(um, level)), level; }, clear: function() { data = [], index = 0, um.typing = !1; }, hasUndo: function() { return 0 < index || this.typing; }, hasRedo: function() { return index < data.length - 1 && !this.typing; } }; }; }(tinymce), tinymce.ForceBlocks = function(editor) { var settings = editor.settings, dom = editor.dom, selection = editor.selection, schema = editor.schema, blockElements = schema.getBlockElements(); function addRootBlocks() { var rng, startContainer, startOffset, endContainer, endOffset, rootBlockNode, tempNode, wrapped, restoreSelection, tmpRng, rootNodeName, node = selection.getStart(), rootNode = editor.getBody(), forcedRootBlock = settings.forced_root_block; if (node && 1 === node.nodeType && forcedRootBlock && !node.getAttribute("data-mce-type")) { for (;node && node != rootNode; ) { if (blockElements[node.nodeName]) return; node = node.parentNode; } if ((rng = selection.getRng()).setStart) { startContainer = rng.startContainer, startOffset = rng.startOffset, endContainer = rng.endContainer, endOffset = rng.endOffset; try { restoreSelection = editor.getDoc().activeElement === rootNode; } catch (ex) {} } else rng.item && (node = rng.item(0), (rng = editor.getDoc().body.createTextRange()).moveToElementText(node)), restoreSelection = rng.parentElement().ownerDocument === editor.getDoc(), (tmpRng = rng.duplicate()).collapse(!0), startOffset = -1 * tmpRng.move("character", -16777215), tmpRng.collapsed || ((tmpRng = rng.duplicate()).collapse(!1), endOffset = -1 * tmpRng.move("character", -16777215) - startOffset); for (node = rootNode.firstChild, rootNodeName = rootNode.nodeName.toLowerCase(); node; ) (3 === node.nodeType || 1 == node.nodeType && !blockElements[node.nodeName]) && schema.isValidChild(rootNodeName, forcedRootBlock.toLowerCase()) ? 3 === node.nodeType && 0 === node.nodeValue.length ? (node = (tempNode = node).nextSibling, dom.remove(tempNode)) : (rootBlockNode || (rootBlockNode = dom.create(forcedRootBlock, editor.settings.forced_root_block_attrs), node.parentNode.insertBefore(rootBlockNode, node), wrapped = !0), node = (tempNode = node).nextSibling, rootBlockNode.appendChild(tempNode)) : (rootBlockNode = null, node = node.nextSibling); if (wrapped && restoreSelection) { if (rng.setStart) rng.setStart(startContainer, startOffset), rng.setEnd(endContainer, endOffset), selection.setRng(rng); else try { (rng = editor.getDoc().body.createTextRange()).moveToElementText(rootNode), rng.collapse(!0), rng.moveStart("character", startOffset), 0 < endOffset && rng.moveEnd("character", endOffset), rng.select(); } catch (ex) {} editor.nodeChanged(); } } } settings.forced_root_block && (editor.onKeyUp.add(addRootBlocks), editor.onNodeChange.add(addRootBlocks)); }, function(tinymce) { var Event = tinymce.dom.Event, each = tinymce.each, extend = tinymce.extend, PreviewCss = tinymce.util.PreviewCss; tinymce.ControlManager = function(ed, s) { var self = this; s = s || {}, self.editor = ed, self.controls = {}, self.onAdd = new tinymce.util.Dispatcher(self), self.onPostRender = new tinymce.util.Dispatcher(self), self.prefix = s.prefix || ed.id + "_", self._cls = {}, self.classPrefix = "mce", self.onPostRender.add(function() { each(self.controls, function(c) { c.postRender(); }); }); }, tinymce.ControlManager.prototype = { get: function(id) { return this.controls[this.prefix + id] || this.controls[id]; }, setActive: function(id, s) { return (id = this.get(id)) && id.setActive(s), id; }, setDisabled: function(id, s) { return (id = this.get(id)) && id.setDisabled(s), id; }, add: function(c) { return c && (this.controls[c.id] = c, this.onAdd.dispatch(c, this)), c; }, createControl: function(name) { var ctrl, i, l, factories, self = this, editor = self.editor; for (self.controlFactories || (self.controlFactories = [], each(editor.plugins, function(plugin) { plugin.createControl && self.controlFactories.push(plugin); })), i = 0, l = (factories = self.controlFactories).length; i < l; i++) if (ctrl = factories[i].createControl(name, self)) return self.add(ctrl); return "|" === name || "separator" === name ? self.createSeparator() : editor.buttons && (ctrl = editor.buttons[name]) ? self.createButton(name, ctrl) : self.add(ctrl); }, createDropMenu: function(id, s, cc) { var c, bm, ed = this.editor; return (s = extend({ class: "mceDropDown", constrain: ed.settings.constrain_menus }, s)).class += " " + (ed.settings.skin_class || "mceDefaultSkin"), -1 == id.indexOf(this.prefix) && (id = this.prefix + id), cc = cc || this._cls.dropmenu || tinymce.ui.DropMenu, (c = this.controls[id] = new cc(id, s)).onAddItem.add(function(c, o) { var s = o.settings; s.title && (s.title = ed.getLang(s.title, s.title)), !s.onclick && s.cmd && (s.onclick = function() { ed.execCommand(s.cmd, s.ui || !1, s.value); }); }), tinymce.isIE && (c.onShowMenu.add(function() { ed.focus(), bm = ed.selection.getBookmark(1); }), c.onHideMenu.add(function() { bm && (ed.selection.moveToBookmark(bm), bm = 0); })), ed.onRemove.add(function() { c.destroy(); }), this.add(c); }, createListBox: function(id, s, cc) { var ed = this.editor, c = this.get(id); return c || (s.title = ed.translate(s.title), s.scope = s.scope || ed, s.onselect || (s.onselect = function(v) { if (!s.cmd) return !1; ed.execCommand(s.cmd, s.ui || !1, v || s.value); }), s = extend({ title: s.title, class: "mce_" + id, scope: s.scope, control_manager: this }, s), id = this.prefix + id, c = new (cc || this._cls.listbox || tinymce.ui.ListBox)(id, s, ed), this.controls[id] = c, tinymce.isWebKit && c.onPostRender.add(function(c, n) { Event.add(n, "mousedown", function() { ed.bookmark = ed.selection.getBookmark(1); }), Event.add(n, "focus", function() { ed.selection.moveToBookmark(ed.bookmark), ed.bookmark = null; }); }), Array.isArray(s.items) && c.onRenderMenu.add(function(c, m) { each(s.items, function(item) { m.add(item); }); }), c.hideMenu && ed.onMouseDown.add(c.hideMenu, c), this.add(c)); }, createStylesBox: function(id, s, cc) { var ed = this.editor; function compileFilter(filter) { var filters; return Array.isArray(filter) ? (filters = filter.map(compileFilter), function(value) { return filters.every(function(filterFunc) { return filterFunc(value); }); }) : "string" == typeof filter && filter ? function(value) { return -1 !== value.indexOf(filter); } : "function" == typeof filter ? function(value) { return filter(value); } : filter instanceof RegExp ? function(value) { return filter.test(value); } : filter; } return s = tinymce.extend({ max_height: 384, combobox: !0, multiple: !0, seperator: " ", menu_class: "mceStylesBoxMenu", allow_element_selector: !1 }, s || {}), (id = this.createListBox(id, s, cc)).onPostRender.add(function(c, n) { var ctrl = c; s.styles && "string" == typeof s.styles && (s.styles = s.styles.split(/[\s,]+/)), Array.isArray(s.styles) && s.styles.length ? (each(s.styles, function(item) { var title, value; if ("string" == typeof item) title = value = item; else if ("object" == typeof item && null !== item) if (item.title && item.value) title = item.title, value = item.value; else for (var key in item) if (item.hasOwnProperty(key)) { value = item[title = key]; break; } title && value && ctrl.add(title, value, { style: function() { return PreviewCss.getCssText(ed, { classes: value }); } }); }), ctrl.hasClasses = !0) : Array.isArray(ed.settings.importcss_classes) && !ctrl.hasClasses && (each(ed.settings.importcss_classes, function(item) { var element, selectorText = item.selectorText || item.selector || item; return !selectorText || !(!s.selector_filter || !compileFilter(s.selector_filter)(selectorText)) || !((selectorText = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText)) && (element = selectorText[1] || null, selectorText = selectorText[2].substr(1), !element || s.allow_element_selector)) || (element = selectorText.split("."), each(element, function(cls) { ctrl.add(cls, cls, { style: function() { return item.style || PreviewCss.getCssText(ed, { classes: cls }); } }); }), void PreviewCss.reset()); }), Array.isArray(ed.settings.importcss_classes)) && (ctrl.hasClasses = !0); }), id; }, createButton: function(id, s, cc) { var c, ed = this.editor; return this.get(id) ? this.get(id) : (s.title = ed.translate(s.title), s.label = ed.translate(s.label), s.scope = s.scope || ed, s.onclick || s.menu_button || (s.onclick = function() { ed.execCommand(s.cmd, s.ui || !1, s.value); }), s = extend({ title: s.title, class: "mce_" + id, scope: s.scope, control_manager: this }, s), id = this.prefix + id, s.menu_button ? (c = new (cc || this._cls.menubutton || tinymce.ui.MenuButton)(id, s, ed), ed.onMouseDown.add(c.hideMenu, c)) : c = new (this._cls.button || tinymce.ui.Button)(id, s, ed), this.add(c)); }, createMenuButton: function(id, s, cc) { return (s = s || {}).menu_button = 1, this.createButton(id, s, cc); }, createSplitButton: function(id, s, cc) { var ed = this.editor; return this.get(id) ? this.get(id) : (s.title = ed.translate(s.title), s.scope = s.scope || ed, !s.onclick && s.cmd && (s.onclick = function(v) { ed.execCommand(s.cmd, s.ui || !1, v || s.value); }), !s.onselect && s.cmd && (s.onselect = function(v) { ed.execCommand(s.cmd, s.ui || !1, v || s.value); }), s = extend({ title: s.title, class: "mce_" + id, scope: s.scope, control_manager: this }, s), id = this.prefix + id, cc = cc || this._cls.splitbutton || tinymce.ui.SplitButton, cc = this.add(new cc(id, s, ed)), ed.onMouseDown.add(cc.hideMenu, cc), cc.onRenderMenu.add(function(e, m) { Array.isArray(s.items) && each(s.items, function(item) { m.add(item); }), m.onHideMenu.add(function() { ed.nodeChanged(), ed.focus(); }); }), this.add(cc)); }, createColorSplitButton: function(id, s, cc) { var c, bm, ed = this.editor; return this.get(id) ? this.get(id) : (s.title = ed.translate(s.title), s.scope = s.scope || ed, s.onclick || (s.onclick = function(v) { tinymce.isIE && (bm = ed.selection.getBookmark(1)), ed.execCommand(s.cmd, s.ui || !1, v || s.value); }), s.onselect || (s.onselect = function(v) { ed.execCommand(s.cmd, s.ui || !1, v || s.value); }), s = extend({ title: s.title, class: "mce_" + id, menu_class: ed.settings.skin_class || "mceDefaultSkin", scope: s.scope, more_colors_title: ed.getLang("more_colors") }, s), id = this.prefix + id, cc = cc || this._cls.colorsplitbutton || tinymce.ui.ColorSplitButton, c = new cc(id, s, ed), ed.onMouseDown.add(c.hideMenu, c), ed.onRemove.add(function() { c.destroy(); }), c.onShowMenu.add(function() { bm = ed.selection.getBookmark(1); }), c.onHideMenu.add(function() { bm && (ed.selection.moveToBookmark(bm), bm = 0); }), this.add(c)); }, createTextBox: function(id, s, cc) { var ed = this.editor; return id = this.prefix + id, this.get(id) || (s.title = ed.translate(s.title), s.label = ed.translate(s.label), s.scope = s.scope || ed, s = extend({ title: s.title, class: "mce_" + id, scope: s.scope, control_manager: this }, s), cc = new (cc || tinymce.ui.TextBox)(id, s, ed), this.add(cc)); }, createUrlBox: function(id, s) { var ed = this.editor; return s.upload_label = ed.getLang(s.upload_label, "Upload"), s.picker_label = ed.getLang(s.picker_label, "Browse"), this.createTextBox(id, s, tinymce.ui.UrlBox); }, createCheckBox: function(id, s) { var ed = this.editor; return this.get(id) || (s.title = ed.translate(s.title), s.label = ed.translate(s.label), s.scope = s.scope || ed, s = extend({ title: s.title, class: "mce_" + id, scope: s.scope, control_manager: this }, s), id = this.prefix + id, id = new tinymce.ui.CheckBox(id, s, ed), this.add(id)); }, createCustomValue: function(id, s) { var ed = this.editor; return id = this.prefix + id, id = new tinymce.ui.CustomValue(id, s, ed), this.add(id); }, createRepeatable: function(id, s) { var ed = this.editor; return id = this.prefix + id, this.get(id) || (s.scope = s.scope || ed, s = extend({ class: "mce_" + id, scope: s.scope, control_manager: this }, s), id = new tinymce.ui.Repeatable(id, s, ed), this.add(id)); }, createPanel: function(id, s, cc) { var ed = this.editor; return s.class += " " + (ed.settings.skin_class || "mceDefaultSkin"), delete this.controls[id], ed = new (cc || this._cls.panel || tinymce.ui.Panel)(id, s, this.editor), this.add(ed); }, createContextPanel: function(id, s) { var cc = tinymce.ui.ContextPanel; return this.createPanel(id, s, cc); }, createTabs: function(id, s, cc) { return delete this.controls[id], cc = new (cc || this._cls.tabPanel || tinymce.ui.TabPanel)(id, s, this.editor), this.add(cc); }, createToolbar: function(id, s, cc) { return id = this.prefix + id, delete this.controls[id], cc = new (cc || this._cls.toolbar || tinymce.ui.Toolbar)(id, s, this.editor), this.add(cc); }, createToolbarGroup: function(id, s, cc) { return id = this.prefix + id, delete this.controls[id], cc = new (cc || this._cls.toolbarGroup || tinymce.ui.ToolbarGroup)(id, s, this.editor), this.add(cc); }, createLayout: function(id, s, cc) { return id = this.prefix + id, delete this.controls[id], cc = new (cc || this._cls.layout || tinymce.ui.Layout)(id, s, this.editor), this.add(cc); }, createForm: function(id, s) { return id = this.prefix + id, delete this.controls[id], id = new tinymce.ui.Form(id, s, this.editor), this.add(id); }, createSeparator: function(cc) { return new (cc || this._cls.separator || tinymce.ui.Separator)(); }, setControlType: function(n, c) { return this._cls[n.toLowerCase()] = c; }, destroy: function() { each(this.controls, function(c) { c.destroy(); }), this.controls = null; } }; }(tinymce), function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, Dispatcher = tinymce.util.Dispatcher; function ucfirst(s) { return s.substring(0, 1).toUpperCase() + s.substring(1); } function updateWithTouchData(e) { var keys, i; if (e.changedTouches) for (keys = "screenX screenY pageX pageY clientX clientY".split(" "), i = 0; i < keys.length; i++) e[keys[i]] = e.changedTouches[0][keys[i]]; } tinymce.create("tinymce.WindowManager", { WindowManager: function(ed) { this.editor = ed, this.onOpen = new Dispatcher(this), this.onClose = new Dispatcher(this), this.params = {}, this.features = {}, this.zIndex = 700002, this.count = 0, this.windows = {}; }, createInstance: function(cl, a, b, c, d, e) { return new (tinymce.resolve(cl))(a, b, c, d, e); }, open: function(f, p) { var id, self = this, ed = self.editor, dh = 0, p = (p = p || {}, (f = f || {}).type || (self.bookmark = ed.selection.getBookmark(1)), id = DOM.uniqueId("mce_window_"), f.width = parseInt(f.width || 0, 10), f.height = parseInt(f.height || 0, 10), p.mce_window_id = id, self.features = f, self.params = p, self.onOpen.dispatch(self, f, p), '
    ' + (f.title || "") + '
    '), modal = DOM.select(".mceModal"); return modal.length || (modal = DOM.add(DOM.doc.body, "div", { class: ed.settings.skin_class + " mceModal", role: "dialog", "aria-labelledby": id + "_title" }, ""), !1 !== f.overlay && DOM.add(modal, "div", { class: "mceModalOverlay" })), DOM.add(modal, "div", { class: "mceModalFrame", id: id + "_frame" }, p), f.fixed ? (DOM.addClass(modal, "mceModalFixed"), Event.add(id, "blur", function() { self.close(null, id); })) : DOM.addClass(DOM.select(".mceModalHeader", modal), "mceModalMove"), f.buttons = f.buttons || [], (ed = f.url || f.file) ? (!1 !== f.addver && (ed = tinymce._addVer(ed)), DOM.addClass(id, "mceLoading"), DOM.addClass(id + "_content", "mceModalContentIframe"), p = DOM.add(id + "_content", "iframe", { id: id + "_ifr", src: "about:blank", frameBorder: 0, "aria-label": "Dialog Content Iframe" }), DOM.setAttrib(p, "src", ed), Event.add(p, "load", function() { DOM.removeClass(id, "mceLoading"); })) : (f.type && DOM.addClass(id, "mceModal" + ucfirst(f.type)), f.buttons.length || f.buttons.push({ id: "cancel", title: self.editor.getLang("cancel", "Cancel"), onclick: function(e) { Event.cancel(e), self.close(null, id); } }), f.content && ("string" == typeof f.content && DOM.setHTML(id + "_content", "
    " + f.content.replace("\n", "") + "
    "), f.content.nodeType) && DOM.add(id + "_content", DOM.create("div", {}, f.content)), f.items && (tinymce.is(f.items, "array") || (f.items = [ f.items ]), each(f.items, function(ctrl) { var form = DOM.add(id + "_content", "div"); ctrl.renderTo(form), self.onClose.add(function(e, win) { win.id == id && ctrl.destroy(); }); })), Event.add(id, "keydown", function(e) { var nodes, endIndex, tabIndex; 9 === e.keyCode && (nodes = DOM.select("input, button, select, textarea, .mceListBox", DOM.get(id)), (nodes = tinymce.grep(nodes, function(node) { return !node.disabled && !DOM.isHidden(node) && 0 <= node.getAttribute("tabindex"); })).length) && (DOM.setAttrib(nodes, "tabindex", 0), e.shiftKey && nodes.reverse(), endIndex = Math.max(0, nodes.length - 1), tabIndex = function(nodes, node) { for (var i = 0; i < nodes.length; i++) if (nodes[i] === node) return i; return -1; }(nodes, e.target), tabIndex++, nodes[tabIndex = endIndex < (tabIndex = Math.max(tabIndex, 0)) ? 0 : tabIndex].focus(), DOM.setAttrib(nodes[tabIndex], "tabindex", 1), e.preventDefault(), e.stopImmediatePropagation()); })), f.buttons.length && (DOM.add(DOM.select(".mceModalContainer", id), "div", { class: "mceModalFooter", id: id + "_footer" }), each(f.buttons, function(button) { "cancel" === button.id && (button.onclick = function(e) { self.close(null, id); }); var attribs = { id: id + "_" + button.id, class: "mceButton", type: "button" }, btn = (button.autofocus && (attribs.autofocus = !0), button.title = button.title || "OK", DOM.add(id + "_footer", "button", attribs, button.title)); button.icon && DOM.add(btn, "span", { class: "mceIcon mce_" + button.icon, role: "presentation" }), each(tinymce.explode(button.classes), function(cls) { DOM.addClass(btn, "mceButton" + ucfirst(cls)); }), button.onclick && Event.add(btn, "click", function(e) { Event.cancel(e), button.onclick.call(self, e); }), button.onsubmit && Event.add(btn, "click", function(e) { Event.cancel(e), button.onsubmit.call(self, e), e.cancelSubmit || self.close(null, id); }); })), Event.add(id, "keydown", function(evt) { if (27 === evt.keyCode) self.close(null, id), evt.preventDefault(), evt.stopImmediatePropagation(); else if (13 === evt.keyCode) { if (evt.target) { if ("TEXTAREA" === evt.target.nodeName) return; "BUTTON" === evt.target.nodeName && Event.fire(evt.target, "click"); } evt.preventDefault(), evt.stopImmediatePropagation(); } }), Event.add(DOM.select("button.mceModalClose", DOM.get(id)), "click", function(evt) { self.close(null, id), evt.preventDefault(), evt.stopImmediatePropagation(); }), f.type || (dh += DOM.get(id + "_header").clientHeight), f.size ? DOM.addClass(id, f.size) : (f.width && DOM.setStyle(id, "width", f.width + 0), f.height && DOM.setStyle(id, "height", f.height + dh)), f.fixed || Event.add(DOM.win, "resize orientationchange", function() { DOM.get(id) && self.position(id); }), Event.add(id, "mousedown", function(e) { var n = e.target; if (!/(input|select|textarea|button|label)/i.test(n.nodeName)) return self.focus(id), DOM.hasClass(n, ".mceModalClose") || f.fixed || !DOM.hasClass(n, "mceModalMove") && !DOM.hasClass(n.parentNode, "mceModalMove") ? void 0 : self._startDrag(id, e, "Move"); }), self.windows[id] = modal = { id: id, features: f, elm: DOM.get(id), moveTo: function(x, y) { return self.moveTo(id, x, y); }, close: function() { return self.close(null, id); }, focus: function() { return self.focus(id); } }, f.open && "function" == typeof f.open && f.open.call(modal, modal), DOM.setAttrib(id, "aria-hidden", "false"), self.position(id), self.focus(id), self.count++, modal; }, close: function(win, id) { if (id = this._findId(id || win), !(win = this.windows[id] || this._frontWindow())) return !1; this.count--, 0 === this.count && (DOM.remove(DOM.select(".mceModal")), DOM.setAttrib(DOM.doc.body, "aria-hidden", "false"), this.editor.focus()), this.onClose.dispatch(this, win); var f = win.features || {}; return f.close && "function" == typeof f.close && f.close.call(win || this, win), Event.clear(id), Event.clear(id + "_ifr"), DOM.remove(id + "_frame"), DOM.remove(id), delete this.windows[id], 0 < this.count && (f = this._frontWindow()) && f.focus(), !0; }, setTitle: function(win, title) { win = this._findId(win), (win = DOM.get(win + "_title")) && !win.innerHTML && (win.innerHTML = DOM.encode(title)); }, confirm: function(options, cb, s) { var self = this; tinymce.is(options, "string") && (options = { text: options }), options = tinymce.extend({ title: "" }, options), self.open({ title: self.editor.getLang(options.title, options.title), type: "confirm", buttons: [ { title: self.editor.getLang("no", "No"), id: "cancel" }, { title: self.editor.getLang("yes", "Yes"), id: "ok", classes: "primary", autofocus: !0, onsubmit: function(s) { cb && cb.call(s || self, s); } } ], content: "

    " + DOM.encode(self.editor.getLang(options.text, options.text)) + "

    " }); }, alert: function(options, cb, s) { var self = this; tinymce.is(options, "string") && (options = { text: options }), options = tinymce.extend({ title: "" }, options), self.open({ title: self.editor.getLang(options.title, options.title), type: "alert", buttons: [ { title: self.editor.getLang("cancel", "Cancel"), id: "cancel" }, { title: self.editor.getLang("ok", "Ok"), id: "ok", classes: "primary", autofocus: !0, onsubmit: function(s) { cb && cb.call(s || self, s); } } ], content: "

    " + DOM.encode(self.editor.getLang(options.text, options.text)) + "

    " }); }, prompt: function(options, cb, s) { var self = this, html = (tinymce.is(options, "string") && (options = { text: options }), options = tinymce.extend({ title: "" }, options), '
    '); self.open({ title: self.editor.getLang(options.title, options.title), type: "prompt", buttons: [ { title: self.editor.getLang("cancel", "Cancel"), id: "cancel" }, { title: self.editor.getLang("ok", "Ok"), id: "ok", classes: "primary", autofocus: !0, onsubmit: function() { var value = DOM.getValue(self.editor.id + "_prompt_input"), value = DOM.encode(value); cb && cb.call(s || self, value); } } ], content: html }); }, resizeBy: function(dw, dh, id) {}, moveTo: function(id, x, y) { DOM.setStyles(id, { left: x, top: y }); }, position: function(id) { var p = DOM.getRect(id), vp = DOM.getViewPort(), top = Math.round(Math.max(vp.y + 10, vp.y + vp.h / 2 - p.h / 2)), vp = Math.round(Math.max(vp.x + 10, vp.x + vp.w / 2 - p.w / 2)), vp = Math.max(0, vp - 10); DOM.setStyles(id, { left: vp, top: top }); }, focus: function(id) { var win = this.windows[id]; if (win) if (win.zIndex = this.zIndex++, DOM.setStyle(id + "_frame", "zIndex", win.zIndex), DOM.removeClass(this.lastId, "mceFocus"), DOM.addClass(id + "_frame", "mceFocus"), this.lastId = id + "_frame", DOM.get(id).focus(), DOM.get(id + "_ifr")) DOM.get(id + "_ifr").focus(); else { var nodes = DOM.select("input, select, button, textarea", DOM.get(id)); nodes[0].focus(); for (var i = 0; i < nodes.length; i++) { var node = nodes[i]; if (0 <= node.getAttribute("tabindex") && node.getAttribute("autofocus")) { node.focus(); break; } } } }, _startDrag: function(id, se, ac) { var mu, mm, sx, sy, p, vp, d = DOM.doc; function end() { Event.remove(d, "mouseup touchend", mu), Event.remove(d, "mousemove touchmove", mm), DOM.removeClass(id, "dragging"); } DOM.hasClass(id, "dragging") ? end() : (updateWithTouchData(se), p = DOM.getRect(id), (vp = DOM.getViewPort()).w -= 2, vp.h -= 2, DOM.addClass(id, "dragging"), sx = se.screenX, sy = se.screenY, mu = Event.add(d, "mouseup touchend", function(e) { return updateWithTouchData(e), end(), Event.cancel(e); }), mm = Event.add(d, "mousemove touchmove", function(e) { updateWithTouchData(e); var x = e.screenX - sx, y = e.screenY - sy, x = Math.max(p.x + x, 10), y = Math.max(p.y + y, 10); return DOM.setStyles(id, { left: x, top: y }), Event.cancel(e); })); }, _frontWindow: function() { var fw, ix = 0; return tinymce.each(this.windows, function(win) { win.zIndex > ix && (ix = (fw = win).zIndex); }), fw; }, _findId: function(w) { return "string" != typeof w && each(this.windows, function(wo) { var ifr = DOM.get(wo.id + "_ifr"); if (ifr && w == ifr.contentWindow) return w = wo.id, !1; }), w; } }); }(tinymce), function(tinymce) { tinymce.Formatter = function(ed) { var formatChangeData, undef, formats = {}, each = tinymce.each, dom = ed.dom, selection = ed.selection, TreeWalker = tinymce.dom.TreeWalker, rangeUtils = new tinymce.dom.RangeUtils(dom), isValidChild = ed.schema.isValidChild, isBlock = dom.isBlock, forcedRootBlock = ed.settings.forced_root_block, nodeIndex = dom.nodeIndex, INVISIBLE_CHAR = "\ufeff", MCE_ATTR_RE = /^(src|href|style)$/, FALSE = !1, TRUE = !0, getContentEditable = dom.getContentEditable, hasCaretNodeSibling = function(node) { for (var sibling = node.parentNode.firstChild; sibling; ) { if (sibling !== node && isCaretNode(sibling)) return !0; sibling = sibling.nextSibling; } return !1; }, canFormatBR = function(editor, format, node, parentName) { return !(!1 === editor.settings.format_empty_lines || !format.inline || !node.parentNode) && ("a" == format.inline || editor.schema.getTextRootBlockElements()[parentName] && !editor.dom.isEmpty(node.parentNode) && !hasCaretNodeSibling(node)); }; function isTextBlock(name) { return name.nodeType && (name = name.nodeName), !!ed.schema.getTextBlockElements()[name.toLowerCase()]; } function isTableCell(node) { return /^(TH|TD)$/.test(node.nodeName); } function getParents(node, selector) { return dom.getParents(node, selector, dom.getRoot()); } function isCaretNode(node) { return 1 === node.nodeType && "_mce_caret" === node.id; } function isBogusBr(node) { return "BR" == node.nodeName && node.getAttribute("data-mce-bogus") && !node.nextSibling; } function get(name) { return name ? formats[name] : formats; } function register(name, format) { var current; name && ("string" != typeof name ? each(name, function(format, name) { register(name, format); }) : (format = format.length ? format : [ format ], each(format, function(format) { format.deep === undef && (format.deep = !format.selector), format.split === undef && (format.split = !format.selector || format.inline), format.remove === undef && format.selector && !format.inline && (format.remove = "none"), format.selector && format.inline && (format.mixed = !0, format.block_expand = !0), "string" == typeof format.classes && (format.classes = format.classes.split(/\s+/)); }), formats[name] ? (current = (current = formats[name]).length ? current : [ current ], formats[name] = current.concat(format)) : formats[name] = format)); } function matchesUnInheritedFormatSelector(node, name) { var formatList = get(name); if (formatList) for (var i = 0; i < formatList.length; i++) if (!1 === formatList[i].inherit && formatList[i].selector && dom.is(node, formatList[i].selector)) return 1; } function getTextDecoration(node) { var decoration; return ed.dom.getParent(node, function(n) { return (decoration = ed.dom.getStyle(n, "text-decoration")) && "none" !== decoration; }), decoration; } function processUnderlineAndColor(node) { var textDecoration; 1 === node.nodeType && node.parentNode && 1 === node.parentNode.nodeType && (textDecoration = getTextDecoration(node.parentNode), ed.dom.getStyle(node, "color") && textDecoration ? ed.dom.setStyle(node, "text-decoration", textDecoration) : ed.dom.getStyle(node, "text-decoration") === textDecoration && ed.dom.setStyle(node, "text-decoration", null)); } function apply(name, vars, node) { var bookmark, rng, formatList = get(name), format = formatList[0], isCollapsed = !node && selection.isCollapsed(); function setElementFormat(elm, fmt) { var styleVal; fmt = fmt || format, elm && (each(fmt.styles, function(value, name) { dom.setStyle(elm, name, replaceVars(value, vars)); }), fmt.styles && (styleVal = dom.serializeStyle(dom.parseStyle(elm.style.cssText), elm.nodeName)) && elm.setAttribute("data-mce-style", styleVal), each(fmt.attributes, function(value, name) { dom.setAttrib(elm, name, replaceVars(value, vars)); }), each(fmt.classes, function(value) { value = replaceVars(value, vars), dom.hasClass(elm, value) || dom.addClass(elm, value); }), fmt.onformat) && fmt.onformat(elm, fmt, vars, node); } function applyNodeStyle(formatList, node) { var found = !1; return !!format.selector && (each(formatList, function(format) { return "collapsed" in format && format.collapsed !== isCollapsed || !dom.is(node, format.selector) || isCaretNode(node) || isBogusBr(node) ? void 0 : (setElementFormat(node, format), !(found = !0)); }), found); } function applyRngStyle(rng, bookmark, node_specific) { var newWrappers = [], contentEditable = !0, wrapName = format.inline || format.block, wrapElm = dom.create(wrapName); setElementFormat(wrapElm), rangeUtils.walk(rng, function(nodes) { var currentWrapElm; each(nodes, function process(node) { var nodeName, parentName, found, hasContentEditableState, lastContentEditable; isBogusBr(node) || isBookmarkNode(node) || (lastContentEditable = contentEditable, nodeName = node.nodeName.toLowerCase(), parentName = node.parentNode.nodeName.toLowerCase(), 1 === node.nodeType && getContentEditable(node) && (lastContentEditable = contentEditable, contentEditable = "true" === getContentEditable(node), hasContentEditableState = !function(node) { return ed.schema.getShortEndedElements()[node.nodeName.toLowerCase()]; }(node)), isEq(nodeName, "br") && !canFormatBR(ed, format, node, parentName) ? (currentWrapElm = 0, format.block && dom.remove(node)) : format.wrapper && matchNode(node, name, vars) ? currentWrapElm = 0 : contentEditable && !hasContentEditableState && format.block && !format.wrapper && isTextBlock(nodeName) && isValidChild(parentName, wrapName) ? (setElementFormat(node = dom.rename(node, wrapName)), newWrappers.push(node), currentWrapElm = 0) : format.selector && (found = applyNodeStyle(formatList, node), !format.inline || found) ? currentWrapElm = 0 : !contentEditable || hasContentEditableState || !isValidChild(wrapName, nodeName) || !isValidChild(parentName, wrapName) || function(node) { return !node_specific && 3 === node.nodeType && 1 === node.nodeValue.length && 65279 === node.nodeValue.charCodeAt(0); }(node) || isCaretNode(node) || isBogusBr(node) || isBookmarkNode(node) || format.inline && isBlock(node) ? (currentWrapElm = 0, each(tinymce.grep(node.childNodes), process), hasContentEditableState && (contentEditable = lastContentEditable), currentWrapElm = 0) : (currentWrapElm || (currentWrapElm = dom.clone(wrapElm, FALSE), node.parentNode.insertBefore(currentWrapElm, node), newWrappers.push(currentWrapElm)), currentWrapElm.appendChild(node))); }); }), !0 !== format.links && !1 !== format.wrap_links || each(newWrappers, function(node) { !function process(node) { "A" === node.nodeName && setElementFormat(node, format), each(tinymce.grep(node.childNodes), process); }(node); }), each(newWrappers, function(node) { var childCount; if (childCount = function(node) { var count = 0; return each(node.childNodes, function(node) { isWhiteSpaceNode(node) || isBookmarkNode(node) || count++; }), count; }(node), (1 < newWrappers.length || !isBlock(node)) && 0 === childCount) dom.remove(node, 1); else if (1 < childCount && isEq(node.firstChild.nodeName, "BR") && dom.remove(node.firstChild), format.inline || format.wrapper) { if (format.exact || 1 !== childCount || (node = function(node) { var clone, child = function(root) { var child = !1; return each(root.childNodes, function(node) { if (function(node) { return !(1 != node.nodeType || isBookmarkNode(node) || isWhiteSpaceNode(node) || isCaretNode(node) || isBogusBr(node)); }(node)) return child = node, !1; }), child; }(node); return child && !isBookmarkNode(child) && matchName(child, format) && (setElementFormat(clone = dom.clone(child, FALSE)), dom.replace(clone, node, TRUE), dom.remove(child, 1)), clone || node; }(node)), each(formatList, function(format) { each(dom.select(format.inline, node), function(child) { isBookmarkNode(child) || removeFormat(format, vars, child, format.exact ? child : null); }); }), matchNode(node.parentNode, name, vars)) return dom.remove(node, 1), node = 0, TRUE; format.merge_with_parents && dom.getParent(node.parentNode, function(parent) { if (matchNode(parent, name, vars)) return dom.remove(node, 1), node = 0, TRUE; }), node && !1 !== format.merge_siblings && (node = mergeSiblings(getNonWhiteSpaceSibling(node), node), node = mergeSiblings(node, getNonWhiteSpaceSibling(node, TRUE))); } }); } if ("false" === getContentEditable(selection.getNode())) { node = selection.getNode(); for (var i = 0, l = formatList.length; i < l; i++) if (formatList[i].ceFalseOverride && formatList[i].selector && dom.is(node, formatList[i].selector)) return setElementFormat(node, formatList[i]), !0; } else format && (node && node.parentNode ? node.nodeType ? applyNodeStyle(formatList, node) || ((rng = dom.createRng()).setStartBefore(node), rng.setEndAfter(node), applyRngStyle(expandRng(rng, formatList), 0, !0)) : applyRngStyle(node, 0, !0) : isCollapsed && format.inline && !dom.select("td.mceSelected,th.mceSelected,div.mceSelected").length ? performCaretAction("apply", name, vars) : (rng = selection.getNode(), forcedRootBlock || !formatList[0].defaultBlock || dom.getParent(rng, dom.isBlock) || apply(formatList[0].defaultBlock), selection.setRng(function() { var rng = selection.getRng(), start = rng.startContainer, end = rng.endContainer; return start != end && 0 === rng.endOffset && (end = (3 == (start = function(start, end) { var walker = new TreeWalker(end); for (node = walker.prev2(); node; node = walker.prev2()) { if (3 == node.nodeType && 0 < node.data.length) return node; if (1 < node.childNodes.length || node == start || "BR" == node.tagName) return node; } }(start, end)).nodeType ? start.data : start.childNodes).length, rng.setEnd(start, end)), rng; }()), bookmark = selection.getBookmark(), applyRngStyle(expandRng(selection.getRng(TRUE), formatList)), format.styles && (format.styles.color || format.styles.textDecoration) && (tinymce.walk(rng, processUnderlineAndColor, "childNodes"), processUnderlineAndColor(rng)), selection.moveToBookmark(bookmark), moveStart(selection.getRng(TRUE)), ed.nodeChanged())); } function remove(name, vars, node, similar) { var rng, formatList = get(name), format = formatList[0], contentEditable = !0; function splitToFormatRoot(container) { return function(formatRoot, container, target) { var parent, clone, lastClone, firstClone, i, formatRootParent; if (formatRoot) { for (formatRootParent = formatRoot.parentNode, parent = container.parentNode; parent && parent != formatRootParent; parent = parent.parentNode) { for (clone = dom.clone(parent, FALSE), i = 0; i < formatList.length; i++) if (removeFormat(formatList[i], vars, clone, clone)) { clone = 0; break; } clone && (lastClone && clone.appendChild(lastClone), firstClone = firstClone || clone, lastClone = clone); } format.mixed && isBlock(formatRoot) || (container = dom.split(formatRoot, container)), lastClone && (target.parentNode.insertBefore(lastClone, target), firstClone.appendChild(target)); } return container; }(function(container) { var formatRoot; return each(getParents(container.parentNode).reverse(), function(parent) { var format; formatRoot || "_start" == parent.id || "_end" == parent.id || (format = matchNode(parent, name, vars, similar)) && !1 !== format.split && (formatRoot = parent); }), formatRoot; }(container), container, container); } function unwrap(start) { var node = dom.get(start ? "_start" : "_end"), out = node[start ? "firstChild" : "lastChild"]; return 3 == (out = isBookmarkNode(out) ? out[start ? "firstChild" : "lastChild"] : out).nodeType && 0 === out.data.length && (out = start ? node.previousSibling || node.nextSibling : node.nextSibling || node.previousSibling), dom.remove(node, !0), out; } function removeRngStyle(rng) { var startContainer, endContainer, commonAncestorContainer = rng.commonAncestorContainer; rng = expandRng(rng, formatList, TRUE), format.split && ((startContainer = getContainer(rng, TRUE)) != (endContainer = getContainer(rng)) ? (commonAncestorContainer && /^T(HEAD|BODY|FOOT|R)$/.test(commonAncestorContainer.nodeName) && /^(TH|TD)$/.test(endContainer.nodeName) && endContainer.firstChild && (endContainer = endContainer.firstChild || endContainer), !dom.isChildOf(startContainer, endContainer) || isBlock(endContainer) || isTableCell(startContainer) || isTableCell(endContainer) ? (startContainer = wrap(startContainer, "span", { id: "_start", "data-mce-type": "bookmark" }), endContainer = wrap(endContainer, "span", { id: "_end", "data-mce-type": "bookmark" }), splitToFormatRoot(startContainer), splitToFormatRoot(endContainer), startContainer = unwrap(TRUE), endContainer = unwrap()) : (splitToFormatRoot(startContainer = wrap(startContainer, "span", { id: "_start", "data-mce-type": "bookmark" })), startContainer = unwrap(TRUE))) : startContainer = endContainer = splitToFormatRoot(startContainer), rng.startContainer = startContainer.parentNode || startContainer, rng.startOffset = nodeIndex(startContainer), rng.endContainer = endContainer.parentNode || endContainer, rng.endOffset = nodeIndex(endContainer) + 1), rangeUtils.walk(rng, function(nodes) { each(nodes, function(node) { (function process(node) { var children, i, l; if (1 === node.nodeType && getContentEditable(node) && (contentEditable = "true" === getContentEditable(node)), children = tinymce.grep(node.childNodes), contentEditable || format.ceFalseOverride || function(node) { return getParents(node, "FIGURE") && "FIGURE" != node.nodeName; }(node)) for (i = 0, l = formatList.length; i < l && !removeFormat(formatList[i], vars, node, node); i++); if (format.deep && children.length) for (i = 0, l = children.length; i < l; i++) process(children[i]); })(node), 1 === node.nodeType && "underline" === ed.dom.getStyle(node, "text-decoration") && node.parentNode && "underline" === getTextDecoration(node.parentNode) && removeFormat({ deep: !1, exact: !0, inline: "span", styles: { textDecoration: "underline" } }, null, node); }); }); } if (node) node.nodeType ? ((rng = dom.createRng()).setStartBefore(node), rng.setEndAfter(node), removeRngStyle(rng)) : removeRngStyle(node); else if ("false" === getContentEditable(selection.getNode())) { node = selection.getNode(); for (var i = 0, l = formatList.length; i < l && (!formatList[i].ceFalseOverride || !removeFormat(formatList[i], vars, node, node)); i++); } else selection.isCollapsed() && format.inline && !dom.select("td.mceSelected,th.mceSelected,div.mceSelected").length ? performCaretAction("remove", name, vars, similar) : (rng = selection.getBookmark(), removeRngStyle(selection.getRng(TRUE)), selection.moveToBookmark(rng), format.inline && match(name, vars, selection.getStart()) && moveStart(selection.getRng(!0)), ed.nodeChanged()); } function matchNode(node, name, vars, similar) { var format, i, classes, formatList = get(name); function matchItems(node, format, item_name) { var key, value, i, items = format[item_name]; if (format.onmatch) return format.onmatch(node, format, item_name); if (items) if (items.length === undef) { for (key in items) if (items.hasOwnProperty(key)) { if (value = "attributes" === item_name ? dom.getAttrib(node, key) : getStyle(node, key), similar && !value && !format.exact) return; if ((!similar || format.exact) && !isEq(value, normalizeStyleValue(replaceVars(items[key], vars), key))) return; } } else for (i = 0; i < items.length; i++) if ("attributes" === item_name ? dom.getAttrib(node, items[i]) : getStyle(node, items[i])) return format; return format; } if (formatList && node) for (i = 0; i < formatList.length; i++) if (matchName(node, format = formatList[i]) && matchItems(node, format, "attributes") && matchItems(node, format, "styles")) { if (classes = format.classes) for (i = 0; i < classes.length; i++) if (!dom.hasClass(node, classes[i])) return; return format; } } function match(name, vars, node) { var startNode; function matchParents(node) { var root = dom.getRoot(); return node !== root && (node = dom.getParent(node, function(node) { return !!matchesUnInheritedFormatSelector(node, name) || node.parentNode === root || !!matchNode(node, name, vars, !0); }), matchNode(node, name, vars)); } return node ? matchParents(node) : matchParents(node = selection.getNode()) || (startNode = selection.getStart()) != node && matchParents(startNode) ? TRUE : FALSE; } tinymce.extend(this, { get: get, register: register, unregister: function(name) { return name && formats[name] && delete formats[name], formats; }, apply: apply, remove: remove, toggle: function(name, vars, node) { var fmt = get(name); (!match(name, vars, node) || "toggle" in fmt[0] && !fmt[0].toggle ? apply : remove)(name, vars, node); }, match: match, matchAll: function(names, vars) { var matchedFormatNames = [], checkedMap = {}, startElement = selection.getStart(); return dom.getParent(startElement, function(node) { for (var name, i = 0; i < names.length; i++) name = names[i], !checkedMap[name] && matchNode(node, name, vars) && (checkedMap[name] = !0, matchedFormatNames.push(name)); }, dom.getRoot()), matchedFormatNames; }, matchNode: matchNode, canApply: function(name) { var parents, i, x, selector, formatList = get(name); if (formatList) for (parents = getParents(selection.getStart()), x = formatList.length - 1; 0 <= x; x--) { if (!(selector = formatList[x].selector) || formatList[x].defaultBlock) return TRUE; for (i = parents.length - 1; 0 <= i; i--) if (dom.is(parents[i], selector)) return TRUE; } return FALSE; }, formatChanged: function(formats, callback, similar) { var currentFormats; return formatChangeData || (formatChangeData = {}, currentFormats = {}, ed.onNodeChange.addToTop(function(ed, cm, node) { var parents = getParents(node), matchedFormats = {}, parents = tinymce.grep(parents, function(node) { return 1 == node.nodeType && !node.getAttribute("data-mce-bogus"); }); each(formatChangeData, function(callbacks, format) { each(parents, function(node) { return matchNode(node, format, {}, callbacks.similar) ? (currentFormats[format] || (each(callbacks, function(callback) { callback(!0, { node: node, format: format, parents: parents }); }), currentFormats[format] = callbacks), matchedFormats[format] = callbacks, !1) : !matchesUnInheritedFormatSelector(node, format) && void 0; }); }), each(currentFormats, function(callbacks, format) { matchedFormats[format] || (delete currentFormats[format], each(callbacks, function(callback) { callback(!1, { node: node, format: format, parents: parents }); })); }); })), each(formats.split(","), function(format) { formatChangeData[format] || (formatChangeData[format] = [], formatChangeData[format].similar = similar), formatChangeData[format].push(callback); }), this; } }), register({ valigntop: [ { selector: "td,th", styles: { verticalAlign: "top" } } ], valignmiddle: [ { selector: "td,th", styles: { verticalAlign: "middle" } } ], valignbottom: [ { selector: "td,th", styles: { verticalAlign: "bottom" } } ], alignleft: [ { selector: "figure,figcaption,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", styles: { textAlign: "left" }, defaultBlock: "div", inherit: !1 }, { selector: "figure[data-mce-image]", collapsed: !1, ceFalseOverride: !0, styles: { float: "left" } }, { selector: "img,table", collapsed: !1, styles: { float: "left" } } ], aligncenter: [ { selector: "figure,figcaption,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", styles: { textAlign: "center" }, defaultBlock: "div", inherit: !1 }, { selector: "figure[data-mce-image]", collapsed: !1, ceFalseOverride: !0, styles: { marginLeft: "auto", marginRight: "auto", display: "table" } }, { selector: "img", collapsed: !1, styles: { display: "block", marginLeft: "auto", marginRight: "auto" } }, { selector: "table", collapsed: !1, styles: { marginLeft: "auto", marginRight: "auto" } } ], alignright: [ { selector: "figure,figcaption,p,h1,h2,h3,h4,h5,h6,td,th,tr,div,ul,ol,li", styles: { textAlign: "right" }, defaultBlock: "div", inherit: !1 }, { selector: "figure[data-mce-image]", collapsed: !1, ceFalseOverride: !0, styles: { float: "right" } }, { selector: "img,table", collapsed: !1, styles: { float: "right" } } ], alignfull: [ { selector: "figure,figcaption,p,h1,h2,h3,h4,h5,h6,td,th,div,ul,ol,li", styles: { textAlign: "justify" }, defaultBlock: "div", inherit: !1 } ], bold: [ { inline: "strong", remove: "all" }, { inline: "span", styles: { fontWeight: "bold" } }, { inline: "b", remove: "all" } ], italic: [ { inline: "em", remove: "all" }, { inline: "span", styles: { fontStyle: "italic" } }, { inline: "i", remove: "all" } ], underline: [ { inline: "span", styles: { textDecoration: "underline" }, exact: !0 }, { inline: "u", remove: "all" } ], strikethrough: [ { inline: "span", styles: { textDecoration: "line-through" }, exact: !0 }, { inline: "strike", remove: "all" } ], forecolor: { inline: "span", styles: { color: "%value" }, links: !0, remove_similar: !0 }, hilitecolor: { inline: "span", styles: { backgroundColor: "%value" }, links: !0, remove_similar: !0 }, fontname: { inline: "span", styles: { fontFamily: "%value" } }, fontsize: { inline: "span", styles: { fontSize: "%value" } }, fontsize_class: { inline: "span", attributes: { class: "%value" } }, blockquote: { block: "blockquote", wrapper: !0, remove: "all" }, subscript: { inline: "sub" }, superscript: { inline: "sup" }, code: { inline: "code" }, link: { inline: "a", selector: "a", remove: "all", split: !0, deep: !0, onmatch: function() { return !0; }, onformat: function(elm, fmt, vars) { each(vars, function(value, key) { dom.setAttrib(elm, key, value); }); } }, removeformat: [ { selector: "b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,del,ins", remove: "all", split: !0, expand: !1, block_expand: !0, deep: !0 }, { selector: "span", attributes: [ "style", "class" ], remove: "empty", split: !0, expand: !1, deep: !0 }, { selector: "*", attributes: [ "style", "class" ], split: !1, expand: !1, deep: !0 } ] }), each("p h1 h2 h3 h4 h5 h6 div address pre div code samp dt dd dl".split(/\s/), function(name) { register(name, { block: name, remove: "all" }); }), register(ed.settings.formats), ed.addShortcut("meta+b", "bold_desc", "Bold"), ed.addShortcut("meta+i", "italic_desc", "Italic"), ed.addShortcut("meta+u", "underline_desc", "Underline"); for (var i = 1; i <= 6; i++) ed.addShortcut("access+" + i, "", [ "FormatBlock", !1, "h" + i ]); function matchName(node, format) { return isEq(node, format.inline) || isEq(node, format.block) ? TRUE : format.selector && 1 == node.nodeType && dom.is(node, format.selector); } function isEq(str1, str2) { return str1 = "" + ((str1 = str1 || "").nodeName || str1), str2 = "" + ((str2 = str2 || "").nodeName || str2), str1.toLowerCase() == str2.toLowerCase(); } function getStyle(node, name) { return normalizeStyleValue(dom.getStyle(node, name), name); } function normalizeStyleValue(value, name) { return "color" != name && "backgroundColor" != name || (value = dom.toHex(value)), "fontWeight" == name && 700 == value && (value = "bold"), "" + ("fontFamily" == name ? value.replace(/[\'\"]/g, "").replace(/,\s+/g, ",") : value); } function replaceVars(value, vars) { return "string" != typeof value ? value = value(vars) : vars && (value = value.replace(/%(\w+)/g, function(str, name) { return vars[name] || str; })), value; } function isWhiteSpaceNode(node) { return node && 3 === node.nodeType && /^([\t \r\n]+|)$/.test(node.nodeValue); } function wrap(node, name, attrs) { return name = dom.create(name, attrs), node.parentNode.insertBefore(name, node), name.appendChild(node), name; } function expandRng(rng, format, remove) { var leaf, lastIdx, startContainer = rng.startContainer, startOffset = rng.startOffset, endContainer = rng.endContainer, endOffset = rng.endOffset; function findParentContainer(start) { var parent, sibling, container = parent = start ? startContainer : endContainer, siblingName = start ? "previousSibling" : "nextSibling", root = dom.getRoot(); if (3 != container.nodeType || isWhiteSpaceNode(container) || !(start ? 0 < startOffset : endOffset < container.nodeValue.length)) for (;;) { if (!format[0].block_expand && isBlock(parent)) return parent; for (sibling = parent[siblingName]; sibling; sibling = sibling[siblingName]) if (!(isBookmarkNode(sibling) || isWhiteSpaceNode(sibling) || isBogusBr(sibling) || isCaretNode(sibling))) return parent; if (parent == root || parent.parentNode == root) { container = parent; break; } parent = parent.parentNode; } return container; } function findLeaf(node, offset) { for (offset === undef && (offset = (3 === node.nodeType ? node : node.childNodes).length); node && node.hasChildNodes(); ) (node = node.childNodes[offset]) && (offset = (3 === node.nodeType ? node : node.childNodes).length); return { node: node, offset: offset }; } function findParentContentEditable(node) { for (var parent = node; parent; ) { if (1 === parent.nodeType && getContentEditable(parent)) return "false" === getContentEditable(parent) ? parent : node; parent = parent.parentNode; } return node; } function findWordEndPoint(container, offset, start) { var walker, node, pos, lastTextNode; function findSpace(node, offset) { var pos, pos2, node = node.nodeValue; return void 0 === offset && (offset = start ? node.length : 0), start ? (pos = node.lastIndexOf(" ", offset), -1 === (pos = (pos2 = node.lastIndexOf("\xa0", offset)) < pos ? pos : pos2) || remove || pos++) : (pos = node.indexOf(" ", offset), pos2 = node.indexOf("\xa0", offset), pos = -1 !== pos && (-1 === pos2 || pos < pos2) ? pos : pos2), pos; } if (3 === container.nodeType) { if (-1 !== (pos = findSpace(container, offset))) return { container: container, offset: pos }; lastTextNode = container; } for (walker = new TreeWalker(container, dom.getParent(container, isBlock) || ed.getBody()); node = walker[start ? "prev" : "next"](); ) if (3 === node.nodeType) { if (-1 !== (pos = findSpace(lastTextNode = node))) return { container: node, offset: pos }; } else if (isBlock(node)) break; if (lastTextNode) return { container: lastTextNode, offset: offset = start ? 0 : lastTextNode.length }; } function findSelectorEndPoint(container, sibling_name) { for (var y, curFormat, parents = getParents(container = 3 == container.nodeType && 0 === container.nodeValue.length && container[sibling_name] ? container[sibling_name] : container), i = 0; i < parents.length; i++) for (y = 0; y < format.length; y++) if (!("collapsed" in (curFormat = format[y]) && curFormat.collapsed !== rng.collapsed) && dom.is(parents[i], curFormat.selector)) return parents[i]; return container; } function findBlockEndPoint(container, sibling_name) { var node, root = dom.getRoot(); if (!(node = (node = (node = format[0].wrapper ? node : dom.getParent(container, format[0].block, root)) || dom.getParent(3 == container.nodeType ? container.parentNode : container, function(node) { return node != root && isTextBlock(node); })) && format[0].wrapper && getParents(node, "ul,ol,dl").reverse()[0] || node)) for (node = container; node[sibling_name] && !isBlock(node[sibling_name]) && !isEq(node = node[sibling_name], "br"); ); return node || container; } if (1 == startContainer.nodeType && startContainer.hasChildNodes() && (lastIdx = startContainer.childNodes.length - 1, startContainer = startContainer.childNodes[lastIdx < startOffset ? lastIdx : startOffset]) && 3 == startContainer.nodeType && (startOffset = 0), 1 == endContainer.nodeType && endContainer.hasChildNodes() && (lastIdx = endContainer.childNodes.length - 1, endContainer = endContainer.childNodes[lastIdx < endOffset ? lastIdx : endOffset - 1]) && 3 == endContainer.nodeType && (endOffset = endContainer.nodeValue.length), startContainer = findParentContentEditable(startContainer), endContainer = findParentContentEditable(endContainer), (isBookmarkNode(startContainer.parentNode) || isBookmarkNode(startContainer)) && 3 == (startContainer = (startContainer = isBookmarkNode(startContainer) ? startContainer : startContainer.parentNode).nextSibling || startContainer).nodeType && (startOffset = 0), (isBookmarkNode(endContainer.parentNode) || isBookmarkNode(endContainer)) && 3 == (endContainer = (endContainer = isBookmarkNode(endContainer) ? endContainer : endContainer.parentNode).previousSibling || endContainer).nodeType && (endOffset = endContainer.length), format[0].inline && (rng.collapsed && ((lastIdx = findWordEndPoint(startContainer, startOffset, !0)) && (startContainer = lastIdx.container, startOffset = lastIdx.offset), lastIdx = findWordEndPoint(endContainer, endOffset)) && (endContainer = lastIdx.container, endOffset = lastIdx.offset), (leaf = findLeaf(endContainer, endOffset)).node)) { for (;leaf.node && 0 === leaf.offset && leaf.node.previousSibling; ) leaf = findLeaf(leaf.node.previousSibling); leaf.node && 0 < leaf.offset && 3 === leaf.node.nodeType && " " === leaf.node.nodeValue.charAt(leaf.offset - 1) && 1 < leaf.offset && (endContainer = leaf.node).splitText(leaf.offset - 1); } return (format[0].inline || format[0].block_expand) && (format[0].inline && 3 == startContainer.nodeType && 0 !== startOffset || isBlock(startContainer) || (startContainer = findParentContainer(!0)), format[0].inline && 3 == endContainer.nodeType && endOffset !== endContainer.nodeValue.length || isBlock(endContainer) || (endContainer = findParentContainer())), format[0].selector && format[0].expand !== FALSE && !format[0].inline && (startContainer = findSelectorEndPoint(startContainer, "previousSibling"), endContainer = findSelectorEndPoint(endContainer, "nextSibling")), (format[0].block || format[0].selector) && (startContainer = findBlockEndPoint(startContainer, "previousSibling"), endContainer = findBlockEndPoint(endContainer, "nextSibling"), format[0].block) && (isBlock(startContainer) || (startContainer = findParentContainer(!0)), isBlock(endContainer) || (endContainer = findParentContainer())), 1 == startContainer.nodeType && (startOffset = nodeIndex(startContainer), startContainer = startContainer.parentNode), 1 == endContainer.nodeType && (endOffset = nodeIndex(endContainer) + 1, endContainer = endContainer.parentNode), { startContainer: startContainer, startOffset: startOffset, endContainer: endContainer, endOffset: endOffset }; } function removeFormat(format, vars, node, compare_node) { var i, attrs, stylesModified; if (!matchName(node, format) && !function(node, format) { return format.links && "A" == node.tagName; }(node, format)) return FALSE; if (format.onremove && format.onremove(node, format, vars, node), "all" != format.remove) for (each(format.styles, function(value, name) { value = normalizeStyleValue(replaceVars(value, vars), name), "number" == typeof name && (name = value, compare_node = 0), !format.remove_similar && compare_node && !isEq(getStyle(compare_node, name), value) || dom.setStyle(node, name, ""), stylesModified = 1; }), stylesModified && "" === dom.getAttrib(node, "style") && (node.removeAttribute("style"), node.removeAttribute("data-mce-style")), each(format.attributes, function(value, name) { var valueOut; value = replaceVars(value, vars), "number" == typeof name && (name = value, compare_node = 0), compare_node && !isEq(dom.getAttrib(compare_node, name), value) || ("class" == name && (value = dom.getAttrib(node, name)) && (valueOut = "", each(value.split(/\s+/), function(cls) { /mce\w+/.test(cls) && (valueOut += (valueOut ? " " : "") + cls); }), valueOut) ? dom.setAttrib(node, name, valueOut) : ("class" == name && node.removeAttribute("className"), MCE_ATTR_RE.test(name) && node.removeAttribute("data-mce-" + name), node.removeAttribute(name))); }), each(format.classes, function(value) { value = replaceVars(value, vars), compare_node && !dom.hasClass(compare_node, value) || dom.removeClass(node, value); }), attrs = dom.getAttribs(node), i = 0; i < attrs.length; i++) { var attrName = attrs[i].nodeName; if (0 !== attrName.indexOf("_") && 0 !== attrName.indexOf("data-")) return FALSE; } return "none" != format.remove && (function(node, format) { var rootBlockElm, parentNode = node.parentNode; function find(node, next, inc) { return !(node = getNonWhiteSpaceSibling(node, next, inc)) || "BR" == node.nodeName || isBlock(node); } format.block && (forcedRootBlock ? parentNode != dom.getRoot() || format.list_block && isEq(node, format.list_block) || each(tinymce.grep(node.childNodes), function(node) { isValidChild(forcedRootBlock, node.nodeName.toLowerCase()) ? rootBlockElm ? rootBlockElm.appendChild(node) : (rootBlockElm = wrap(node, forcedRootBlock), dom.setAttribs(rootBlockElm, ed.settings.forced_root_block_attrs)) : rootBlockElm = 0; }) : isBlock(node) && !isBlock(parentNode) && (find(node, FALSE) || find(node.firstChild, TRUE, 1) || node.insertBefore(dom.create("br"), node.firstChild), find(node, TRUE) || find(node.lastChild, FALSE, 1) || node.appendChild(dom.create("br")))), format.selector && format.inline && !isEq(format.inline, node) || dom.remove(node, 1); }(node, format), TRUE); } function getNonWhiteSpaceSibling(node, next, inc) { if (node) for (next = next ? "nextSibling" : "previousSibling", node = inc ? node : node[next]; node; node = node[next]) if (1 == node.nodeType || !isWhiteSpaceNode(node)) return node; } function isBookmarkNode(node) { return node && 1 == node.nodeType && "bookmark" == node.getAttribute("data-mce-type"); } function mergeSiblings(prev, next) { var sibling, tmpSibling, node1, node2; function findElementSibling(node, sibling_name) { for (sibling = node; sibling; sibling = sibling[sibling_name]) { if (3 == sibling.nodeType && 0 !== sibling.nodeValue.length) return node; if (1 == sibling.nodeType && !isBookmarkNode(sibling)) return sibling; } return node; } if (prev && next && (prev = findElementSibling(prev, "previousSibling"), node2 = next = findElementSibling(next, "nextSibling"), (node1 = prev).nodeName == node2.nodeName && compareObjects(getAttribs(node1), getAttribs(node2)) && compareObjects(dom.parseStyle(dom.getAttrib(node1, "style")), dom.parseStyle(dom.getAttrib(node2, "style"))) ? TRUE : FALSE)) { for (sibling = prev.nextSibling; sibling && sibling != next; ) sibling = (tmpSibling = sibling).nextSibling, prev.appendChild(tmpSibling); return dom.remove(next), each(tinymce.grep(next.childNodes), function(node) { prev.appendChild(node); }), prev; } function getAttribs(node) { var attribs = {}; return each(dom.getAttribs(node), function(attr) { 0 !== (attr = attr.nodeName.toLowerCase()).indexOf("_") && "style" !== attr && (attribs[attr] = dom.getAttrib(node, attr)); }), attribs; } function compareObjects(obj1, obj2) { var value, name; for (name in obj1) if (obj1.hasOwnProperty(name)) { if ((value = obj2[name]) === undef) return FALSE; if (obj1[name] != value) return FALSE; delete obj2[name]; } for (name in obj2) if (obj2.hasOwnProperty(name)) return FALSE; return TRUE; } return next; } function getContainer(rng, start) { var lastIdx, container = rng[start ? "startContainer" : "endContainer"], rng = rng[start ? "startOffset" : "endOffset"]; return 1 == container.nodeType && (lastIdx = container.childNodes.length - 1, !start && rng && rng--, container = container.childNodes[lastIdx < rng ? lastIdx : rng]), 3 === (container = 3 === container.nodeType && start && rng >= container.nodeValue.length && new TreeWalker(container, ed.getBody()).next() || container).nodeType && !start && 0 === rng && new TreeWalker(container, ed.getBody()).prev() || container; } function performCaretAction(type, name, vars, similar) { var textNode, offset, text, caretContainer, debug = ed.settings.caret_debug; function createCaretContainer(fill) { var caretContainer = dom.create("span", { id: "_mce_caret", "data-mce-bogus": !0, style: debug ? "color:red" : "" }); return fill && caretContainer.appendChild(ed.getDoc().createTextNode(INVISIBLE_CHAR)), caretContainer; } function isCaretContainerEmpty(node, nodes) { for (;node; ) { if (3 === node.nodeType && node.nodeValue !== INVISIBLE_CHAR || 1 < node.childNodes.length) return; nodes && 1 === node.nodeType && nodes.push(node), node = node.firstChild; } return 1; } function getParentCaretContainer(node) { for (;node; ) { if ("_mce_caret" === node.id) return node; node = node.parentNode; } } function findFirstTextNode(node) { var walker; if (node) for (node = (walker = new TreeWalker(node, node)).current(); node; node = walker.next()) if (3 === node.nodeType) return node; } function removeCaretContainer(node, move_caret) { var rng; if (node) rng = selection.getRng(!0), isCaretContainerEmpty(node) ? (!1 !== move_caret && (rng.setStartBefore(node), rng.setEndBefore(node)), dom.remove(node)) : ((move_caret = findFirstTextNode(node)).nodeValue.charAt(0) === INVISIBLE_CHAR && (move_caret.deleteData(0, 1), rng.startContainer == move_caret && 0 < rng.startOffset && rng.setStart(move_caret, rng.startOffset - 1), rng.endContainer == move_caret) && 0 < rng.endOffset && rng.setEnd(move_caret, rng.endOffset - 1), dom.remove(node, 1)), selection.setRng(rng); else if (!(node = getParentCaretContainer(selection.getStart()))) for (;node = dom.get("_mce_caret"); ) removeCaretContainer(node, !1); } function unmarkBogusCaretParents() { var caretContainer = getParentCaretContainer(selection.getStart()); caretContainer && !dom.isEmpty(caretContainer) && tinymce.walk(caretContainer, function(node) { 1 != node.nodeType || "_mce_caret" === node.id || dom.isEmpty(node) || dom.setAttrib(node, "data-mce-bogus", null); }, "childNodes"); } ed._hasCaretEvents || (ed.onBeforeGetContent.addToTop(function() { var i, nodes = []; if (isCaretContainerEmpty(getParentCaretContainer(selection.getStart()), nodes)) for (i = nodes.length; i--; ) dom.setAttrib(nodes[i], "data-mce-bogus", "1"); }), tinymce.each("onMouseUp onKeyUp".split(" "), function(name) { ed[name].addToTop(function() { removeCaretContainer(), unmarkBogusCaretParents(); }); }), ed.onKeyDown.addToTop(function(ed, e) { (8 == (e = e.keyCode) && selection.isCollapsed() || 37 == e || 39 == e) && removeCaretContainer(getParentCaretContainer(selection.getStart())), unmarkBogusCaretParents(); }), selection.onSetContent.add(unmarkBogusCaretParents), ed._hasCaretEvents = !0), "apply" == type ? (offset = (type = selection.getRng(!0)).startOffset, text = type.startContainer.nodeValue, (caretContainer = getParentCaretContainer(selection.getStart())) && (textNode = findFirstTextNode(caretContainer)), text && 0 < offset && offset < text.length && /\w/.test(text.charAt(offset)) && /\w/.test(text.charAt(offset - 1)) ? (text = selection.getBookmark(), type.collapse(!0), type = expandRng(type, get(name)), type = rangeUtils.split(type), apply(name, vars, type), selection.moveToBookmark(text)) : (caretContainer && textNode.nodeValue === INVISIBLE_CHAR || (textNode = (caretContainer = createCaretContainer(!0)).firstChild, type.insertNode(caretContainer), offset = 1), apply(name, vars, caretContainer), selection.setCursorLocation(textNode, offset))) : function() { var hasContentAfter, formatNode, i, parents = [], container = (rng = selection.getRng(!0)).startContainer, offset = rng.startOffset; for (3 == (node = container).nodeType && (offset != container.nodeValue.length && (hasContentAfter = !0), node = node.parentNode); node; ) { if (matchNode(node, name, vars, similar)) { formatNode = node; break; } node.nextSibling && (hasContentAfter = !0), parents.push(node), node = node.parentNode; } if (formatNode) if (hasContentAfter) offset = selection.getBookmark(), rng.collapse(!0), rng = expandRng(rng, get(name), !0), rng = rangeUtils.split(rng), remove(name, vars, rng), selection.moveToBookmark(offset); else { for (node = container = createCaretContainer(), i = parents.length - 1; 0 <= i; i--) node.appendChild(dom.clone(parents[i], !1)), node = node.firstChild; node.appendChild(dom.doc.createTextNode(INVISIBLE_CHAR)); var rng, node = node.firstChild; (rng = dom.getParent(formatNode, isTextBlock)) && dom.isEmpty(rng) ? formatNode.parentNode.replaceChild(container, formatNode) : dom.insertAfter(container, formatNode), selection.setCursorLocation(node, 1), dom.isEmpty(formatNode) && dom.remove(formatNode); } }(); } function moveStart(rng) { var isAtEndOfText, walker, node, nodes, container = rng.startContainer, offset = rng.startOffset; if ((rng.startContainer != rng.endContainer || !function(node) { return node && /^(IMG)$/.test(node.nodeName); }(rng.startContainer.childNodes[rng.startOffset])) && (3 == container.nodeType && offset >= container.nodeValue.length && (offset = nodeIndex(container), container = container.parentNode, isAtEndOfText = !0), 1 == container.nodeType)) for (container = (nodes = container.childNodes)[Math.min(offset, nodes.length - 1)], walker = new TreeWalker(container, dom.getParent(container, dom.isBlock)), (offset > nodes.length - 1 || isAtEndOfText) && walker.next(), node = walker.current(); node; node = walker.next()) if (3 == node.nodeType && !isWhiteSpaceNode(node)) return rng.setStart(node, 0), selection.setRng(rng); } ed.addShortcut("access+7", "", [ "FormatBlock", !1, "p" ]), ed.addShortcut("access+8", "", [ "FormatBlock", !1, "div" ]), ed.addShortcut("access+9", "", [ "FormatBlock", !1, "address" ]); }; }(tinymce), tinymce.onAddEditor.add(function(tinymce, ed) { var filters, fontSizes, dom, settings = ed.settings; function replaceWithSpan(node, styles) { tinymce.each(styles, function(value, name) { value && dom.setStyle(node, name, value); }), dom.rename(node, "span"); } function convert(editor, params) { dom = editor.dom, settings.convert_fonts_to_spans && tinymce.each(dom.select("font,u,strike", params.node), function(node) { filters[node.nodeName.toLowerCase()](ed.dom, node); }); } settings.inline_styles && (fontSizes = tinymce.explode(settings.font_size_legacy_values), filters = { font: function(dom, node) { replaceWithSpan(node, { backgroundColor: node.style.backgroundColor, color: node.color, fontFamily: node.face, fontSize: fontSizes[parseInt(node.size, 10) - 1] }); }, u: function(dom, node) { replaceWithSpan(node, { textDecoration: "underline" }); }, strike: function(dom, node) { replaceWithSpan(node, { textDecoration: "line-through" }); } }, ed.onPreProcess.add(convert), ed.onSetContent.add(convert), ed.onInit.add(function() { ed.selection.onSetContent.add(convert); })); }), function(tinymce) { var TreeWalker = tinymce.dom.TreeWalker, RangeUtils = tinymce.dom.RangeUtils, NodeType = tinymce.dom.NodeType, CaretContainer = tinymce.caret.CaretContainer; tinymce.EnterKey = function(editor) { var dom = editor.dom, selection = editor.selection, settings = editor.settings, undoManager = editor.undoManager, schema = editor.schema, nonEmptyElementsMap = schema.getNonEmptyElements(), moveCaretBeforeOnEnterElementsMap = schema.getMoveCaretBeforeOnEnterElements(); function handleEnterKey(evt) { var tmpRng, editableRoot, container, offset, parentBlock, newBlock, containerBlock, parentBlockName, containerBlockName, newBlockName, isAfterLastNodeInContainer, containerBlockParentName, shiftKey, rng = selection.getRng(!0); function canSplitBlock(node) { return node && dom.isBlock(node) && !/^(TD|TH|CAPTION|FORM)$/.test(node.nodeName) && !/^(fixed|absolute)/i.test(node.style.position) && "true" !== dom.getContentEditable(node) && !node.hasAttribute("data-mce-type"); } function renderBlockOnIE(block) { var oldRng; dom.isBlock(block) && (oldRng = selection.getRng(), block.appendChild(dom.create("span", null, "\xa0")), selection.select(block), block.lastChild.outerHTML = "", selection.setRng(oldRng)); } function moveToCaretPosition(root) { var walker, node, rng, firstChild, lastNode = root; if (root) { if (/^(LI|DT|DD)$/.test(root.nodeName) && (firstChild = function(node) { for (;node; ) { if (1 == node.nodeType || 3 == node.nodeType && node.data && /[\r\n\s]/.test(node.data)) return node; node = node.nextSibling; } }(root.firstChild)) && /^(UL|OL|DL)$/.test(firstChild.nodeName) && root.insertBefore(dom.doc.createTextNode("\xa0"), root.firstChild), rng = dom.createRng(), root.normalize(), root.hasChildNodes()) { for (walker = new TreeWalker(root, root); node = walker.current(); ) { if (3 == node.nodeType) { rng.setStart(node, 0), rng.setEnd(node, 0); break; } if (moveCaretBeforeOnEnterElementsMap[node.nodeName.toLowerCase()]) { rng.setStartBefore(node), rng.setEndBefore(node); break; } lastNode = node, node = walker.next(); } node || (rng.setStart(lastNode, 0), rng.setEnd(lastNode, 0)); } else "BR" == root.nodeName ? root.nextSibling && dom.isBlock(root.nextSibling) ? (rng.setStartBefore(root), rng.setEndBefore(root)) : (rng.setStartAfter(root), rng.setEndAfter(root)) : (rng.setStart(root, 0), rng.setEnd(root, 0)); selection.setRng(rng), dom.remove(void 0), selection.scrollIntoView(root); } } function setForcedBlockAttrs(node) { var forcedRootBlockName = settings.forced_root_block; forcedRootBlockName && forcedRootBlockName.toLowerCase() === node.tagName.toLowerCase() && dom.setAttribs(node, settings.forced_root_block_attrs); } function emptyBlock(elm) { elm.innerHTML = '
    '; } function createNewBlock(name) { var block, clonedNode, caretNode, node = container, textInlineElements = schema.getTextInlineElements(); if (name || "TABLE" == parentBlockName ? setForcedBlockAttrs(block = dom.create(name || newBlockName)) : block = settings.enterkey_keep_attributes ? parentBlock.cloneNode(!1) : dom.create(parentBlock.nodeName), caretNode = block, !0 === settings.enterkey_keep_styles) for (;textInlineElements[node.nodeName] && "_mce_caret" != node.id && (clonedNode = node.cloneNode(!1), dom.setAttrib(clonedNode, "id", ""), block.hasChildNodes() ? clonedNode.appendChild(block.firstChild) : caretNode = clonedNode, block.appendChild(clonedNode)), (node = node.parentNode) && node != editableRoot; ); else dom.setAttrib(block, "style", null), dom.setAttrib(block, "class", null); return caretNode.innerHTML = '
    ', block; } function isCaretAtStartOrEndOfBlock(start) { var walker, node, name; if (3 != container.nodeType || !(start ? 0 < offset : offset < container.nodeValue.length)) { if ((container.parentNode != parentBlock || !isAfterLastNodeInContainer || start) && (!start || 1 != container.nodeType || container != parentBlock.firstChild)) { if ("TABLE" === container.nodeName || container.previousSibling && "TABLE" == container.previousSibling.nodeName) return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start; if (NodeType.isContentEditableFalse(container) || container.previousSibling && NodeType.isContentEditableFalse(container.previousSibling)) return isAfterLastNodeInContainer && !start || !isAfterLastNodeInContainer && start; for (walker = new TreeWalker(container, parentBlock), 3 == container.nodeType && (start && 0 === offset ? walker.prev() : start || offset != container.nodeValue.length || walker.next()); node = walker.current(); ) { if (1 === node.nodeType) { if (!node.getAttribute("data-mce-bogus") && (name = node.nodeName.toLowerCase(), nonEmptyElementsMap[name]) && "br" !== name) return; } else if (3 === node.nodeType && !/^[ \t\r\n]*$/.test(node.nodeValue)) return; start ? walker.prev() : walker.next(); } } return 1; } } function insertBr() { editor.execCommand("InsertLineBreak", !1, evt); } function insertNewBlockAfter() { newBlock = /^(H[1-6]|PRE|FIGURE)$/.test(parentBlockName) && "HGROUP" != containerBlockName ? createNewBlock(newBlockName) : createNewBlock(), settings.end_container_on_empty_block && canSplitBlock(containerBlock) && dom.isEmpty(parentBlock) ? newBlock = dom.split(containerBlock, parentBlock) : dom.insertAfter(newBlock, parentBlock), moveToCaretPosition(newBlock); } if (rng = selection.getRng(!0), !evt.isDefaultPrevented()) if (rng.collapsed) { if (new RangeUtils(dom).normalize(rng), container = rng.startContainer, offset = rng.startOffset, newBlockName = settings.forced_root_block || "p", newBlockName = (newBlockName = !1 === settings.force_block_newlines ? "" : newBlockName) ? newBlockName.toUpperCase() : "", shiftKey = evt.shiftKey, 1 == container.nodeType && container.hasChildNodes() && (isAfterLastNodeInContainer = offset > container.childNodes.length - 1, container = container.childNodes[Math.min(offset, container.childNodes.length - 1)] || container, offset = isAfterLastNodeInContainer && 3 == container.nodeType ? container.nodeValue.length : 0), editableRoot = function(node) { for (var ce, root = dom.getRoot(), parent = node, editableRoot = null; parent && parent !== root && "false" !== (ce = dom.getContentEditable(parent)) && !1 !== ce; ) "true" !== ce && !0 !== ce || (editableRoot = parent), parent = parent.parentNode; return parent && parent !== root && editableRoot || root; }(container)) { if (undoManager.beforeChange(), (newBlockName && !shiftKey || !newBlockName && shiftKey) && (container = function(container, offset) { var newBlock, startNode, node, next, rootBlockName, blockName = newBlockName || "P", parentBlock = dom.getParent(container, dom.isBlock); if (!parentBlock || !canSplitBlock(parentBlock)) { if (rootBlockName = ((parentBlock = parentBlock || editableRoot) == editableRoot || function(node) { return node && /^(TD|TH|CAPTION)$/.test(node.nodeName); }(parentBlock) ? parentBlock : parentBlock.parentNode).nodeName.toLowerCase(), !parentBlock.hasChildNodes()) return setForcedBlockAttrs(newBlock = dom.create(blockName)), parentBlock.appendChild(newBlock), rng.setStart(newBlock, 0), rng.setEnd(newBlock, 0), newBlock; for (node = container; node && node.parentNode != parentBlock; ) node = node.parentNode; for (;node && !dom.isBlock(node); ) node = (startNode = node).previousSibling; if (startNode && schema.isValidChild(rootBlockName, blockName.toLowerCase())) { for (setForcedBlockAttrs(newBlock = dom.create(blockName)), startNode.parentNode.insertBefore(newBlock, startNode), node = startNode; node && !dom.isBlock(node); ) next = node.nextSibling, newBlock.appendChild(node), node = next; rng.setStart(container, offset), rng.setEnd(container, offset); } } return container; }(container, offset)), parentBlock = dom.getParent(container, dom.isBlock), containerBlock = parentBlock ? dom.getParent(parentBlock.parentNode, dom.isBlock) : null, parentBlockName = parentBlock ? parentBlock.nodeName.toUpperCase() : "", "LI" != (containerBlockName = containerBlock ? containerBlock.nodeName.toUpperCase() : "") || evt.ctrlKey || (parentBlock = containerBlock, parentBlockName = containerBlockName), /^(LI|DT|DD)$/.test(parentBlockName)) { if (!newBlockName && shiftKey) return void insertBr(); if (dom.isEmpty(parentBlock)) return void (containerBlock != editor.getBody() && (containerBlockParentName = containerBlock.parentNode.nodeName, /^(OL|UL|LI)$/.test(containerBlockParentName) && (newBlockName = "LI"), newBlock = newBlockName ? createNewBlock(newBlockName) : dom.create("BR"), isFirstOrLastLi(!0) && isFirstOrLastLi() ? "LI" == containerBlockParentName ? dom.insertAfter(newBlock, getContainerBlock()) : dom.replace(newBlock, containerBlock) : isFirstOrLastLi(!0) ? "LI" == containerBlockParentName ? (dom.insertAfter(newBlock, getContainerBlock()), newBlock.appendChild(dom.doc.createTextNode(" ")), newBlock.appendChild(containerBlock)) : containerBlock.parentNode.insertBefore(newBlock, containerBlock) : isFirstOrLastLi() ? (dom.insertAfter(newBlock, getContainerBlock()), renderBlockOnIE(newBlock)) : (containerBlock = getContainerBlock(), (tmpRng = rng.cloneRange()).setStartAfter(parentBlock), tmpRng.setEndAfter(containerBlock), fragment = tmpRng.extractContents(), "LI" == newBlockName && "LI" == fragment.firstChild.nodeName ? (newBlock = fragment.firstChild, dom.insertAfter(fragment, containerBlock)) : (dom.insertAfter(fragment, containerBlock), dom.insertAfter(newBlock, containerBlock))), dom.remove(parentBlock), moveToCaretPosition(newBlock), undoManager.add())); } if ("PRE" == parentBlockName && !1 !== settings.br_in_pre) { if (!shiftKey) return void insertBr(); } else if (!newBlockName && !shiftKey && "LI" != parentBlockName || newBlockName && shiftKey) return void insertBr(); if (!newBlockName || parentBlock !== editor.getBody()) { if (newBlockName = newBlockName || "P", CaretContainer.isCaretContainerBlock(parentBlock)) newBlock = CaretContainer.showCaretContainerBlock(parentBlock), dom.isEmpty(parentBlock) && emptyBlock(parentBlock), moveToCaretPosition(newBlock); else if (isCaretAtStartOrEndOfBlock()) insertNewBlockAfter(); else if (isCaretAtStartOrEndOfBlock(!0)) renderBlockOnIE(newBlock = parentBlock.parentNode.insertBefore(createNewBlock(), parentBlock)), moveToCaretPosition(newBlock); else { (tmpRng = rng.cloneRange()).setEndAfter(parentBlock); for (var fragment, node = fragment = tmpRng.extractContents(); 3 === node.nodeType && (node.nodeValue = node.nodeValue.replace(/^[\r\n]+/, "")), node = node.firstChild; ); newBlock = fragment.firstChild, dom.insertAfter(fragment, parentBlock), function() { var i, node = newBlock, firstChilds = []; if (node) { for (;node = node.firstChild; ) { if (dom.isBlock(node)) return; 1 != node.nodeType || nonEmptyElementsMap[node.nodeName.toLowerCase()] || firstChilds.push(node); } for (i = firstChilds.length; i--; ) (!(node = firstChilds[i]).hasChildNodes() || node.firstChild == node.lastChild && "" === node.firstChild.nodeValue || "A" == node.nodeName && " " === (node.innerText || node.textContent)) && dom.remove(node); } }(), (containerBlockParentName = parentBlock).normalize(), (shiftKey = containerBlockParentName.lastChild) && !/^(left|right)$/gi.test(dom.getStyle(shiftKey, "float", !0)) || dom.add(containerBlockParentName, "br"), dom.isEmpty(parentBlock) && emptyBlock(parentBlock), !newBlock || dom.isEmpty(newBlock) ? (dom.remove(newBlock), insertNewBlockAfter()) : moveToCaretPosition(newBlock), newBlock.normalize(); } dom.setAttrib(newBlock, "id", ""), editor.onNewBlock.dispatch(editor, newBlock), undoManager.typing = !1, undoManager.add(); } } } else editor.execCommand("Delete"); function isFirstOrLastLi(first) { for (var node = containerBlock[first ? "firstChild" : "lastChild"]; node && 1 != node.nodeType; ) node = node[first ? "nextSibling" : "previousSibling"]; return node === parentBlock; } function getContainerBlock() { var containerBlockParent = containerBlock.parentNode; return /^(LI|DT|DD)$/.test(containerBlockParent.nodeName) ? containerBlockParent : containerBlock; } } return editor.onNewBlock = new tinymce.util.Dispatcher(), editor.onKeyDown.add(function(ed, evt) { 13 == evt.keyCode && (handleEnterKey(evt), evt.preventDefault()); }), { handleEnterKey: handleEnterKey }; }; }(tinymce), function(tinymce) { function bindFakeDragEvents(editor) { var state = {}, pageDom = tinymce.DOM, rootDocument = document, dragStartHandler = function(state, editor) { return function(e) { var ceElm, docElm, rootElm, elm; 0 === e.button && (ceElm = Arr.find(editor.dom.getParents(e.target), Fun.or(isContentEditableFalse, isContentEditableTrue)), rootElm = editor.getBody(), isContentEditableFalse(elm = ceElm)) && elm !== rootElm && (elm = editor.dom.getPos(ceElm), rootElm = editor.getBody(), docElm = editor.getDoc().documentElement, state.element = ceElm, state.screenX = e.screenX, state.screenY = e.screenY, state.maxX = (editor.inline ? rootElm.scrollWidth : docElm.offsetWidth) - 2, state.maxY = (editor.inline ? rootElm.scrollHeight : docElm.offsetHeight) - 2, state.relX = e.pageX - elm.x, state.relY = e.pageY - elm.y, state.width = ceElm.offsetWidth, state.height = ceElm.offsetHeight, state.ghost = function(editor, elm, width, height) { var elm = elm.cloneNode(!0), ghostElm = (editor.dom.setStyles(elm, { width: width, height: height }), editor.dom.setAttrib(elm, "data-mce-selected", null), editor.dom.create("div", { class: "mce-drag-container", "data-mce-bogus": "all", unselectable: "on", contenteditable: "false" })); return editor.dom.setStyles(ghostElm, { position: "absolute", opacity: .5, overflow: "hidden", border: 0, padding: 0, margin: 0, width: width, height: height }), editor.dom.setStyles(elm, { margin: 0, boxSizing: "border-box" }), ghostElm.appendChild(elm), ghostElm; }(editor, ceElm, state.width, state.height)); }; }(state, editor), dragHandler = function(state, editor) { var throttledPlaceCaretAt = Delay.throttle(function(clientX, clientY) { editor._selectionOverrides.hideFakeCaret(), editor.selection.placeCaretAt(clientX, clientY); }, 0); return function(e) { var ghostElm, bodyElm, movement = Math.max(Math.abs(e.screenX - state.screenX), Math.abs(e.screenY - state.screenY)); if (state.element && !state.dragging && 10 < movement) { if (editor.dom.fire(editor.getBody(), "dragstart", { target: state.element }).preventDefault(e)) return; state.dragging = !0, editor.focus(); } state.dragging && (movement = function(state, position) { return { pageX: position.pageX - state.relX, pageY: position.pageY + 5 }; }(state, MousePosition.calc(editor, e)), ghostElm = state.ghost, bodyElm = editor.getBody(), ghostElm.parentNode !== bodyElm && bodyElm.appendChild(ghostElm), function(ghostElm, position, width, height, maxX, maxY) { var overflowX = 0, overflowY = 0; ghostElm.style.left = position.pageX + "px", ghostElm.style.top = position.pageY + "px", position.pageX + width > maxX && (overflowX = position.pageX + width - maxX), position.pageY + height > maxY && (overflowY = position.pageY + height - maxY), ghostElm.style.width = width - overflowX + "px", ghostElm.style.height = height - overflowY + "px"; }(state.ghost, movement, state.width, state.height, state.maxX, state.maxY), throttledPlaceCaretAt(e.clientX, e.clientY)); }; }(state, editor), dropHandler = function(state, editor) { return function(e) { var evt, selection; state.dragging && function(editor, targetElement, dragElement) { return targetElement !== dragElement && !editor.dom.isChildOf(targetElement, dragElement) && !isContentEditableFalse(targetElement); }(editor, 3 === (selection = (selection = editor.selection).getSel().getRangeAt(0).startContainer).nodeType ? selection.parentNode : selection, state.element) && ((selection = (selection = state.element).cloneNode(!0)).removeAttribute("data-mce-selected"), selection = selection, (evt = editor.dom.fire(editor.getBody(), "drop", { targetClone: selection, clientX: e.clientX, clientY: e.clientY })).isDefaultPrevented(e) || (selection = evt.args.targetClone, editor.undoManager.add(), removeElement(state.element), editor.insertContent(editor.dom.getOuterHTML(selection)), editor._selectionOverrides.hideFakeCaret())), removeDragState(state); }; }(state, editor), dragEndHandler = function(state, editor) { return function() { removeDragState(state), state.dragging && editor.dom.fire(editor.getBody(), "dragend"); }; }(state, editor); editor.dom.bind(editor.getBody(), "mousedown", dragStartHandler), editor.dom.bind(editor.getBody(), "mousemove", dragHandler), editor.dom.bind(editor.getBody(), "mouseup", dropHandler), pageDom.bind(rootDocument, "mousemove", dragHandler), pageDom.bind(rootDocument, "mouseup", dragEndHandler), editor.dom.bind(editor.getBody(), "remove", function() { pageDom.unbind(rootDocument, "mousemove", dragHandler), pageDom.unbind(rootDocument, "mouseup", dragEndHandler); }); } function removeDragState(state) { state.dragging = !1, state.element = null, removeElement(state.ghost); } var NodeType = tinymce.dom.NodeType, Fun = tinymce.util.Fun, Arr = tinymce.util.Arr, Delay = tinymce.util.Delay, MousePosition = tinymce.dom.MousePosition, isContentEditableFalse = NodeType.isContentEditableFalse, isContentEditableTrue = NodeType.isContentEditableTrue, removeElement = function(elm) { elm && elm.parentNode && elm.parentNode.removeChild(elm); }; tinymce.DragDropOverrides = { init: function(editor) { bindFakeDragEvents(editor), function(editor) { editor.dom.bind(editor.getBody(), "drop", function(e) { var realTarget = void 0 !== e.clientX ? editor.getDoc().elementFromPoint(e.clientX, e.clientY) : null; (isContentEditableFalse(realTarget) || isContentEditableFalse(editor.dom.getContentEditableParent(realTarget))) && e.preventDefault(); }); }(editor); } }; }(tinymce), function(tinymce) { var CaretWalker = tinymce.caret.CaretWalker, CaretPosition = tinymce.caret.CaretPosition, CaretContainer = tinymce.caret.CaretContainer, CaretUtils = tinymce.caret.CaretUtils, CaretContainerRemove = tinymce.caret.CaretContainerRemove, FakeCaret = tinymce.caret.FakeCaret, LineWalker = tinymce.caret.LineWalker, LineUtils = tinymce.caret.LineUtils, ClientRect = tinymce.geom.ClientRect, NodeType = tinymce.dom.NodeType, RangeUtils = tinymce.dom.RangeUtils, VK = tinymce.VK, Fun = tinymce.util.Fun, Arr = tinymce.util.Arr, Dispatcher = tinymce.util.Dispatcher, DragDropOverrides = tinymce.DragDropOverrides, curry = Fun.curry, isContentEditableTrue = NodeType.isContentEditableTrue, isContentEditableFalse = NodeType.isContentEditableFalse, isElement = NodeType.isElement, isAfterContentEditableFalse = CaretUtils.isAfterContentEditableFalse, isBeforeContentEditableFalse = CaretUtils.isBeforeContentEditableFalse, getSelectedNode = RangeUtils.getSelectedNode; function getVisualCaretPosition(walkFn, caretPosition) { for (;caretPosition = walkFn(caretPosition); ) if (caretPosition.isVisible()) return caretPosition; return caretPosition; } function setEditorTimeout(editor, callback, time) { setTimeout(function() { editor.removed || callback(); }, time); } tinymce.SelectionOverrides = function(editor) { editor.onShowCaret = new Dispatcher(), editor.onBeforeObjectSelected = new Dispatcher(), editor.onObjectSelected = new Dispatcher(), editor.onContentEditableSelect = new Dispatcher(); var selectedContentEditableNode, right, left, deleteForward, backspace, up, down, rootNode = editor.getBody(), caretWalker = new CaretWalker(rootNode), getNextVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.next), getPrevVisualCaretPosition = curry(getVisualCaretPosition, caretWalker.prev), fakeCaret = new FakeCaret(editor.getBody(), isBlock), realSelectionId = "sel-" + editor.dom.uniqueId(); function getRealSelectionElement() { var container = editor.dom.get(realSelectionId); return container && container.getElementsByTagName("*")[0]; } function isBlock(node) { return editor.dom.isBlock(node); } function setRange(range) { range && editor.selection.setRng(range); } function getRange() { return editor.selection.getRng(); } function scrollIntoView(node, alignToTop) { editor.selection.scrollIntoView(node, alignToTop); } function showCaret(direction, node, before) { var evt = { target: node, direction: direction, before: before }; return editor.onShowCaret.dispatch(editor, evt), evt.target ? (scrollIntoView(node, -1 === direction), fakeCaret.show(before, node)) : null; } function selectNode(node) { var evt = { target: node }; return editor.onBeforeObjectSelected.dispatch(editor, evt), evt.target ? function(node) { var rng = node.ownerDocument.createRange(); return rng.selectNode(node), rng; }(node) : null; } function getNormalizedRangeEndPoint(direction, range) { return range = CaretUtils.normalizeRange(direction, rootNode, range), -1 == direction ? CaretPosition.fromRangeStart(range) : CaretPosition.fromRangeEnd(range); } function exitPreBlock(direction, range) { var pre; range.collapsed && editor.settings.forced_root_block && (pre = editor.dom.getParent(range.startContainer, "PRE")) && !(1 == direction ? getNextVisualCaretPosition : getPrevVisualCaretPosition)(CaretPosition.fromRangeStart(range)) && ((range = editor.dom.create(editor.settings.forced_root_block)).innerHTML = '
    ', 1 == direction ? editor.dom.insertAfter(range, pre) : editor.dom.insertBefore(range, pre), editor.selection.select(range, !0), editor.selection.collapse()); } function moveH(direction, getNextPosFn, isBeforeContentEditableFalseFn, range) { return (getNextPosFn = function(direction, getNextPosFn, isBeforeContentEditableFalseFn, range) { var caretPosition, node, toCaretPosition; return !range.collapsed && (node = getSelectedNode(range), isContentEditableFalse(node)) ? showCaret(direction, node, -1 == direction) : (node = function(range) { return CaretContainer.isCaretContainerBlock(range.startContainer); }(range), isBeforeContentEditableFalseFn(caretPosition = getNormalizedRangeEndPoint(direction, range)) ? selectNode(caretPosition.getNode(-1 == direction)) : (caretPosition = getNextPosFn(caretPosition)) ? isBeforeContentEditableFalseFn(caretPosition) ? showCaret(direction, caretPosition.getNode(-1 == direction), 1 == direction) : isBeforeContentEditableFalseFn(isBeforeContentEditableFalseFn = getNextPosFn(caretPosition)) && (getNextPosFn = caretPosition, toCaretPosition = isBeforeContentEditableFalseFn, !(toCaretPosition = CaretUtils.isInSameBlock(getNextPosFn, toCaretPosition)) && NodeType.isBr(getNextPosFn.getNode()) || toCaretPosition) ? showCaret(direction, isBeforeContentEditableFalseFn.getNode(-1 == direction), 1 == direction) : node ? renderRangeCaret(caretPosition.toRange()) : null : node ? range : null); }(direction, getNextPosFn, isBeforeContentEditableFalseFn, range)) || (exitPreBlock(direction, range), null); } function moveV(direction, walkerFn, range) { return (walkerFn = function(direction, walkerFn, range) { var dist2, contentEditableFalseNode = getSelectedNode(range), range = getNormalizedRangeEndPoint(direction, range), walkerFn = walkerFn(rootNode, LineWalker.isAboveLine(1), range), walkerFn = Arr.filter(walkerFn, LineWalker.isLine(1)), caretClientRect = Arr.last(range.getClientRects()); return isBeforeContentEditableFalse(range) && (contentEditableFalseNode = range.getNode()), isAfterContentEditableFalse(range) && (contentEditableFalseNode = range.getNode(!0)), caretClientRect ? (range = caretClientRect.left, (caretClientRect = LineUtils.findClosestClientRect(walkerFn, range)) && isContentEditableFalse(caretClientRect.node) ? (walkerFn = Math.abs(range - caretClientRect.left), dist2 = Math.abs(range - caretClientRect.right), showCaret(direction, caretClientRect.node, walkerFn < dist2)) : contentEditableFalseNode && (walkerFn = LineWalker.positionsUntil(direction, rootNode, LineWalker.isAboveLine(1), contentEditableFalseNode), caretClientRect = (caretClientRect = LineUtils.findClosestClientRect(Arr.filter(walkerFn, LineWalker.isLine(1)), range)) || Arr.last(Arr.filter(walkerFn, LineWalker.isLine(0)))) ? renderRangeCaret(caretClientRect.position.toRange()) : void 0) : null; }(direction, walkerFn, range)) || (exitPreBlock(direction, range), null); } function showBlockCaretContainer(blockCaretContainer) { blockCaretContainer.hasAttribute("data-mce-caret") && (CaretContainer.showCaretContainerBlock(blockCaretContainer), setRange(getRange()), scrollIntoView(blockCaretContainer[0])); } function renderCaretAtRange(range) { return range = CaretUtils.normalizeRange(1, rootNode, range), range = CaretPosition.fromRangeStart(range), isContentEditableFalse(range.getNode()) ? showCaret(1, range.getNode(), !range.isAtEnd()) : isContentEditableFalse(range.getNode(!0)) ? showCaret(1, range.getNode(!0), !1) : (range = editor.dom.getParent(range.getNode(), Fun.or(isContentEditableFalse, isContentEditableTrue)), isContentEditableFalse(range) ? showCaret(1, range, !1) : null); } function renderRangeCaret(range) { return range && range.collapsed && renderCaretAtRange(range) || range; } function deleteContentEditableNode(node) { var nextCaretPosition, prevCaretPosition, prevCeFalseElm, nextElement; return isContentEditableFalse(node) ? (isContentEditableFalse(node.previousSibling) && (prevCeFalseElm = node.previousSibling), (nextCaretPosition = (prevCaretPosition = getPrevVisualCaretPosition(CaretPosition.before(node))) ? nextCaretPosition : getNextVisualCaretPosition(CaretPosition.after(node))) && isElement(nextCaretPosition.getNode()) && (nextElement = nextCaretPosition.getNode()), CaretContainerRemove.remove(node.previousSibling), CaretContainerRemove.remove(node.nextSibling), editor.dom.remove(node), editor.dom.isEmpty(editor.getBody()) ? (editor.setContent(""), void editor.focus()) : prevCeFalseElm ? CaretPosition.after(prevCeFalseElm).toRange() : nextElement ? CaretPosition.before(nextElement).toRange() : prevCaretPosition ? prevCaretPosition.toRange() : nextCaretPosition ? nextCaretPosition.toRange() : null) : null; } function isTextBlock(node) { var textBlocks = editor.schema.getTextBlockElements(); return node.nodeName in textBlocks; } function isEmpty(elm) { return editor.dom.isEmpty(elm); } function mergeTextBlocks(direction, fromCaretPosition, toCaretPosition) { var node, ceTarget, dom = editor.dom, fromBlock = dom.getParent(fromCaretPosition.getNode(), dom.isBlock), toBlock = dom.getParent(toCaretPosition.getNode(), dom.isBlock); if (-1 === direction) { if (ceTarget = toCaretPosition.getNode(!0), isAfterContentEditableFalse(toCaretPosition) && isBlock(ceTarget)) return isTextBlock(fromBlock) ? (isEmpty(fromBlock) && dom.remove(fromBlock), CaretPosition.after(ceTarget).toRange()) : deleteContentEditableNode(toCaretPosition.getNode(!0)); } else if (ceTarget = fromCaretPosition.getNode(), isBeforeContentEditableFalse(fromCaretPosition) && isBlock(ceTarget)) return isTextBlock(toBlock) ? (isEmpty(toBlock) && dom.remove(toBlock), CaretPosition.before(ceTarget).toRange()) : deleteContentEditableNode(fromCaretPosition.getNode()); if (fromBlock === toBlock || !isTextBlock(fromBlock) || !isTextBlock(toBlock)) return null; for (;node = fromBlock.firstChild; ) toBlock.appendChild(node); return editor.dom.remove(fromBlock), toCaretPosition.toRange(); } function backspaceDelete(direction, beforeFn, afterFn, range) { var newCaretPosition; return range.collapsed ? afterFn(afterFn = getNormalizedRangeEndPoint(direction, range)) && CaretContainer.isCaretContainerBlock(range.startContainer) ? (newCaretPosition = -1 == direction ? caretWalker.prev(afterFn) : caretWalker.next(afterFn)) ? renderRangeCaret(newCaretPosition.toRange()) : range : beforeFn(afterFn) ? renderRangeCaret(deleteContentEditableNode(afterFn.getNode(-1 == direction))) : beforeFn(newCaretPosition = -1 == direction ? caretWalker.prev(afterFn) : caretWalker.next(afterFn)) ? -1 === direction ? mergeTextBlocks(direction, afterFn, newCaretPosition) : mergeTextBlocks(direction, newCaretPosition, afterFn) : void 0 : (beforeFn = getSelectedNode(range), isContentEditableFalse(beforeFn) ? renderRangeCaret(deleteContentEditableNode(beforeFn)) : null); } function isWithinCaretContainer(node) { return CaretContainer.isCaretContainer(node) || CaretContainer.startsWithCaretContainer(node) || CaretContainer.endsWithCaretContainer(node); } function isRangeInCaretContainer(rng) { return isWithinCaretContainer(rng.startContainer) || isWithinCaretContainer(rng.endContainer); } function setContentEditableSelection(range) { var node, startOffset, endOffset, caretPosition, dom = editor.dom; if (!range) return null; if (range.collapsed) { if (!isRangeInCaretContainer(range)) { if (caretPosition = getNormalizedRangeEndPoint(1, range), isContentEditableFalse(caretPosition.getNode())) return showCaret(1, caretPosition.getNode(), !caretPosition.isAtEnd()); if (isContentEditableFalse(caretPosition.getNode(!0))) return showCaret(1, caretPosition.getNode(!0), !1); } return null; } return caretPosition = range.startContainer, startOffset = range.startOffset, endOffset = range.endOffset, 3 == caretPosition.nodeType && 0 == startOffset && isContentEditableFalse(caretPosition.parentNode) && (caretPosition = caretPosition.parentNode, startOffset = dom.nodeIndex(caretPosition), caretPosition = caretPosition.parentNode), 1 == caretPosition.nodeType && (endOffset == startOffset + 1 && (node = caretPosition.childNodes[startOffset]), isContentEditableFalse(node)) && (endOffset = node.cloneNode(!0), editor.onObjectSelected.dispatch(editor, caretPosition = { node: node, target: endOffset }), 0 != !caretPosition.isDefaultPrevented) ? (endOffset = caretPosition.target, (startOffset = dom.get(realSelectionId)) || (startOffset = dom.create("div", { "data-mce-bogus": "all", class: "mce-offscreen-selection", id: realSelectionId }), dom.add(editor.getBody(), startOffset)), range = editor.dom.createRng(), startOffset.innerHTML = "", startOffset.appendChild(document.createTextNode("\xa0")), startOffset.appendChild(endOffset), startOffset.appendChild(document.createTextNode("\xa0")), range.setStart(startOffset.firstChild, 1), range.setEnd(startOffset.lastChild, 0), dom.setStyle(startOffset, "top", dom.getPos(node, editor.getBody()).y), startOffset.focus(), (caretPosition = editor.selection.getSel()).removeAllRanges(), caretPosition.addRange(range), dom.setAttrib(dom.select("*[data-mce-selected]"), "data-mce-selected", null), node.setAttribute("data-mce-selected", 1), selectedContentEditableNode = node, hideFakeCaret(), range) : null; } function removeContentEditableSelection() { selectedContentEditableNode && (selectedContentEditableNode.removeAttribute("data-mce-selected"), editor.dom.remove(realSelectionId), selectedContentEditableNode = null); } function hideFakeCaret() { fakeCaret.hide(); } function override(evt, moveFn) { !1 === evt.isDefaultPrevented() && (moveFn = moveFn(getRange())) && (evt.preventDefault(), setRange(moveFn)); } function getContentEditableRoot(node) { for (var root = editor.getBody(); node && node != root; ) { if (isContentEditableTrue(node) || isContentEditableFalse(node)) return node; node = node.parentNode; } return null; } function hasBetterMouseTarget(targetNode, caretNode) { targetNode = editor.dom.getParent(targetNode, editor.dom.isBlock), caretNode = editor.dom.getParent(caretNode, editor.dom.isBlock); return targetNode && editor.dom.getParent(targetNode, editor.dom.isBlock) !== editor.dom.getParent(caretNode, editor.dom.isBlock) && (targetNode = new CaretWalker(caretNode = targetNode), caretNode.firstChild) && (caretNode = CaretPosition.before(caretNode.firstChild), targetNode = targetNode.next(caretNode)) && !isBeforeContentEditableFalse(targetNode) && !isAfterContentEditableFalse(targetNode); } function handleBlockContainer(e) { var blockCaretContainer = editor.dom.select("*[data-mce-caret]")[0]; blockCaretContainer && ("compositionstart" == e.type ? (e.preventDefault(), e.stopPropagation(), showBlockCaretContainer(blockCaretContainer)) : CaretContainer.hasContent(blockCaretContainer) && showBlockCaretContainer(blockCaretContainer)); } function handleEmptyBackspaceDelete(e) { var prevent, br, ceRoot; switch (e.keyCode) { case VK.DELETE: case VK.BACKSPACE: ceRoot = getContentEditableRoot(editor.selection.getNode()), prevent = void (isContentEditableTrue(ceRoot) && isBlock(ceRoot) && editor.dom.isEmpty(ceRoot) && (br = editor.dom.create("br", { "data-mce-bogus": "1" }), editor.dom.empty(ceRoot), editor.dom.add(ceRoot, br), editor.selection.setRng(CaretPosition.before(br).toRange()))); } prevent && e.preventDefault(); } return right = curry(moveH, 1, getNextVisualCaretPosition, isBeforeContentEditableFalse), left = curry(moveH, -1, getPrevVisualCaretPosition, isAfterContentEditableFalse), deleteForward = curry(backspaceDelete, 1, isBeforeContentEditableFalse, isAfterContentEditableFalse), backspace = curry(backspaceDelete, -1, isAfterContentEditableFalse, isBeforeContentEditableFalse), up = curry(moveV, -1, LineWalker.upUntil), down = curry(moveV, 1, LineWalker.downUntil), editor.onMouseUp.add(function() { var range = getRange(); range.collapsed && setRange(renderCaretAtRange(range)); }), editor.onClick.add(function(editor, e) { var contentEditableRoot = getContentEditableRoot(e.target); contentEditableRoot && (isContentEditableFalse(contentEditableRoot) && (e.preventDefault(), editor.focus()), isContentEditableTrue(contentEditableRoot)) && editor.dom.isChildOf(contentEditableRoot, editor.selection.getNode()) && removeContentEditableSelection(); }), editor.onNewBlock.add(function() { removeContentEditableSelection(), hideFakeCaret(); }), editor.onBlur.add(function() { removeContentEditableSelection(), hideFakeCaret(); }), function(editor) { var moved = !1; editor.dom.bind(editor.getBody(), "touchstart", function() { moved = !1; }), editor.dom.bind(editor.getBody(), "touchmove", function() { moved = !0; }), editor.dom.bind(editor.getBody(), "touchend", function(e) { var contentEditableRoot = getContentEditableRoot(e.target); isContentEditableFalse(contentEditableRoot) && !moved && (e.preventDefault(), setContentEditableSelection(selectNode(contentEditableRoot)), editor.onContentEditableSelect.dispatch(editor, e)); }); }(editor), editor.onMouseDown.add(function(editor, e) { var clientX, clientY, contentEditableRoot = getContentEditableRoot(e.target); contentEditableRoot ? isContentEditableFalse(contentEditableRoot) ? (e.preventDefault(), setContentEditableSelection(selectNode(contentEditableRoot)), editor.onContentEditableSelect.dispatch(editor, e)) : (clientX = e.clientX, clientY = e.clientY, !(contentEditableRoot = editor.selection.getRng()).collapsed && Arr.reduce(contentEditableRoot.getClientRects(), function(state, rect) { return state || ClientRect.containsXY(rect, clientX, clientY); }, !1) || editor.selection.placeCaretAt(e.clientX, e.clientY)) : (removeContentEditableSelection(), hideFakeCaret(), (contentEditableRoot = LineUtils.closestCaret(rootNode, e.clientX, e.clientY)) && !hasBetterMouseTarget(e.target, contentEditableRoot.node) && (e.preventDefault(), editor.getBody().focus(), setRange(showCaret(1, contentEditableRoot.node, contentEditableRoot.before)))); }), editor.onKeyDown.add(function(editor, e) { if (!VK.modifierPressed(e)) switch (e.keyCode) { case VK.RIGHT: override(e, right); break; case VK.DOWN: override(e, down); break; case VK.LEFT: override(e, left); break; case VK.UP: override(e, up); break; case VK.DELETE: override(e, deleteForward); break; case VK.BACKSPACE: override(e, backspace); break; default: isContentEditableFalse(editor.selection.getNode()) && function(e) { return !(112 <= e.keyCode && e.keyCode <= 123); }(e) && e.preventDefault(); } }), editor.onCompositionStart.addToTop(function(editor, e) { handleBlockContainer(e), handleEmptyBackspaceDelete(e); }), editor.onKeyUp.addToTop(function(editor, e) { handleBlockContainer(e), handleEmptyBackspaceDelete(e); }), editor.onCut.add(function() { var node = editor.selection.getNode(); isContentEditableFalse(node) && setEditorTimeout(editor, function() { setRange(renderRangeCaret(deleteContentEditableNode(node))); }); }), editor.selection.onGetSelectionRange.add(function(sel, e) { var rng = e.range; selectedContentEditableNode && (selectedContentEditableNode.parentNode ? ((rng = rng.cloneRange()).selectNode(selectedContentEditableNode), e.range = rng) : selectedContentEditableNode = null); }), editor.selection.onSetSelectionRange.add(function(sel, e) { var rng = setContentEditableSelection(e.range); rng && (e.range = rng); }), editor.selection.onAfterSetSelectionRange.add(function(sel, e) { isRangeInCaretContainer(e = e.range) || hideFakeCaret(), e = e.startContainer.parentNode, editor.dom.hasClass(e, "mce-offscreen-selection") || removeContentEditableSelection(); }), editor.dom.bind(editor.getBody(), "focus", function() { setEditorTimeout(editor, function() { editor.selection.setRng(renderRangeCaret(editor.selection.getRng())); }, 0); }), editor.onCopy.add(function(editor, e) { var realSelectionElement, clipboardData = e.clipboardData; !e.isDefaultPrevented() && e.clipboardData && (realSelectionElement = getRealSelectionElement()) && (e.preventDefault(), clipboardData.clearData(), e = realSelectionElement.outerHTML || "", clipboardData.setData("text/html", e), clipboardData.setData("x-tinymce/html", e), clipboardData.setData("text/plain", realSelectionElement.outerText)); }), DragDropOverrides.init(editor), { showBlockCaretContainer: showBlockCaretContainer, hideFakeCaret: hideFakeCaret, destroy: function() { fakeCaret.destroy(), selectedContentEditableNode = null; } }; }; }(tinymce), function() { var Entities = tinymce.html.Entities, each = tinymce.each, extend = tinymce.extend, DomParser = tinymce.html.DomParser, HtmlSerializer = tinymce.html.Serializer, Dispatcher = tinymce.util.Dispatcher, DOM = tinymce.DOM; tinymce.PluginManager.add("core", function(ed, url) { ed.onUpdateMedia = new Dispatcher(), ed.onWfEditorSave = new Dispatcher(); var store, contentLoaded = !1, elm = ed.getElement(), startup_content_html = ed.settings.startup_content_html || "", quoteMap = (ed.onBeforeRenderUI.add(function() { if (startup_content_html && elm && !contentLoaded && ("TEXTAREA" === elm.nodeName ? "" == elm.value : "" == elm.innerHTML)) return contentLoaded = !0, (value = Entities.decode(startup_content_html)) && ("TEXTAREA" === elm.nodeName ? elm.value = value : elm.innerHTML = value), !0; var value; }), { en: { '"': "“{$selection}”", "'": "‘{$selection}’" }, de: { '"': "„{$selection}“", "'": "‚{$selection}’" } }); ed.onKeyUp.add(function(ed, e) { var map = quoteMap[ed.settings.language] || quoteMap.en; !e.ctrlKey || e.altKey || '"' != e.key && "'" != e.key || (map = map[e.shiftKey ? '"' : "'"], ed.undoManager.add(), ed.execCommand("mceReplaceContent", !1, map)); }), ed.onExecCommand.add(function(ed, cmd, ui, val, args) { "Undo" != cmd && "Redo" != cmd && "mceReApply" != cmd && "mceRepaint" != cmd && (store = { cmd: cmd, ui: ui, value: val, args: args }); }), ed.addShortcut("ctrl+alt+z", "", "mceReApply"), ed.addCommand("mceReApply", function() { if (store && store.cmd) return ed.execCommand(store.cmd, store.ui, store.value, store.args); }), ed.onPreInit.add(function() { var pb; ed.onUpdateMedia.add(function(ed, o) { o.before && o.after && (each(ed.dom.select("img,poster"), function(elm) { var after, stamp, src = elm.getAttribute("src"); (src = src && -1 !== src.indexOf("?") ? src.substring(0, src.indexOf("?")) : src) == o.before && (after = o.after, stamp = "?" + new Date().getTime(), -1 !== src.indexOf("?") && -1 === after.indexOf("?") && (after += stamp), ed.dom.setAttribs(elm, { src: after, "data-mce-src": o.after })), elm.getAttribute("srcset") && function(elm, o) { var srcset = elm.getAttribute("srcset"); if (srcset) { for (var sets = srcset.split(","), i = 0; i < sets.length; i++) { var values = sets[i].trim().split(" "); o.before == values[0] && (values[0] = o.after), sets[i] = values.join(" "); } elm.setAttribute("srcset", sets.join(",")); } }(elm, o); }), each(ed.dom.select("a[href]"), function(elm) { ed.dom.getAttrib(elm, "href") == o.before && ed.dom.setAttribs(elm, { href: o.after, "data-mce-href": o.after }); })); }), ed.onWfEditorSave.add(function(ed, o) { o.content = function(ed, content) { var args, parser, settings; return ed.settings.validate ? (args = { no_events: !0, format: "html", get: !0, load: !0 }, extend(settings = {}, ed.settings), args.content = content, ed.onBeforeGetContent.dispatch(ed, args), settings.forced_root_block = !1, settings.validate = !0, parser = new DomParser(settings, ed.schema), settings = new HtmlSerializer(settings, ed.schema), args.content = settings.serialize(parser.parse(args.content), args), ed.onPostProcess.dispatch(ed, args), args.content) : content; }(ed, o.content); }), (pb = DOM.get("sp-inline-popover")) && DOM.isChildOf(ed.getElement(), pb) && ed.onGetContent.addToTop(function(ed, o) { var args; -1 != ed.id.indexOf("sppbeditor-") && "raw" == o.format && (args = tinymce.extend(o, { format: "html" }), o.content = ed.serializer.serialize(ed.getBody(), args)); }); }), 0 == ed.settings.forced_root_block && 0 != ed.settings.editable_root && (ed.settings.editable_root = "rootblock", ed.onPreInit.addToTop(function() { var selection = ed.selection, dom = ed.dom; dom.settings.root_element = ed.settings.editable_root, ed.schema.addValidElements("#mce:root[id|data-mce-root]"), ed.schema.children["mce:root"] = ed.schema.children.body, ed.schema.children.body["mce:root"] = {}, ed.serializer.addAttributeFilter("data-mce-root", function(nodes) { for (var i = nodes.length; i--; ) nodes[i].unwrap(); }), ed.serializer.addAttributeFilter("data-mce-bogus", function(nodes) { for (var i = nodes.length; i--; ) nodes[i].remove(); }), ed.onBeforeSetContent.add(function(editor, o) { o.content || (o.content = '
    '), o.content = '' + o.content + ""; }), ed.onSetContent.addToTop(function(ed, o) { var rng; (ed = dom.get(ed.settings.editable_root)) && (/^( | |\s|\u00a0|)$/.test(ed.innerHTML) && (ed.innerHTML = '
    '), (rng = dom.createRng()).setStart(ed, 0), rng.setEnd(ed, 0), selection.setRng(rng)); }), ed.onSaveContent.add(function(ed, o) { " " === o.content && (o.content = ""); }), ed.undoManager.onBeforeAdd.add(function(um, level) { var node, container = ed.dom.create("div", {}, level.content); (node = container.firstChild) && 1 == node.nodeType && node.hasAttribute("data-mce-root") && (level.content = container.firstChild.innerHTML); }); })); }); }(), tinymce.PluginManager.add("help", function(ed, url) { ed.addCommand("mceHelp", function() { ed.windowManager.open({ title: ed.getLang("dlg.help", "Help"), url: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=help&lang=" + ed.getParam("language") + "§ion=editor&category=editor&article=about", size: "mce-modal-landscape-full" }); }), ed.addButton("help", { title: "dlg.help", cmd: "mceHelp" }); }), AutoLinkPattern = /^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i, tinymce.PluginManager.add("autolink", function(ed, url) { function parseCurrentLine(editor, endOffset, delimiter) { var rng, end, endContainer, len, rngText, prev; function scopeIndex(container, index) { return index < 0 && (index = 0), 3 == container.nodeType && (container = container.data.length) < index ? container : index; } function setStart(container, offset) { 1 != container.nodeType || container.hasChildNodes() ? rng.setStart(container, scopeIndex(container, offset)) : rng.setStartBefore(container); } function setEnd(container, offset) { 1 != container.nodeType || container.hasChildNodes() ? rng.setEnd(container, scopeIndex(container, offset)) : rng.setEndAfter(container); } if ("A" != editor.selection.getNode().tagName) { if ((rng = editor.selection.getRng(!0).cloneRange()).startOffset < 5) { if (!(prev = rng.endContainer.previousSibling)) { if (!rng.endContainer.firstChild || !rng.endContainer.firstChild.nextSibling) return; prev = rng.endContainer.firstChild.nextSibling; } if (setStart(prev, len = prev.length), setEnd(prev, len), rng.endOffset < 5) return; end = rng.endOffset, endContainer = prev; } else { if (3 != (endContainer = rng.endContainer).nodeType && endContainer.firstChild) { for (;3 != endContainer.nodeType && endContainer.firstChild; ) endContainer = endContainer.firstChild; 3 == endContainer.nodeType && (setStart(endContainer, 0), setEnd(endContainer, endContainer.nodeValue.length)); } end = 1 == rng.endOffset ? 2 : rng.endOffset - 1 - endOffset; } for (len = end; setStart(endContainer, 2 <= end ? end - 2 : 0), setEnd(endContainer, 1 <= end ? end - 1 : 0), --end, " " != (rngText = rng.toString()) && "" !== rngText && 160 != rngText.charCodeAt(0) && 0 <= end - 2 && rngText != delimiter; ); rng.toString() == delimiter || 160 == rng.toString().charCodeAt(0) ? (setStart(endContainer, end), setEnd(endContainer, len), end += 1) : (0 === rng.startOffset ? setStart(endContainer, 0) : setStart(endContainer, end), setEnd(endContainer, len)), "." == (prev = rng.toString()).charAt(prev.length - 1) && setEnd(endContainer, len - 1), (endOffset = (prev = rng.toString()).match(AutoLinkPattern)) && ("www." == endOffset[1] ? endOffset[1] = "https://www." : /@$/.test(endOffset[1]) && !/^mailto:/.test(endOffset[1]) && (endOffset[1] = "mailto:" + endOffset[1]), -1 !== endOffset[1].indexOf("http") && !editor.getParam("autolink_url", !0) || -1 !== endOffset[1].indexOf("mailto:") && !editor.getParam("autolink_email", !0) || (len = editor.selection.getBookmark(), editor.selection.setRng(rng), editor.execCommand("createlink", !1, endOffset[1] + endOffset[2]), prev = editor.selection.getNode(), editor.settings.default_link_target && editor.dom.setAttrib(prev, "target", editor.settings.default_link_target), editor.onAutoLink.dispatch(editor, { node: prev }), editor.selection.moveToBookmark(len), editor.nodeChanged())); } } (ed.getParam("autolink_url", !0) || ed.getParam("autolink_email", !0)) && (ed.settings.autolink_pattern && (AutoLinkPattern = ed.settings.autolink_pattern), ed.onAutoLink = new tinymce.util.Dispatcher(this), ed.onKeyDown.addToTop(function(ed, e) { if (13 == e.keyCode) return function(ed) { parseCurrentLine(ed, -1, ""); }(ed); }), tinymce.isIE || (ed.onKeyPress.add(function(ed, e) { if (41 == e.which) return function(ed) { parseCurrentLine(ed, -1, "("); }(ed); }), ed.onKeyUp.add(function(ed, e) { if (32 == e.keyCode) return function(ed) { parseCurrentLine(ed, 0, ""); }(ed); }))); }), [ "a", "abbr", "acronym", "address", "applet", "area", "article", "aside", "audio", "b", "base", "basefont", "bdi", "bdo", "bgsound", "big", "blink", "blockquote", "body", "br", "button", "canvas", "caption", "center", "cite", "code", "col", "colgroup", "command", "content", "data", "datalist", "dd", "del", "details", "dfn", "dialog", "dir", "div", "dl", "dt", "element", "em", "embed", "fieldset", "figcaption", "figure", "font", "footer", "form", "frame", "frameset", "h1", "h2", "h3", "h4", "h5", "h6", "head", "header", "hgroup", "hr", "html", "i", "iframe", "image", "img", "input", "ins", "isindex", "kbd", "keygen", "label", "legend", "li", "link", "listing", "main", "map", "mark", "marquee", "menu", "menuitem", "meta", "meter", "multicol", "nav", "nobr", "noembed", "noframes", "noscript", "object", "ol", "optgroup", "option", "output", "p", "param", "picture", "plaintext", "pre", "progress", "q", "rp", "rt", "rtc", "ruby", "s", "samp", "script", "section", "select", "shadow", "slot", "small", "source", "spacer", "span", "strike", "strong", "style", "sub", "summary", "sup", "table", "tbody", "td", "template", "textarea", "tfoot", "th", "thead", "time", "title", "tr", "track", "tt", "u", "ul", "var", "video", "wbr", "xmp" ]), FONT_ICON_RE = /<([a-z0-9]+)([^>]+)class="([^"]*)(glyph|uk-)?(fa|icon|bi)-([\w-]+)([^"]*)"([^>]*)><\/\1>/gi, PADDED_RX = /<(p|h1|h2|h3|h4|h5|h6|pre|div|address|caption)\b([^>]+)>( |\u00a0)<\/\1>/gi; const explode$1 = tinymce.explode, each$1 = tinymce.each, explode = tinymce.explode; function processAttributes(editor, content) { var invalidAttribRules = editor.getParam("invalid_attributes", ""), editor = editor.getParam("invalid_attribute_values", ""); if (!invalidAttribRules && !editor) return content; for (var rules, doc = document.implementation.createHTMLDocument("").createElement("div"), nodes = (doc.innerHTML = content, doc.querySelectorAll("*")), i = nodes.length, attrRules = function(list) { for (var s, rx, items = explode$1(list), matchers = [], i = 0; i < items.length; i++) if (s = (items[i] || "").trim()) try { rx = new RegExp("^(?:" + s + ")$", "i"), matchers.push(rx); } catch (e) { s = s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), matchers.push(new RegExp("^" + s + "$", "i")); } return matchers; }(invalidAttribRules), valueRules = (content = editor, rules = [], content = explode(content), each$1(content, function(item) { var m; (item = (item || "").trim()) && ((m = /([a-z0-9\*]+)\[([a-z0-9\-]+)([\^\$\!~\*]?=)?["']?([^"']+)?["']?\]/i.exec(item)) && 5 === m.length ? rules.push({ type: "bracket", tag: m[1].toLowerCase(), attrib: m[2].toLowerCase(), expr: void 0 === m[3] ? null : m[3] || "", check: m[4] || "" }) : rules.push({ type: "pattern", tag: "*", pattern: item })); }), rules); i--; ) for (var node, attrValue, nodeName = (node = nodes[i]).tagName.toLowerCase(), attributes = node.attributes || [], x = attributes.length - 1; 0 <= x; x--) { var attr = attributes[x]; attr && attr.name && (attr = attr.name.toLowerCase(), attrValue = node.getAttribute(attr), function(name, rules) { var i; if (name) for (i = 0; i < rules.length; i++) if (rules[i].test(name)) return 1; }(attr, attrRules) || function(tag, name, value, rules) { for (var r, rx, k = 0; k < rules.length; k++) if ("pattern" === (r = rules[k]).type) { try { rx = new RegExp("^" + r.pattern + "$", "i"); } catch (e) { rx = null; } if (rx && rx.test(name) || r.pattern.toLowerCase() === name) return 1; } else if ("bracket" === r.type && ("*" === r.tag || tag === r.tag) && name === r.attrib && (!r.expr || function(value, expr, check) { return expr ? "=" === expr ? value === check : "*=" === expr ? 0 <= value.indexOf(check) : "~=" === expr ? 0 <= (" " + value + " ").indexOf(" " + check + " ") : "!=" === expr ? value != check : "^=" === expr ? 0 === value.indexOf(check) : "$=" === expr && value.substr(value.length - check.length) === check : check; }(value, r.expr, r.check))) return 1; }(nodeName, attr, attrValue, valueRules)) && (node.removeAttribute(attr), node.removeAttribute("data-mce-" + attr)); } return doc.innerHTML; } function convertFromGeshi(h) { return (h || "").replace(/
    ]*)>(.*?)<\/pre>/g, function(a, b, c, d) {
                return '
    " + d + "
    "; }); } var each = tinymce.each, Node = tinymce.html.Node; tinymce.PluginManager.add("cleanup", function(ed, url) { !1 === ed.settings.verify_html && (ed.settings.validate = !1); var padding = function(Node) { return { paddEmptyTags: function(content) { return (content = (content = content.replace(FONT_ICON_RE, '<$1$2class="$3$4$5-$6$7"$8 data-mce-empty="1"> ')).replace(/<(a|i|span)\b([^>]+)><\/\1>/gi, '<$1$2 data-mce-empty="1"> ')).replace(/
  • <\/li>/, '
  •  
  • '); }, ensureEmptyInlineNodes: function(nodes, name) { for (var node, i = nodes.length; i--; ) !(node = nodes[i]).attr("class") && "li" !== name || node.firstChild || (node.attr("data-mce-empty", "1"), node.append(new Node("#text", "3")).value = "\xa0"); }, cleanupEmptyInlineNodes: function(nodes) { for (var node, fc, i = nodes.length; i--; ) fc = (node = nodes[i]).firstChild, node.attr("data-mce-empty", null), !fc || "\xa0" !== fc.value && " " !== fc.value || fc.remove(); } }; }(Node); ed.onPreInit.add(function() { var elements; ed.serializer.addAttributeFilter("data-mce-caret", function(nodes) { for (var i = nodes.length; i--; ) nodes[i].remove(); }), !1 === ed.settings.remove_trailing_brs && ed.serializer.addAttributeFilter("data-mce-bogus", function(nodes) { for (var node, textNode, i = nodes.length; i--; ) "br" === (node = nodes[i]).name && (node.prev || node.next ? node.remove() : ((textNode = new Node("#text", 3)).value = "\xa0", node.replace(textNode))); }), ed.serializer.addAttributeFilter("data-mce-tmp", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr("data-mce-tmp", null); }), ed.parser.addAttributeFilter("data-mce-tmp", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr("data-mce-tmp", null); }), !1 !== ed.settings.verify_html && (ed.settings.allow_event_attributes || each(ed.schema.elements, function(elm) { if (!elm.attributesOrder || 0 === elm.attributesOrder.length) return !0; each(elm.attributes, function(obj, name) { 0 === name.indexOf("on") && (delete elm.attributes[name], elm.attributesOrder.splice(tinymce.inArray(elm, elm.attributesOrder, name), 1)); }); }), elements = ed.schema.elements, each("ol ul sub sup blockquote font table tbody tr strong b".split(","), function(name) { elements[name] && (elements[name].removeEmpty = !1); }), ed.getParam("pad_empty_tags", !0) || each(elements, function(v, k) { v.paddEmpty && (v.paddEmpty = !1); }), ed.getParam("table_pad_empty_cells", !0) || (elements.th.paddEmpty = !1, elements.td.paddEmpty = !1), each(elements, function(v, k) { if (0 === k.indexOf("mce:")) return !0; -1 === tinymce.inArray(TAGS, k) && ed.schema.addCustomElements(k); })), ed.parser.addNodeFilter("a,i,span,li", function(nodes, name) { padding.ensureEmptyInlineNodes(nodes, name); }), ed.serializer.addAttributeFilter("data-mce-empty", function(nodes) { padding.cleanupEmptyInlineNodes(nodes); }); }), !1 === ed.settings.verify_html && ed.addCommand("mceCleanup", function() { var s = ed.settings, se = ed.selection, bm = se.getBookmark(), content = ed.getContent({ cleanup: !0 }), s = (s.verify_html = !0, new tinymce.html.Schema(s)), content = new tinymce.html.Serializer({ validate: !0 }, s).serialize(new tinymce.html.DomParser({ validate: !0, allow_event_attributes: !!ed.settings.allow_event_attributes }, s).parse(content)); ed.setContent(content, { cleanup: !0 }), se.moveToBookmark(bm); }), ed.onBeforeSetContent.add(function(ed, o) { o.content = o.content.replace(/^
    /, ""), o.content = convertFromGeshi(o.content), o.content = padding.paddEmptyTags(o.content), o.content = processAttributes(ed, o.content); }), ed.onPostProcess.add(function(ed, o) { o.set && (o.content = convertFromGeshi(o.content)), o.get && (o.content = (o.content || "").replace(/]+)data-geshi-lang="([^"]+)"([^>]*)>(.*?)<\/pre>/g, function(a, b, c, d, e) { return '
    " + e + "
    "; }), o.content = o.content.replace(/]*)class="jce(box|popup|lightbox|tooltip|_tooltip)"([^>]*)><\/a>/gi, ""), o.content = o.content.replace(/(.*?)<\/span>/gi, "$2"), o.content = o.content.replace(/_mce_(src|href|style|coords|shape)="([^"]+)"\s*?/gi, ""), !1 === ed.settings.validate && (o.content = o.content.replace(/]*)>([\s\S]*)<\/body>/, "$2"), ed.getParam("remove_tag_padding") || (o.content = o.content.replace(/<(p|h1|h2|h3|h4|h5|h6|th|td|pre|div|address|caption)\b([^>]*)><\/\1>/gi, "<$1$2> "))), ed.getParam("table_pad_empty_cells", !0) || (o.content = o.content.replace(/<(th|td)([^>]*)>( |\u00a0)<\/\1>/gi, "<$1$2>")), o.content = o.content.replace(/<(a|i|span)([^>]+)>( |\u00a0)<\/\1>/gi, function(match, tag, attribs) { return attribs = attribs.replace('data-mce-empty="1"', ""), "<" + tag + " " + tinymce.trim(attribs) + ">"; }), o.content = o.content.replace(/
  • ( |\u00a0)<\/li>/gi, "
  • "), ed.getParam("remove_div_padding") && (o.content = o.content.replace(/]*)>( |\u00a0)<\/div>/g, "")), !1 === ed.getParam("pad_empty_tags", !0) && (o.content = o.content.replace(PADDED_RX, "<$1$2>")), ed.getParam("keep_nbsp", !0) && "raw" === ed.settings.entity_encoding && (o.content = o.content.replace(/\u00a0/g, " ")), o.content = o.content.replace(/(uk|v|ng|data)-([\w-]+)=""(\s|>)/gi, "$1-$2$3"), ed.settings.padd_empty_editor && (o.content = o.content.replace(/^(
    ( | |\s|\u00a0|)<\/div>[\r\n]*|[\r\n]*)$/, "")), o.content = o.content.replace(//gi, ''), o.content = o.content.replace(/
    /gi, '
    ')); }), ed.onSaveContent.add(function(ed, o) { var entities; ed.getParam("cleanup_pluginmode") && (entities = { "'": "'", "&": "&", """: '"', "'": "'" }, o.content = o.content.replace(/&(#39|apos|amp|quot);/gi, function(a) { return entities[a]; })); }), ed.addButton("cleanup", { title: "advanced.cleanup_desc", cmd: "mceCleanup" }), this.paddEmptyTags = padding.paddEmptyTags; }), function() { const Node$1 = tinymce.html.Node; var Content_createTextNode = function(value, raw) { var text = new Node$1("#text", 3); return text.raw = !1 !== raw, text.value = value, text; }, Content_createShortcodeHtml = function(editor, data, tag) { return data = (data = editor.dom.decode(data)).replace(/[\n\r]/gi, "
    "), editor.dom.createHTML(tag || "pre", { "data-mce-code": "shortcode" }, editor.dom.encode(data)); }, Content_createHtml = function(editor, data, type, tag) { return type = type || "script", tag = tag || "pre", !1 !== editor.settings.code_use_blocks ? editor.dom.createHTML(tag, { "data-mce-code": type }, editor.dom.encode(data)) : (data = data.replace(/]*?>/gi, "\n"), editor.dom.createHTML("img", { src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", "data-mce-resize": "false", "data-mce-code": type, "data-mce-type": "placeholder", "data-mce-value": escape(data) })); }; const each$1 = tinymce.each; let htmlSchema, shortEndedElements = {}, booleanAttributes = {}; function canKeepCode(editor, type) { return !1 === editor.settings.validate || editor.getParam("code_allow_" + type); } function isXmlElement(editor, name) { return !htmlSchema.isValid(name) && !function(editor, name) { return editor = editor.settings.invalid_elements.split(","), -1 !== tinymce.inArray(editor, name); }(editor, name); } function isValid(editor, tag, attr) { return isXmlElement(editor, tag) || !1 === editor.settings.validate || editor.schema.isValid(tag, attr); } function processXML(editor, content) { return content.replace(/<([a-z0-9\-_\:\.]+)(?:[^>]*?)\/?>((?:[\s\S]*?)<\/\1>)?/gi, function(match, tag) { return "svg" === (tag = tag.toLowerCase()) && !1 === editor.settings.code_allow_svg_in_xml || "math" === tag && !1 === editor.settings.code_allow_mathml_in_xml || !isXmlElement(editor, tag) ? match : (!1 !== editor.settings.code_validate_xml && (match = function(editor, xml) { return function sanitizeNode(editor, node) { var html = []; switch (node.nodeType) { case 1: var name, value, tagName = node.nodeName.toLowerCase(); if (!isValid(editor, tagName)) return ""; html.push("<", tagName); for ({ name, value } of Array.from(node.attributes)) !isValid(editor, tagName, name) || !editor.settings.allow_event_attributes && name.startsWith("on") || (!booleanAttributes[name] || "" !== value && "true" !== value && value !== name ? html.push(" ", name, '="', editor.dom.encode(value, !0), '"') : html.push(" ", name)); if (shortEndedElements[tagName]) "html5-strict" === editor.settings.schema ? html.push(">") : html.push(" />"); else { html.push(">"); for (var child of Array.from(node.childNodes)) html.push(sanitizeNode(editor, child)); html.push(""); } break; case 3: var text = node.nodeValue; html.push(text); break; case 5: html.push(""); break; case 8: html.push("\x3c!--", editor.dom.encode(node.nodeValue, !0), "--\x3e"); } return html.join(""); }(editor, new DOMParser().parseFromString(xml, "text/xml").documentElement); }(editor, match)), Content_createHtml(editor, match, "xml")); }); } function processShortcode(editor, html, tagName) { var attrPlaceholders; return -1 === html.indexOf("{") || "{" == html.charAt(0) && html.length < 3 || (-1 != html.indexOf("{/source}") && (html = function(editor, html) { return -1 === html.indexOf("{/source}") ? html : html.replace(/(?:(<(code|pre|samp|span)[^>]*(data-mce-type="code")?>|")?)\{source(.*?)\}([\s\S]+?)\{\/source\}/g, function(match) { return "<" === match.charAt(0) || '"' === match.charAt(0) ? match : (match = editor.dom.decode(match), '
    ' + editor.dom.encode(match) + "
    "); }); }(editor, html)), tagName = tagName || "span", attrPlaceholders = [], html = (html = html.replace(/=("[^"]*\{[^"]*"|'[^']*\{[^']*')/g, function(match) { return attrPlaceholders.push(match), '="__SHORTCODE_ATTR_' + (attrPlaceholders.length - 1) + '__"'; })).replace(/(?:(<(code|pre|samp|span)[^>]*(data-mce-type="code")?>)?)(?:\{)([\w-]+)(.*?)(?:\/?\})(?:([\s\S]+?)\{\/\4\})?/g, function(match) { return "<" === match.charAt(0) ? match : Content_createShortcodeHtml(editor, match, tagName); }), attrPlaceholders.length && (html = html.replace(/="__SHORTCODE_ATTR_(\d+)__"/g, function(_match, index) { return attrPlaceholders[parseInt(index, 10)]; }))), html; } function processPhp(editor, content) { return canKeepCode(editor, "php") ? (content = content.replace(/\="([^"]+?)"/g, function(_a, b) { return '="' + b.replace(/<\?(php)?(.+?)\?>/gi, function(_x, _y, z) { return "__php_start__" + editor.dom.encode(z) + "__php_end__"; }) + '"'; }), (content = (content = /"; }) : content).replace(/<([^>]+)<\?(php)?(.+?)\?>([^>]*?)>/gi, function(_a, b, _c, d, e) { return " " !== b.charAt(b.length) && (b += " "), "<" + b + 'data-mce-php="' + d + '" ' + e + ">"; })).replace(/<\?(php)?([\s\S]+?)\?>/gi, function(match) { return match = match.replace(/\n/g, "
    "), Content_createHtml(editor, match, "php"); })) : content.replace(/<\?(php)?([\s\S]*?)\?>/gi, ""); } var Process = { init: function(editor) { htmlSchema = new tinymce.html.Schema({ schema: "mixed", invalid_elements: editor.settings.invalid_elements }), each$1(editor.schema.getShortEndedElements(), function(_shortEnded, name) { shortEndedElements[name.toLowerCase()] = !0; }), each$1(editor.schema.getBoolAttrs(), function(_boolAttr, name) { booleanAttributes[name.toLowerCase()] = !0; }); }, processOnInsert: function(editor, value, _node) { return /\{.+\}/gi.test(value) && editor.settings.code_protect_shortcode && (value = processShortcode(editor, value, void 0)), canKeepCode(editor, "custom_xml") && (value = processXML(editor, value)), /<(\?|script|style)/.test(value) && (value = value.replace(/<(script|style)([^>]*?)>([\s\S]*?)<\/\1>/gi, function(match, type) { return canKeepCode(editor, type) ? (match = match.replace(/]*?>/gi, "\n"), Content_createHtml(editor, match, type)) : ""; }), value = processPhp(editor, value)), /]*?rel="stylesheet"[^>]*?>/gi.test(value) ? value.replace(/]*?rel="stylesheet"[^>]*?>/gi, function(match) { return canKeepCode(editor, "style") ? Content_createHtml(editor, match, "link") : ""; }) : value; }, processShortcode: processShortcode, processPhp: processPhp, processXML: processXML }; const each = tinymce.each, Node = tinymce.html.Node, VK = tinymce.VK, DomParser = tinymce.html.DomParser, Serializer = tinymce.html.Serializer; function isOnlyChild(node) { var child = node.parent.firstChild, count = 0; if (child) do { if (1 === child.type) { if (child.attributes.map["data-mce-type"] || child.attributes.map["data-mce-bogus"]) continue; if (child === node) continue; count++; } 8 === child.type && count++, 3 !== child.type || /^[ \t\r\n]*$/.test(child.value) || count++; } while (child = child.next); return 0 === count; } tinymce.PluginManager.add("code", function(editor, url) { function canKeepCode(type) { return !1 === editor.settings.validate || editor.getParam("code_allow_" + type); } var blockElements = [], inlineElements = [], code_blocks = !1 !== editor.settings.code_use_blocks; function handleEnterInPre(ed, node, before) { var node = ed.dom.getParents(node, blockElements.join(",")), newBlockName = ed.settings.forced_root_block || "p"; !1 === ed.settings.force_block_newlines && (newBlockName = "br"), (node = node.shift()) !== ed.getBody() && (newBlockName = ed.dom.create(newBlockName, {}, "\xa0"), before ? node.parentNode.insertBefore(newBlockName, node) : ed.dom.insertAfter(newBlockName, node), (before = ed.selection.getRng()).setStart(newBlockName, 0), before.setEnd(newBlockName, 0), ed.selection.setRng(before), ed.selection.scrollIntoView(newBlockName)); } editor.settings.code_allow_script && (editor.settings.allow_script_urls = !0), editor.addCommand("InsertShortCode", function(ui, html) { return editor.settings.code_protect_shortcode && (html = Process.processShortcode(editor, html, "pre"), tinymce.is(html)) && editor.execCommand("mceReplaceContent", !1, html), !1; }), editor.onKeyDown.add(function(ed, e) { var node; if (e.keyCode == VK.ENTER) { if ("PRE" === (node = ed.selection.getNode()).nodeName && "shortcode" === node.getAttribute("data-mce-code")) return void (e.shiftKey || (ed.execCommand("InsertLineBreak", !1, e), e.preventDefault())); "SPAN" === node.nodeName && node.getAttribute("data-mce-code") && (handleEnterInPre(ed, node), e.preventDefault()); } e.keyCode == VK.UP && e.altKey && "PRE" == (node = ed.selection.getNode()).nodeName && (handleEnterInPre(ed, node, !0), e.preventDefault()), 9 != e.keyCode || VK.metaKeyPressed(e) || "PRE" === (node = ed.selection.getNode()).nodeName && node.getAttribute("data-mce-code") && (ed.selection.setContent("\t", { no_events: !0 }), e.preventDefault()), e.keyCode !== VK.BACKSPACE && e.keyCode !== VK.DELETE || "SPAN" === (node = ed.selection.getNode()).nodeName && node.getAttribute("data-mce-code") && "placeholder" === node.getAttribute("data-mce-type") && (ed.undoManager.add(), ed.dom.remove(node), e.preventDefault()); }), editor.onPreInit.add(function() { function isCodePlaceholder(node) { return "SPAN" === node.nodeName && node.getAttribute("data-mce-code") && "placeholder" == node.getAttribute("data-mce-type"); } function onSetContent() { each(editor.dom.select("pre[data-mce-code]", editor.getBody()), function(elm) { var clone, clonedElm; (elm = editor.dom.getParent(elm, "p")) && ((clonedElm = (clone = elm.cloneNode(!0)).querySelector("[data-mce-code]")) && clone.removeChild(clonedElm), editor.dom.isEmpty(clone)) && editor.dom.remove(elm, 1); }); } Process.init(editor), editor.dom.bind(editor.getDoc(), "keyup click", function(e) { var node = e.target, sel = editor.selection.getNode(); editor.dom.removeClass(editor.dom.select(".mce-item-selected"), "mce-item-selected"), node === editor.getBody() && isCodePlaceholder(sel) ? sel.parentNode !== node || sel.nextSibling || editor.dom.insertAfter(editor.dom.create("br", { "data-mce-bogus": 1 }), sel) : isCodePlaceholder(node) && (e.preventDefault(), e.stopImmediatePropagation(), editor.selection.select(node), window.setTimeout(function() { editor.dom.addClass(node, "mce-item-selected"); }, 10), e.preventDefault()); }); var ctrl = editor.controlManager.get("formatselect"); ctrl && each([ "script", "style", "php", "shortcode", "xml" ], function(key) { var title = editor.getLang("code." + key, key); if ("shortcode" === key && editor.settings.code_protect_shortcode) return ctrl.add(title, key, { class: "mce-code-" + key }), editor.formatter.register("shortcode", { block: "pre", attributes: { "data-mce-code": "shortcode" } }), !0; "xml" === key && (editor.settings.code_allow_xml = !!editor.settings.code_allow_custom_xml), canKeepCode(key) && code_blocks && (ctrl.add(title, key, { class: "mce-code-" + key }), editor.formatter.register(key, { block: "pre", attributes: { "data-mce-code": key }, onformat: function(elm) { each(editor.dom.select("br", elm), function(br) { editor.dom.replace(editor.dom.doc.createTextNode("\n"), br); }); } })); }), each(editor.schema.getBlockElements(), function(_block, blockName) { blockElements.push(blockName); }), each(editor.schema.getTextInlineElements(), function(_inline, name) { inlineElements.push(name); }), editor.settings.code_protect_shortcode && (editor.textpattern.addPattern({ start: "{", end: "}", cmd: "InsertShortCode", remove: !0 }), editor.textpattern.addPattern({ start: " {", end: "}", format: "inline-shortcode", remove: !1 })), editor.formatter.register("inline-shortcode", { inline: "span", attributes: { "data-mce-code": "shortcode" } }), editor.selection.onBeforeSetContent.addToTop(function(sel, o) { (sel = sel.getNode()) && "PRE" === sel.nodeName || (o.content = Process.processOnInsert(editor, o.content, sel)); }), editor.onSetContent.add(onSetContent), editor.selection.onSetContent.add(onSetContent), editor.parser.addNodeFilter("script,style,link", function(nodes) { for (var i = nodes.length; i--; ) { var node, text, value, placeholder, parent = (node = nodes[i]).parent; parent && "pre" === parent.name || ("link" == node.name && "stylesheet" != node.attr("rel") ? node.remove() : (node.attr("data-mce-fragment", null), node.firstChild && (node.firstChild.value = node.firstChild.value.replace(/]+)>([\s\S]+?)<\/span>/gi, function(match, attr, content) { return -1 === attr.indexOf("data-mce-code") ? match : editor.dom.decode(content); })), code_blocks ? (value = new Serializer({ validate: !1 }).serialize(node), value = tinymce.trim(value), (parent = new Node("pre", 1)).attr({ "data-mce-code": node.name }), text = Content_createTextNode(value, !1), parent.append(text), node.replace(parent)) : (value = "", node.firstChild && (value = tinymce.trim(node.firstChild.value)), placeholder = Node.create("img", { src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", "data-mce-code": node.name, "data-mce-type": "placeholder", "data-mce-resize": "false", title: editor.dom.encode(value) }), each(node.attributes, function(attr) { placeholder.attr("data-mce-p-" + attr.name, attr.value); }), value && placeholder.attr("data-mce-value", escape(value)), node.replace(placeholder)))); } }), editor.parser.addAttributeFilter("data-mce-code", function(nodes, name) { var node, i = nodes.length; function isBlockNode(node) { return -1 != tinymce.inArray(blockElements, node.name); } for (;i--; ) { var type, parent = (node = nodes[i]).parent; "placeholder" == node.attr("data-mce-type") || "shortcode" !== (type = node.attr(name)) && "php" !== type || ((type = node.firstChild.value) && (node.firstChild.value = type.replace(//g, "\n")), parent && (parent.attr(name) ? node.unwrap() : ("body" !== parent.name && !isOnlyChild(node) && function(node) { return "span" == node.name && (node.next && ("#text" == node.next.type || !isBlockNode(node.next)) || node.prev && ("#text" == node.prev.type || !isBlockNode(node.prev)) || node.parent && !isBlockNode(node.parent)); }(node) || (node.name = "pre", node.parent && function(node) { return -1 != tinymce.inArray(inlineElements, node.name); }(node.parent) && (node.name = "span"), "pre" == node.name && parent && "p" == parent.name && isOnlyChild(node) && parent.parent && parent.replace(node)), "span" == node.name && node === parent.lastChild && (type = Content_createTextNode("\xa0"), parent.append(type))))); } }), editor.serializer.addAttributeFilter("data-mce-code", function(nodes, name) { for (var i = nodes.length; i--; ) { var node, root_block = !1, type = (node = nodes[i]).attr(name); if ("img" === node.name) { var key, elm = new Node(type, 1); for (key in node.attributes.map) { var val = node.attributes.map[key]; -1 !== key.indexOf("data-mce-p-") ? key = key.substr(11) : val = null, elm.attr(key, val); } (imgValue = node.attr("data-mce-value")) && (imgValue = Content_createTextNode(unescape(imgValue)), "php" == type || "shortcode" == type ? elm = imgValue : elm.append(imgValue)), node.replace(elm); } else if (node.isEmpty() && node.remove(), "xml" !== type) { "script" !== type && "style" !== type || (root_block = type); var childVal, parser, child = node.firstChild, imgValue = node.clone(!0), text = ""; if (child) for (;/(shortcode|php)/.test(node.attr("data-mce-code")) || (childVal = "br" == child.name ? "\n" : child.value) && (text += childVal), child = child.next; ); text && (imgValue.empty(), parser = new DomParser({ validate: !1 }), "script" !== type && "style" !== type || parser.addNodeFilter(type, function(items, filterName) { for (var n = items.length; n--; ) { var item = items[n]; each(item.attributes, function(attr) { return !attr || 0 === attr.name.indexOf("data-") && -1 === attr.name.indexOf("data-mce-") || void (!1 === editor.schema.isValid(filterName, attr.name) && item.attr(attr.name, null)); }); } }), parser = parser.parse(text, { forced_root_block: root_block }), imgValue.append(parser)), node.replace(imgValue), "shortcode" === type && "pre" === imgValue.name && (root_block = Content_createTextNode("\n"), imgValue.append(root_block), imgValue.unwrap()); } } }), editor.onContextMenu.addToTop(function(ed, e) { if ((ed = ed.selection.getNode()) && ed.hasAttribute("data-mce-code")) return !1; }); }), editor.onInit.add(function() { editor.theme && editor.theme.onResolveName && editor.theme.onResolveName.add(function(theme, o) { var node = o.node; node.getAttribute("data-mce-code") && (o.name = node.getAttribute("data-mce-code")); }); }), editor.onMouseDown.add(function(ed, e) { var clientY, top, right, pre = e.target.closest("pre[data-mce-code]"); pre && ({ clientX: e, clientY } = e, { top, right } = pre.getBoundingClientRect(), right - 32 <= e) && clientY <= top + 32 && ed.dom.toggleClass(pre, "mce-code-toggle"); }), editor.onBeforeSetContent.addToTop(function(ed, o) { editor.settings.code_protect_shortcode && -1 === o.content.indexOf('data-mce-code="shortcode"') && (o.content = Process.processShortcode(editor, o.content)), canKeepCode("custom_xml") && o.content && o.load && (o.content = Process.processXML(editor, o.content)), /<(\?|script|style|link)/.test(o.content) && (canKeepCode("script") || (o.content = o.content.replace(/]*>([\s\S]*?)<\/script>/gi, "")), canKeepCode("style") || (o.content = o.content.replace(/]*>([\s\S]*?)<\/style>/gi, ""), o.content = o.content.replace(/]*?rel="stylesheet"[^>]*?>/gi, "")), o.content = Process.processPhp(editor, o.content)); }), editor.onPostProcess.add(function(ed, o) { o.get && (/(data-mce-php|__php_start__)/.test(o.content) && (o.content = o.content.replace(/({source})?__php_start__(.*?)__php_end__/g, function(match, pre, code) { return (pre || "") + ""; }), o.content = o.content.replace(/]*)>([\s\S]*?)<\/textarea>/gi, function(a, b, c) { return "" + (/<\?php/.test(c) ? ed.dom.decode(c) : c) + ""; }), o.content = o.content.replace(/data-mce-php="([^"]+?)"/g, function(a, b) { return ""; })), editor.settings.code_protect_shortcode && (o.content = o.content.replace(/\{([\s\S]+?)\}/gi, function(match, content) { return "{" + ed.dom.decode(content) + "}"; }), o.content = o.content.replace(/\{source([^\}]*?)\}([\s\S]+?)\{\/source\}/gi, function(match, start, content) { return "{source" + start + "}" + ed.dom.decode(content) + "{/source}"; }), o.content = o.content.replace(/\{([\w-]+)(.*?)\}([\s\S]+)\{\/\1\}/gi, function(match, start, attr, content) { return "{" + start + attr + "}" + ed.dom.decode(content) + "{/" + start + "}"; })), o.content = o.content.replace(/<(pre|span)([^>]+?)>([\s\S]*?)<\/\1>/gi, function(match, tag, attr, content) { return -1 === attr.indexOf("data-mce-code") ? match : (content = tinymce.trim(content), "script" != (attr = ed.dom.create("div", {}, match).firstChild.getAttribute("data-mce-code")) && (content = content.replace(/]*?>/gi, "\n")), content = ed.dom.decode(content), "php" == attr && (content = content.replace(/<\?(php)?/gi, "").replace(/\?>/g, ""), content = ""), content); }), o.content = o.content.replace(//gi, function(match, content) { return unescape(content); })); }); }); }(), function() { var each = tinymce.each; tinymce.PluginManager.add("effects", function(ed, url) { function cleanEventAttribute(val) { return val ? val.replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, "$1").replace(/^\s*|\s*$/g, "") : ""; } function bindMouseoverEvent(ed) { each(ed.dom.select("img"), function(elm) { var src = elm.getAttribute("src"), mouseover = elm.getAttribute("data-mouseover"), mouseout = elm.getAttribute("data-mouseout"); if (elm.onmouseover = elm.onmouseout = null, !src || !mouseover || !mouseout) return !0; elm.onmouseover = function() { elm.setAttribute("src", elm.getAttribute("data-mouseover")); }, elm.onmouseout = function() { elm.setAttribute("src", elm.getAttribute("data-mouseout") || src); }; }); } ed.onPreInit.add(function() { ed.onBeforeSetContent.add(function(ed, o) { var div; -1 !== o.content.indexOf("onmouseover=") && (div = ed.dom.create("div", {}, o.content), each(ed.dom.select("img[onmouseover]", div), function(node) { var mouseover = node.getAttribute("onmouseover"), mouseout = node.getAttribute("onmouseout"); return !mouseover || 0 !== mouseover.indexOf("this.src") || (mouseover = cleanEventAttribute(mouseover), node.removeAttribute("onmouseover"), !mouseover) || (node.setAttribute("data-mouseover", mouseover), void (mouseout && 0 === mouseout.indexOf("this.src") && (mouseout = cleanEventAttribute(mouseout), node.removeAttribute("onmouseout"), mouseout) && node.setAttribute("data-mouseout", mouseout))); }), o.content = div.innerHTML); }), ed.parser.addAttributeFilter("onmouseover", function(nodes) { for (var i = nodes.length; i--; ) { var mouseover, mouseout, node = nodes[i]; "img" === node.name && (mouseover = node.attr("onmouseover"), mouseout = node.attr("onmouseout"), mouseover) && 0 === mouseover.indexOf("this.src") && (mouseover = cleanEventAttribute(mouseover), node.attr("data-mouseover", mouseover), node.attr("onmouseover", null), mouseout) && 0 === mouseout.indexOf("this.src") && (mouseout = cleanEventAttribute(mouseout), node.attr("data-mouseout", mouseout), node.attr("onmouseout", null)); } }), ed.serializer.addAttributeFilter("data-mouseover", function(nodes) { for (var i = nodes.length; i--; ) { var mouseout, mouseover, node = nodes[i]; "img" === node.name && (mouseover = node.attr("data-mouseover"), mouseout = node.attr("data-mouseout"), mouseover = cleanEventAttribute(mouseover), node.attr("data-mouseover", null), node.attr("data-mouseout", null), mouseover) && (node.attr("onmouseover", "this.src='" + mouseover + "';"), mouseout = cleanEventAttribute(mouseout)) && node.attr("onmouseout", "this.src='" + mouseout + "';"); } }), ed.onSetContent.add(function() { bindMouseoverEvent(ed); }), ed.onUpdateMedia.add(function(ed, o) { bindMouseoverEvent(ed), o.before && o.after && each(ed.dom.select("img[data-mouseover]"), function(elm) { var mouseover = elm.getAttribute("data-mouseover"), mouseout = elm.getAttribute("data-mouseout"); if (!mouseover) return !0; mouseover == o.before && elm.setAttribute("data-mouseover", o.after), mouseout == o.before && elm.setAttribute("data-mouseout", o.after); }); }); }); }); }(), function() { var VK = tinymce.VK, each = tinymce.each, blocks = []; tinymce.PluginManager.add("format", function(ed, url) { var keyCode; function clearBlocks(e) { var n = ed.selection.getNode(), tag = ed.getParam("forced_root_block", "p") || (ed.getParam("force_block_newlines") ? "p" : "br"), p = ed.dom.getParents(n, blocks.join(",")); (p = ed.dom.getParent(n, "td,th") ? ed.dom.getParents(n, "td,th,tr,tfoot,thead,table") : p) && 1 < p.length && (e.preventDefault(), (n = p[p.length - 1]) !== ed.getBody()) && (p = ed.dom.create(tag, {}, "\xa0"), e.keyCode === VK.ENTER || e.keyCode === VK.DOWN ? ed.dom.insertAfter(p, n) : ed.dom.insertBefore(p, n), ed.selection.select(p), ed.selection.collapse(1)); } ed.addButton("italic", { title: "advanced.italic_desc", onclick: function(e) { e.preventDefault(), ed.focus(), e.shiftKey ? ed.formatter.toggle("italic-i") : ed.formatter.toggle("italic"), ed.undoManager.add(); } }), ed.addShortcut("meta+shift+i", "italic.desc", function() { ed.formatter.apply("italic-i"); }), ed.addCommand("mceSoftHyphen", function() { ed.execCommand("mceInsertContent", !1, ed.plugins.visualchars && ed.plugins.visualchars.state ? '­' : "­"); }), keyCode = 189, tinymce.isGecko && (keyCode = 173), ed.addShortcut("ctrl+shift+" + keyCode, "softhyphen.desc", "mceSoftHyphen"), ed.onPreInit.add(function(ed) { each(ed.schema.getBlockElements(), function(v, k) { if (/\W/.test(k)) return !0; blocks.push(k.toLowerCase()); }), ed.formatter.register("aside", { block: "aside", remove: "all", wrapper: !0 }), ed.formatter.register("p", { block: "p", remove: "all" }), ed.formatter.register("div", { block: "div", onmatch: !!ed.settings.forced_root_block && function() { return !1; } }), ed.formatter.register("div_container", { block: "div", wrapper: !0, onmatch: !!ed.settings.forced_root_block && function() { return !1; } }), ed.formatter.register("span", { inline: "span", remove: "all", onmatch: function() { return !1; } }), ed.formatter.register("section", { block: "section", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("article", { block: "article", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("footer", { block: "footer", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("header", { block: "header", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("nav", { block: "nav", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("code", { inline: "code", remove: "all" }), ed.formatter.register("samp", { inline: "samp", remove: "all" }), ed.formatter.register("blockquote", { block: "blockquote", wrapper: 1, remove: "all", merge_siblings: !1 }), ed.formatter.register("italic-i", { inline: "i", remove: "all" }); var doc, head, values, custom_css = ed.getParam("custom_css", ""); custom_css && (head = (doc = ed.getDoc()).getElementsByTagName("head")[0], ed = ed.dom.create("style", { type: "text/css", id: "mceCustomStyles" }), values = [], each(custom_css.split(";"), function(value) { values.push(".mceContentBody " + value); }), ed.appendChild(doc.createTextNode(values.join(";"))), head.appendChild(ed)); }), ed.settings.removeformat = [ { selector: "b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,footer", remove: "all", split: !0, expand: !1, block_expand: !0, deep: !0 } ], ed.onKeyDown.add(function(ed, e) { e.keyCode !== VK.ENTER && e.keyCode !== VK.UP && e.keyCode !== VK.DOWN || !e.altKey || clearBlocks(e); }), ed.onKeyUp.addToTop(function(ed, e) { e.keyCode === VK.ENTER && "DIV" === (e = ed.selection.getNode()).nodeName && ed.settings.force_block_newlines && (!1 === ed.settings.keep_styles && ed.dom.removeAllAttribs(e), ed.formatter.apply("p")); }), ed.onBeforeExecCommand.add(function(ed, cmd, ui, v, o) { var p, n = ed.selection.getNode(); switch (cmd) { case "FormatBlock": if (!v) { if (o.terminate = !0, n === ed.getBody()) return; ed.undoManager.add(), (p = ed.dom.getParent(n, blocks.join(",")) || "") && (name = p.nodeName.toLowerCase(), ed.formatter.get(name)) && ed.formatter.remove(name); var name = ed.controlManager.get("formatselect"); name && name.select(p); } "dl" === v && (ed.execCommand("InsertDefinitionList"), o.terminate = !0), "dt" !== v && "dd" !== v || (n && !ed.dom.getParent(n, "dl") && ed.execCommand("InsertDefinitionList"), "dt" === v && "DD" === n.nodeName && ed.dom.rename(n, "DT"), "dd" === v && "DT" === n.nodeName && ed.dom.rename(n, "DD"), o.terminate = !0); break; case "RemoveFormat": v || ed.dom.isBlock(n) || (name = ed.controlManager.get("styleselect")) && name.selectedValue && ed.execCommand("mceToggleFormat", !1, name.selectedValue); } }), ed.onExecCommand.add(function(ed, cmd, ui, v, o) { var n = ed.selection.getNode(); "mceToggleFormat" !== cmd || "dt" !== v && "dd" !== v || "DL" === n.nodeName && 0 === ed.dom.select("dt,dd", n).length && ed.formatter.remove("dl"); }); }); }(), function() { var each = tinymce.each, DOM = tinymce.DOM, PreviewCss = tinymce.util.PreviewCss, rgba = {}, luma = {}; function getLuminance(val) { var RsRGB, GsRGB, col; return luma[val] || (RsRGB = (col = function(val) { var r, b, g, a, values, match; return rgba[val] || (g = b = r = 0, -(a = 1) !== val.indexOf("#") ? (3 === (val = val.substr(1)).length && (val += val), r = parseInt(val.substring(0, 2), 16), g = parseInt(val.substring(2, 4), 16), b = parseInt(val.substring(4, 6), 16), 6 < val.length && (a = +((a = parseInt(val.substring(6, 8), 16)) / 255).toFixed(2))) : (val = val.replace(/\s/g, ""), (values = (match = /^(?:rgb|rgba)\(([^\)]*)\)$/.exec(val)) ? match[1].split(",").map(function(x, i) { return parseFloat(x); }) : values) && (r = values[0], g = values[1], b = values[2], 4 === values.length) && (a = values[3] || 1)), rgba[val] = { r: r, g: g, b: b, a: a }), rgba[val]; }(val)).r / 255, GsRGB = col.g / 255, col = col.b / 255, RsRGB = RsRGB <= .03928 ? RsRGB / 12.92 : Math.pow((.055 + RsRGB) / 1.055, 2.4), GsRGB = GsRGB <= .03928 ? GsRGB / 12.92 : Math.pow((.055 + GsRGB) / 1.055, 2.4), col = col <= .03928 ? col / 12.92 : Math.pow((.055 + col) / 1.055, 2.4), luma[val] = .2126 * RsRGB + .7152 * GsRGB + .0722 * col), luma[val]; } function isReadable(color1, color2, wcag2, limit) { return color1 = getLuminance(color1), color2 = getLuminance(color2), wcag2 = wcag2 || 4.5, limit = limit || 21, (color1 = (Math.max(color1, color2) + .05) / (Math.min(color1, color2) + .05)) >= parseFloat(wcag2) && color1 < parseFloat(limit); } tinymce.PluginManager.add("importcss", function(ed, url) { var self = this; function setGuideLinesColor() { var gray = [ "#000000", "#080808", "#101010", "#181818", "#202020", "#282828", "#303030", "#383838", "#404040", "#484848", "#505050", "#585858", "#606060", "#686868", "#696969", "#707070", "#787878", "#808080", "#888888", "#909090", "#989898", "#a0a0a0", "#a8a8a8", "#a9a9a9", "#b0b0b0", "#b8b8b8", "#bebebe", "#c0c0c0", "#c8c8c8", "#d0d0d0", "#d3d3d3", "#d8d8d8", "#dcdcdc", "#e0e0e0", "#e8e8e8", "#f0f0f0", "#f5f5f5", "#f8f8f8", "#ffffff" ], blue = [ "#0d47a1", "#1565c0", "#1976d2", "#1e88e5", "#2196f3", "#42a5f5", "#64b5f6", "#90caf9", "#bbdefb", "#e3f2fd" ], guidelines = "#787878", control = "#1e88e5", bodybg = ed.dom.getStyle(ed.getBody(), "background-color", !0), color = ed.dom.getStyle(ed.getBody(), "color", !0); if (bodybg) { ed._hasGuidelines = !0; for (var i = 0; i < gray.length; i++) if (isReadable(gray[i], bodybg, 4.5, 5) && ed.dom.toHex(color) !== ed.dom.toHex(gray[i])) { guidelines = gray[i]; break; } for (var css, i = 0; i < blue.length; i++) if (isReadable(blue[i], bodybg, 4.5, 5)) { control = blue[i]; break; } (guidelines || control) && (css = ":root{", guidelines && (css = css + "--mce-guidelines: " + guidelines + ";--mce-visualchars: #a8a8a8;"), css += "--mce-placeholder: #efefef;", control && (css = css + "--mce-control-selection: " + control + ";--mce-control-selection-bg: #b4d7ff;"), ed.dom.addStyle(css += "}")); } } ed.onImportCSS = new tinymce.util.Dispatcher(), ed.onImportCSS.add(function() { tinymce.is(ed.settings.importcss_classes) || self.get(); }), ed.onInit.add(function() { var hex, bodybg, color; ed.onImportCSS.dispatch(), "auto" !== ed.settings.content_style_reset || ed.dom.hasClass(ed.getBody(), "mceContentReset") || (bodybg = ed.dom.getStyle(ed.getBody(), "background-color", !0), color = ed.dom.getStyle(ed.getBody(), "color", !0), bodybg && color && ((hex = ed.dom.toHex(bodybg)) == ed.dom.toHex(color) && "#000000" === hex || isReadable(color, bodybg, 3) || ed.dom.addClass(ed.getBody(), "mceContentReset"))), setGuideLinesColor(); }), ed.onFocus.add(function(ed) { ed._hasGuidelines || setGuideLinesColor(); }), this.get = function() { var self = this, doc = ed.getDoc(), href = "", rules = [], fontface = [], filtered = {}, classes = [], bodyRx = !!ed.settings.body_class && new RegExp(".(" + ed.settings.body_class.split(" ").join("|") + ")"); if (!classes.length) try { each(doc.styleSheets, function(styleSheet) { !function parseCSS(stylesheet) { each(stylesheet.imports, function(r) { var v; 0 < r.href.indexOf("://fonts.googleapis.com") ? (v = "@import url(" + r.href + ");", -1 === self.fontface.indexOf(v) && self.fontface.unshift(v)) : parseCSS(r); }); try { if (rules = stylesheet.cssRules || stylesheet.rules, !(href = stylesheet.href)) return; if (url = href, -1 !== /\/(tinymce|plugins\/jce)\//.match(url) && -1 !== url.indexOf("content.css")) return; href = href.substr(0, href.lastIndexOf("/") + 1), ed.hasStyleSheets = !0; } catch (e) {} var url; each(rules, function(r) { switch (r.type || 1) { case 1: if (!function(href) { var styleselect = ed.getParam("styleselect_stylesheets"); return !styleselect || (void 0 === filtered[href] && (filtered[href] = -1 !== href.indexOf(styleselect)), filtered[href]); }(stylesheet.href)) return !0; r.selectorText && each(r.selectorText.split(","), function(v) { var value; v = v.trim(), /\.mce[-A-Za-z0-9]/.test(v) || /\.wf[e]?-/.test(v) || (value = v, bodyRx && bodyRx.test(value)) || /\.[\w\-\:]+$/.test(v) && classes.push(v); }); break; case 3: 0 < r.href.indexOf("//fonts.googleapis.com") && (v = "@import url(" + r.href + ");", -1 === fontface.indexOf(v)) && fontface.unshift(v), -1 === r.href.indexOf("//") && parseCSS(r.styleSheet); break; case 5: var v; r.cssText && !1 === /(fontawesome|glyphicons|icomoon)/i.test(r.cssText) && (u = r.cssText, p = href, v = u.replace(/url\(["']?(.+?)["']?\)/gi, function(a, b) { return b.indexOf("://") < 0 ? 'url("' + p + b + '")' : a; }), -1 === fontface.indexOf(v)) && fontface.push(v); } var u, p; }); }(styleSheet); }); } catch (ex) {} if (!fontface.length) try { var setCss, head = DOM.doc.getElementsByTagName("head")[0], style = DOM.create("style", { type: "text/css" }), css = self.fontface.join("\n"); style.styleSheet ? (setCss = function() { try { style.styleSheet.cssText = css; } catch (e) {} }, style.styleSheet.disabled ? setTimeout(setCss, 10) : setCss()) : style.appendChild(DOM.doc.createTextNode(css)), head.appendChild(style); } catch (e) {} if (classes.length) return classes = classes.filter(function(val, ind, arr) { return arr.indexOf(val) === ind; }), ed.getParam("styleselect_sort", 1) && classes.sort(), ed.settings.importcss_classes = tinymce.map(classes, function(val) { var selectorText = (selectorText = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText = val)) && "body" !== selectorText[1] ? selectorText[2].substr(1).split(".").join(" ") : "", style = PreviewCss.getCssText(ed, { classes: selectorText.split(" ") }); return { selector: val, class: selectorText, style: style }; }), PreviewCss.reset(), ed.settings.importcss_classes; }; }); }(), tinymce.PluginManager.add("colorpicker", function(ed, url) { ed.addCommand("mceColorPicker", function(ui, v) { ed.windowManager.open({ url: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=colorpicker", size: "mce-modal-portrait-320", close_previous: !1 }, { input_color: v.color, func: v.func }); }); }), function() { var each = tinymce.each, JSON = tinymce.util.JSON, RangeUtils = tinymce.dom.RangeUtils, Uuid = tinymce.util.Uuid, Env = tinymce.util.Env; tinymce.PluginManager.add("upload", function(ed, url) { var plugins = [], files = [], noop = (ed.onPreInit.add(function() { function bindUploadEvents(ed) { each(ed.dom.select(".mce-item-upload-marker", ed.getBody()), function(n) { 0 == plugins.length ? ed.dom.remove(n) : bindUploadMarkerEvents(n); }); } each(ed.plugins, function(plg, name) { var data; tinymce.is(plg.getUploadConfig, "function") && (data = plg.getUploadConfig()).inline && data.filetypes && plugins.push(plg); }), ed.onBeforeSetContent.add(function(ed, o) { o.content = o.content.replace(/<\/media>/g, " "); }), ed.onPostProcess.add(function(ed, o) { o.content = o.content.replace(/( |\u00a0)<\/media>/g, ""); }), ed.schema.addValidElements("+media[type|width|height|class|style|title|*]"), ed.serializer.addAttributeFilter("data-mce-marker", function(nodes, name, args) { for (var i = nodes.length; i--; ) nodes[i].remove(); }), ed.parser.addNodeFilter("img,media", function(nodes) { for (var node, i = nodes.length; i--; ) !function(node) { return "media" === node.name || "img" === node.name && (node.attr("data-mce-upload-marker") || !(!(node = node.attr("class")) || -1 == node.indexOf("upload-placeholder"))); }(node = nodes[i]) || (0 == plugins.length ? node.remove() : function(node) { var src = node.attr("src") || "", style = {}, cls = []; node.attr("alt") || /data:image/.test(src) || (src = src.substring(src.length, src.lastIndexOf("/") + 1), node.attr("alt", src)), node.attr("style") && (style = ed.dom.styles.parse(node.attr("style"))), node.attr("hspace") && (style["margin-left"] = style["margin-right"] = node.attr("hspace")), node.attr("vspace") && (style["margin-top"] = style["margin-bottom"] = node.attr("vspace")), node.attr("align") && (style.float = node.attr("align")), (cls = node.attr("class") ? node.attr("class").replace(/\s*upload-placeholder\s*/, "").split(" ") : cls).push("mce-item-upload"), cls.push("mce-item-upload-marker"), "media" === node.name && (node.name = "img", node.shortEnded = !0), node.attr({ src: Env.transparentSrc, class: tinymce.trim(cls.join(" ")) }), src = ed.dom.create("span", { style: style }), (cls = ed.dom.getAttrib(src, "style")) && node.attr({ style: cls, "data-mce-style": cls }); }(node)); }), ed.serializer.addNodeFilter("img", function(nodes) { for (var node, cls, i = nodes.length; i--; ) (cls = (node = nodes[i]).attr("class")) && /mce-item-upload-marker/.test(cls) && (cls = cls.replace(/(?:^|\s)(mce-item-)(?!)(upload|upload-marker|upload-placeholder)(?!\S)/g, ""), node.attr({ "data-mce-src": "", src: "", class: tinymce.trim(cls) }), node.name = "media", node.shortEnded = !1, node.attr("alt", null), node.attr("data-mce-upload-marker", null)); }), ed.onSetContent.add(function() { bindUploadEvents(ed); }), ed.onFullScreen && ed.onFullScreen.add(function(editor) { bindUploadEvents(editor); }); }), ed.onInit.add(function() { function cancelEvent(e) { e.preventDefault(), e.stopPropagation(); } 0 == plugins.length ? (ed.dom.bind(ed.getBody(), "dragover", function(e) { var dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && dataTransfer.files.length && e.preventDefault(); }), ed.dom.bind(ed.getBody(), "drop", function(e) { var dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && dataTransfer.files.length && e.preventDefault(); })) : (ed.theme && ed.theme.onResolveName && ed.theme.onResolveName.add(function(theme, o) { var n = o.node; n && "IMG" === n.nodeName && /mce-item-upload/.test(n.className) && (o.name = "placeholder"); }), ed.dom.bind(ed.getBody(), "dragover", function(e) { e.dataTransfer.dropEffect = tinymce.VK.metaKeyPressed(e) ? "copy" : "move"; }), ed.dom.bind(ed.getBody(), "drop", function(e) { var rng, dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && dataTransfer.files.length && (each(dataTransfer.files, function(file) { rng || (rng = RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, ed.getDoc())) && ed.selection.setRng(rng), addFile(file); }), cancelEvent(e)), files.length && each(files, function(file) { uploadFile(file); }), tinymce.isGecko && "IMG" == e.target.nodeName && cancelEvent(e); })); }), function() {}); function uploadHandler(file, success, failure, progress) { success = success || noop, failure = failure || noop, progress = progress || noop; var xhr, formData, args = { method: "upload", id: Uuid.uuid("wf_"), inline: 1, name: file.filename }, url = file.upload_url; url += "&" + ed.settings.query, (xhr = new XMLHttpRequest()).open("POST", url), xhr.upload.onprogress = function(e) { progress(e.loaded / e.total * 100); }, xhr.onerror = function() { failure("Image upload failed due to a XHR Transport error. Code: " + xhr.status); }, xhr.onload = function() { var json; xhr.status < 200 || 300 <= xhr.status ? failure("HTTP Error: " + xhr.status) : ((json = JSON.parse(xhr.responseText)) || failure("Invalid JSON response!"), json.error || !json.result ? failure(json.error.message || "Invalid JSON response!") : success(json.result)); }, formData = new FormData(), each(args, function(value, name) { formData.append(name, value); }), formData.append("file", file, file.name), xhr.send(formData); } function addFile(file) { if (!/\.(php([0-9]*)|phtml|pl|py|jsp|asp|htm|html|shtml|sh|cgi)\./i.test(file.name) && (each(plugins, function(plg) { if (!file.upload_url) { var url = plg.getUploadURL(file); if (url) return file.upload_url = url, file.uploader = plg, !1; } }), file.upload_url)) { if (tinymce.is(file.uploader.getUploadConfig, "function")) { var config = file.uploader.getUploadConfig(), name = file.target_name || file.name; if (file.filename = name.replace(/[\+\\\/\?\#%&<>"\'=\[\]\{\},;@\^\(\)\xa3\u20ac$~]/g, ""), !new RegExp(".(" + config.filetypes.join("|") + ")$", "i").test(file.name)) return ed.windowManager.alert({ text: ed.getLang("upload.file_extension_error", "File type not supported"), title: ed.getLang("upload.error", "Upload Error") }), 0; if (file.size && (name = parseInt(config.max_size, 10) || 1024, file.size > 1024 * name)) return ed.windowManager.alert({ text: ed.getLang("upload.file_size_error", "File size exceeds maximum allowed size"), title: ed.getLang("upload.error", "Upload Error") }), 0; } var w; return file.marker || !1 === ed.settings.upload_use_placeholder || (config = Uuid.uuid("wf-tmp-"), ed.execCommand("mceInsertContent", !1, '\ufeff', { skip_undo: 1 }), name = ed.dom.get(config), /image\/(gif|png|jpeg|jpg)/.test(file.type) && file.size ? (config = Math.round(Math.sqrt(file.size)), w = Math.max(300, config), config = Math.max(300, config), ed.dom.setStyles(name, { width: w, height: config }), ed.dom.addClass(name, "mce-item-upload")) : ed.setProgressState(!0), file.marker = name), files.push(file), 1; } ed.windowManager.alert({ text: ed.getLang("upload.file_extension_error", "File type not supported"), title: ed.getLang("upload.error", "Upload Error") }); } function bindUploadMarkerEvents(marker) { var dom = tinymce.DOM; function removeUpload() { dom.setStyles("wf_upload_button", { top: "", left: "", display: "none", zIndex: "" }); } ed.onNodeChange.add(removeUpload), ed.dom.bind(ed.getWin(), "scroll", removeUpload); var btn, input = dom.get("wf_upload_input"); dom.get("wf_upload_button") || (btn = dom.add(dom.doc.body, "div", { id: "wf_upload_button", class: "btn", role: "button", title: ed.getLang("upload.button_description", "Click to upload a file") }, '"), input = dom.add(btn, "input", { type: "file", id: "wf_upload_input" })), ed.dom.bind(marker, "mouseover", function(e) { var p2, x, p1, vp; ed.dom.getAttrib(marker, "data-mce-selected") || (vp = ed.dom.getViewPort(ed.getWin()), p1 = dom.getRect(ed.getContentAreaContainer()), p2 = ed.dom.getRect(marker), vp.y > p2.y + p2.h / 2 - 25) || vp.y < p2.y + p2.h / 2 + 25 - p1.h || (x = Math.max(p2.x - vp.x, 0) + p1.x, p1 = Math.max(p2.y - vp.y, 0) + p1.y - Math.max(vp.y - p2.y, 0), vp = "mce_fullscreen" == ed.id ? dom.get("mce_fullscreen_container").style.zIndex : 0, dom.setStyles("wf_upload_button", { top: p1 + p2.h / 2 - 16, left: x + p2.w / 2 - 50, display: "block", zIndex: vp + 1 }), dom.setStyles("wf_select_button", { top: p1 + p2.h / 2 - 16, left: x + p2.w / 2 - 50, display: "block", zIndex: vp + 1 }), input.onchange = function() { var file; input.files && (file = input.files[0]) && (file.marker = marker, addFile(file)) && (each([ "width", "height" ], function(key) { ed.dom.setStyle(marker, key, ed.dom.getAttrib(marker, key)); }), file.marker = ed.dom.rename(marker, "span"), uploadFile(file), removeUpload()); }); }), ed.dom.bind(marker, "mouseout", function(e) { !e.relatedTarget && 0 < e.clientY || removeUpload(); }); } function removeFile(file) { for (var i = 0; i < files.length; i++) files[i] === file && files.splice(i, 1); files.splice(tinymce.inArray(files, file), 1); } function uploadFile(file) { uploadHandler(file, function(response) { response = (response = response.files || []).length ? response[0] : {}; file.uploader && (response = tinymce.extend({ type: file.type, name: file.name }, response), function(file, data) { var w, h, marker = file.marker, file = file.uploader; ed.selection.select(marker), (file = file.insertUploadedFile(data)) && ("object" == typeof file && file.nodeType && (ed.dom.hasClass(marker, "mce-item-upload-marker") && (data = ed.dom.getAttrib(marker, "data-mce-style"), w = marker.width || 0, h = marker.height || 0, data && ((data = ed.dom.styles.parse(data)).width && (w = data.width, delete data.width), data.height && (h = data.height, delete data.height), ed.dom.setStyles(file, data)), w && ed.dom.setAttrib(file, "width", w), h) && ed.dom.setAttrib(file, "height", h = w ? "" : h), ed.undoManager.add(), ed.dom.replace(file, marker)), ed.nodeChanged()); }(file, response)), removeFile(file), file.marker && ed.dom.remove(file.marker), ed.setProgressState(!1); }, function(message) { ed.windowManager.alert({ text: message, title: ed.getLang("upload.error", "Upload Error") }), removeFile(file), file.marker && ed.dom.remove(file.marker), ed.setProgressState(!1); }, function(value) { file.marker && ed.dom.setAttrib(file.marker, "data-progress", value); }); } this.plugins = plugins, this.upload = uploadHandler; }); }(), function() { var VK = tinymce.VK, Node = tinymce.html.Node, each = tinymce.each, blocks = []; tinymce.PluginManager.add("figure", function(ed, url) { ed.onPreInit.add(function(ed) { function setClipboardData(ed, e) { var node, content, clipboardData = e.clipboardData; clipboardData && (node = ed.dom.getParent(ed.selection.getNode(), "figure")) && (ed.selection.select(node), content = { html: content = ed.selection.getContent({ contextual: !0 }), text: content.toString() }, clipboardData.clearData(), clipboardData.setData("text/html", content.html), clipboardData.setData("text/plain", content.text), "cut" == e.type) && ed.dom.remove(node); } ed.parser.addNodeFilter("figure", function(nodes, name) { for (var figcaption, node, i = nodes.length; i--; ) 0 === (node = nodes[i]).getAll("figcaption").length && ((figcaption = new Node("figcaption", 1)).attr("data-mce-empty", ed.getLang("figcaption.default", "Write a caption...")), figcaption.attr("contenteditable", !0), node.append(figcaption)), node.attr("data-mce-image", "1"), node.attr("contenteditable", "false"), each(node.getAll("img"), function(img) { img.attr("data-mce-contenteditable", "true"); }), !1 !== ed.settings.figure_data_attribute && node.attr("data-wf-figure", "1"); }), ed.parser.addNodeFilter("figcaption", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).firstChild || node.attr("data-mce-empty", ed.getLang("figcaption.default", "Write a caption...")), node.attr("contenteditable", "true"); }), ed.serializer.addNodeFilter("figure", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).attr("contenteditable", null), each(node.getAll("img"), function(img) { img.attr("data-mce-contenteditable", null); }); }), ed.serializer.addNodeFilter("figcaption", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).firstChild ? node.attr("contenteditable", null) : node.remove(); }), ed.serializer.addAttributeFilter("data-mce-image", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr(name, null); }), each(ed.schema.getBlockElements(), function(v, k) { if (/\W/.test(k)) return !0; blocks.push(k.toLowerCase()); }), ed.formatter.register("figure", { block: "figure", remove: "all", ceFalseOverride: !0, deep: !1, onformat: function(elm, fmt, vars, node) { vars = vars || {}, ed.dom.select("img,video,iframe", elm) && (ed.dom.setAttribs(elm, { "data-mce-image": 1, contenteditable: !1 }), ed.dom.setAttrib(ed.dom.select("img", elm), "data-mce-contenteditable", "true"), ed.dom.add(elm, "figcaption", { "data-mce-empty": ed.getLang("figcaption.default", "Write a caption..."), contenteditable: !0 }, vars.caption || ""), !1 !== ed.settings.figure_data_attribute) && ed.dom.setAttribs(elm, { "data-wf-figure": "1" }); }, onremove: function(node) { ed.dom.remove(ed.dom.select("figcaption", node)), ed.dom.remove(ed.dom.getParent("figure", node), 1); } }), ed.onBeforeExecCommand.add(function(ed, cmd, ui, v, o) { var parent, se = ed.selection, n = se.getNode(); switch (cmd) { case "JustifyRight": case "JustifyLeft": case "JustifyCenter": n && ed.dom.is(n, "img,span[data-mce-object]") && (parent = ed.dom.getParent(n, "FIGURE")) && (se.select(parent), ed.execCommand(cmd, !1), o.terminate = !0); } }), ed.onClick.add(function(ed, e) { "IMG" === e.target.nodeName && VK.metaKeyPressed(e) && (e = ed.dom.getParent(e.target, "figure")) && (ed.selection.select(e), ed.nodeChanged()); }), ed.onNodeChange.add(function(ed, cm, n) { "FIGURE" !== n.nodeName && ed.dom.removeAttrib(ed.dom.select("figure"), "data-mce-selected"); }), ed.onCopy.add(setClipboardData), ed.onCut.add(setClipboardData), ed.onKeyDown.add(function(ed, e) { var container, offset, isDelete = e.keyCode == VK.DELETE; if (!e.isDefaultPrevented() && (isDelete || e.keyCode == VK.BACKSPACE) && !VK.modifierPressed(e) && (container = (isDelete = ed.selection.getRng()).startContainer, offset = isDelete.startOffset, isDelete = isDelete.collapsed, container = ed.dom.getParent(container, "FIGURE"))) { var node = ed.selection.getNode(); if ("IMG" === node.nodeName) ed.dom.remove(container), ed.nodeChanged(), e.preventDefault(); else if ("FIGCAPTION" != node.nodeName || node.nodeValue && 0 !== node.nodeValue.length || 0 !== node.childNodes.length || e.preventDefault(), 3 === node.nodeType && !isDelete && !offset) { var figcaption = ed.dom.getParent(node, "FIGCAPTION"); if (figcaption) { for (;figcaption.firstChild; ) figcaption.removeChild(figcaption.firstChild); e.preventDefault(); } } } }); }); }); }(), function() { var DOM = tinymce.DOM; tinymce.PluginManager.add("noneditable", function(editor) { var editClass = tinymce.trim(editor.getParam("noneditable_editable_class", "mceEditable")), nonEditClass = tinymce.trim(editor.getParam("noneditable_noneditable_class", "mceNonEditable")); function hasClass(checkClassName) { return function(node) { return -1 !== (" " + node.attr("class") + " ").indexOf(checkClassName); }; } var nonEditableRegExps, hasEditClass = hasClass(editClass), hasNonEditClass = hasClass(nonEditClass); (nonEditableRegExps = editor.getParam("noneditable_regexp")) && !nonEditableRegExps.length && (nonEditableRegExps = [ nonEditableRegExps ]), editor.onPreInit.add(function() { editor.formatter.register("noneditable", { block: "div", wrapper: !0, onformat: function(elm, fmt, vars) { tinymce.each(vars, function(value, key) { editor.dom.setAttrib(elm, key, value); }); } }), nonEditableRegExps && editor.onBeforeSetContent.add(function(ed, e) { !function(e) { var i = nonEditableRegExps.length, content = e.content, cls = tinymce.trim(nonEditClass); function replaceMatchWithSpan(match) { var args = arguments, index = args[args.length - 2], prevChar = 0 < index ? content.charAt(index - 1) : ""; return '"' === prevChar || ">" === prevChar && -1 !== (prevChar = content.lastIndexOf("<", index)) && -1 !== content.substring(prevChar, index).indexOf('contenteditable="false"') ? match : '' + editor.dom.encode("string" == typeof args[1] ? args[1] : args[0]) + ""; } if ("raw" != e.format) { for (;i--; ) content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan); e.content = content; } }(e); }), editor.parser.addAttributeFilter("class", function(nodes) { for (var node, i = nodes.length; i--; ) node = nodes[i], hasEditClass(node) ? node.attr("contenteditable", "true") : hasNonEditClass(node) && node.attr("contenteditable", "false"); }), editor.serializer.addAttributeFilter("contenteditable", function(nodes) { for (var node, i = nodes.length; i--; ) node = nodes[i], (hasEditClass(node) || hasNonEditClass(node)) && (nonEditableRegExps && node.attr("data-mce-content") ? (node.name = "#text", node.type = 3, node.raw = !0, node.value = node.attr("data-mce-content")) : node.attr("contenteditable", null)); }); }), this.isEditable = function(node) { return node.attr ? node.hasClass(editClass) : DOM.hasClass(node, editClass); }, this.isNonEditable = function(node) { return node.attr ? node.hasClass(nonEditClass) : DOM.hasClass(node, nonEditClass); }; }); }(), function() { var DOM = tinymce.DOM; tinymce.PluginManager.add("branding", function(ed, url) { !1 !== ed.settings.branding && (ed.onPostRender.add(function() { var container = ed.getContentAreaContainer(); DOM.insertAfter(DOM.create("div", { class: "mceBranding" }, 'Powered by JCE Core. JCE Pro'), container); }), ed.onNodeChange.add(function(ed, cm, n, co) { var container = ed.getContentAreaContainer(), msg = "Get more features with "; "IMG" === n.nodeName && (msg = "Image resizing, thumbnails and editing in "), ed.dom.is(n, ".mce-item-media") && (msg = "Upload and manage audio and video with "), DOM.setHTML(DOM.get("mceBrandingMessage", container), msg); })); }); }(), function() { function uniqueId(prefix) { return "blobid" + count++; } var each = tinymce.each, BlobCache = tinymce.file.BlobCache, Conversions = tinymce.file.Conversions, Uuid = tinymce.util.Uuid, DOM = tinymce.DOM, count = 0; tinymce.PluginManager.add("blobupload", function(ed, url) { var uploaders = []; function findMarker(marker) { var found; return each(ed.dom.select("img[src]"), function(image) { if (image.src == marker.src) return found = image, !1; }), found; } function removeMarker(marker) { each(ed.dom.select("img[src]"), function(image) { image.src == marker.src && (ed.selection.select(image), ed.execCommand("mceRemoveNode"), "P" == (image = ed.selection.getNode()).nodeName) && ed.dom.isEmpty(image) && ed.dom.add(image, "br", { "data-mce-bogus": 1 }); }); } function uploadPastedImage(marker, blobInfo) { return new Promise(function(resolve, reject) { if (!uploaders.length) return removeMarker(marker), resolve(); var html = '

    ' + ed.getLang("upload.name_description", "Please supply a name for this file") + '

    %
    ', win = ed.windowManager.open({ title: ed.getLang("dlg.name", "Name"), content: html, size: "mce-modal-landscape-small", buttons: [ { title: ed.getLang("cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("submit", "Submit"), id: "submit", onclick: function(e) { var url, uploader, quality, value, images, filename = DOM.getValue(ed.id + "_blob_input"); return filename ? (filename = filename.replace(/[\+\\\/\?\#%&<>"\'=\[\]\{\},;@\^\(\)\xa3\u20ac$~]/g, ""), /\.(php([0-9]*)|phtml|pl|py|jsp|asp|htm|html|shtml|sh|cgi)\b/i.test(filename) ? (ed.windowManager.alert({ text: ed.getLang("upload.file_extension_error", "File type not supported"), title: ed.getLang("upload.error", "Upload Error") }), removeMarker(marker), resolve()) : (each(uploaders, function(instance) { if (!url && (url = instance.getUploadURL({ name: blobInfo.filename() }))) return uploader = instance, !1; }), url ? (value = blobInfo.filename(), value = (/\.(jpg|jpeg|png|gif|webp|avif)$/.test(value) ? value.substring(value.length, value.lastIndexOf(".") + 1) : "") || "jpeg", quality = DOM.getValue(ed.id + "_blob_quality") || 100, value = DOM.getValue(ed.id + "_blob_mimetype") || value, filename = { method: "upload", id: Uuid.uuid("wf_"), inline: 1, name: filename, url: url + "&" + ed.settings.query, mimetype: "image/" + value, quality: quality }, images = tinymce.grep(ed.dom.select("img[src]"), function(image) { return image.src == marker.src; }), ed.setProgressState(!0), void function(settings, blobInfo, failure) { var formData, xhr = new XMLHttpRequest(); xhr.open("POST", settings.url), xhr.upload.onprogress = function(e) { e.loaded, e.total; }, xhr.onerror = function() { failure("Image upload failed due to a XHR Transport error. Code: " + xhr.status); }, xhr.onload = function() { var json, data; xhr.status < 200 || 300 <= xhr.status ? failure("HTTP Error: " + xhr.status) : (json = JSON.parse(xhr.responseText)) && !json.error && json.result && json.result.files ? ((data = json.result.files[0]).marker = images[0], (data = uploader.insertUploadedFile(data)) && (ed.undoManager.add(), ed.dom.replace(data, images[0]), ed.selection.select(data)), ed.setProgressState(!1), win.close(), resolve()) : failure(json.error.message || "Invalid JSON response!"); }, (formData = new FormData()).append("file", blobInfo.blob(), blobInfo.filename()), each(settings, function(value, name) { if ("url" == name || "multipart" == name) return !0; formData.append(name, value); }), xhr.send(formData); }(filename, blobInfo, function(error) { ed.windowManager.alert({ text: error, title: ed.getLang("upload.error", "Upload Error") }), ed.setProgressState(!1), resolve(); })) : (removeMarker(marker), resolve()))) : (removeMarker(marker), resolve()); }, classes: "primary" } ], open: function() { window.setTimeout(function() { DOM.get(ed.id + "_blob_input").focus(); }, 10); }, close: function() { return removeMarker(marker), resolve(); } }); }); } ed.onPreInit.add(function() { each(ed.plugins, function(plg, name) { var data; tinymce.is(plg.getUploadConfig, "function") && (data = plg.getUploadConfig()).inline && data.filetypes && uploaders.push(plg); }); }), ed.onInit.add(function() { ed.onPasteBeforeInsert.add(function(ed, o) { var promises, images, cachedPromises, o = ed.dom.create("div", 0, o.content); (o = tinymce.grep(ed.dom.select("img[src]", o), function(img) { var src = img.getAttribute("src"); return !(img.hasAttribute("data-mce-bogus") || img.hasAttribute("data-mce-placeholder") || img.hasAttribute("data-mce-upload-marker") || !src || "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" == src || 0 !== src.indexOf("blob:") && 0 !== src.indexOf("data:")); })).length && (promises = [], images = o, cachedPromises = {}, images = tinymce.map(o, function(img) { var newPromise; return cachedPromises[img.src] ? new Promise(function(resolve) { cachedPromises[img.src].then(function(imageInfo) { if ("string" == typeof imageInfo) return imageInfo; resolve({ image: img, blobInfo: imageInfo.blobInfo }); }); }) : (newPromise = new Promise(function(resolve, reject) { !function(blobCache, img, resolve, reject) { var base64, blobInfo; 0 === img.src.indexOf("blob:") ? (blobInfo = blobCache.getByUri(img.src)) ? resolve({ image: img, blobInfo: blobInfo }) : Conversions.uriToBlob(img.src).then(function(blob) { Conversions.blobToDataUri(blob).then(function(dataUri) { base64 = Conversions.parseDataUri(dataUri).data, blobInfo = blobCache.create(uniqueId(), blob, base64), blobCache.add(blobInfo), resolve({ image: img, blobInfo: blobInfo }); }); }, function(err) { reject(err); }) : (base64 = Conversions.parseDataUri(img.src).data, (blobInfo = blobCache.findFirst(function(cachedBlobInfo) { return cachedBlobInfo.base64() === base64; })) ? resolve({ image: img, blobInfo: blobInfo }) : Conversions.uriToBlob(img.src).then(function(blob) { blobInfo = blobCache.create(uniqueId(), blob, base64), blobCache.add(blobInfo), resolve({ image: img, blobInfo: blobInfo }); }, function(err) { reject(err); })); }(BlobCache, img, resolve, reject); }).then(function(result) { return delete cachedPromises[result.image.src], result; }).catch(function(error) { return delete cachedPromises[img.src], error; }), cachedPromises[img.src] = newPromise); }), Promise.all(images).then(function(result) { each(result, function(item) { "string" != typeof item && (ed.selection.select(findMarker(item.image)), ed.selection.scrollIntoView(), promises.push(uploadPastedImage(item.image, item.blobInfo))); }); }), Promise.all(promises).then()); }); }); }); }(); }();plugins/core/plugin.js000060400000015751152456730070011027 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var Entities = tinymce.html.Entities, each = tinymce.each, extend = tinymce.extend, DomParser = tinymce.html.DomParser, HtmlSerializer = tinymce.html.Serializer, Dispatcher = tinymce.util.Dispatcher, DOM = tinymce.DOM; tinymce.PluginManager.add("core", function(ed, url) { var store; ed.onUpdateMedia = new Dispatcher(), ed.onWfEditorSave = new Dispatcher(); var contentLoaded = !1, elm = ed.getElement(); var startup_content_html = ed.settings.startup_content_html || "", quoteMap = (ed.onBeforeRenderUI.add(function() { if (startup_content_html && elm && !contentLoaded && ("TEXTAREA" === elm.nodeName ? "" == elm.value : "" == elm.innerHTML)) return contentLoaded = !0, value = startup_content_html, (value = Entities.decode(value)) && ("TEXTAREA" === elm.nodeName ? elm.value = value : elm.innerHTML = value), !0; var value; }), { en: { '"': "“{$selection}”", "'": "‘{$selection}’" }, de: { '"': "„{$selection}“", "'": "‚{$selection}’" } }); function fakeRootBlock() { ed.settings.editable_root = "rootblock", ed.onPreInit.addToTop(function() { var selection = ed.selection, dom = ed.dom; dom.settings.root_element = ed.settings.editable_root, ed.schema.addValidElements("#mce:root[id|data-mce-root]"), ed.schema.children["mce:root"] = ed.schema.children.body, ed.schema.children.body["mce:root"] = {}, ed.serializer.addAttributeFilter("data-mce-root", function(nodes) { for (var i = nodes.length; i--; ) nodes[i].unwrap(); }), ed.serializer.addAttributeFilter("data-mce-bogus", function(nodes) { for (var i = nodes.length; i--; ) nodes[i].remove(); }), ed.onBeforeSetContent.add(function(editor, o) { o.content || (o.content = '
    '), o.content = '' + o.content + ""; }), ed.onSetContent.addToTop(function(ed, o) { var rng, ed = dom.get(ed.settings.editable_root); ed && (/^( | |\s|\u00a0|)$/.test(ed.innerHTML) && (ed.innerHTML = '
    '), (rng = dom.createRng()).setStart(ed, 0), rng.setEnd(ed, 0), selection.setRng(rng)); }), ed.onSaveContent.add(function(ed, o) { " " === o.content && (o.content = ""); }), ed.undoManager.onBeforeAdd.add(function(um, level) { var node, container = ed.dom.create("div", {}, level.content); (node = container.firstChild) && 1 == node.nodeType && node.hasAttribute("data-mce-root") && (level.content = container.firstChild.innerHTML); }); }); } ed.onKeyUp.add(function(ed, e) { var map = quoteMap[ed.settings.language] || quoteMap.en; !e.ctrlKey || e.altKey || '"' != e.key && "'" != e.key || (map = map[e.shiftKey ? '"' : "'"], ed.undoManager.add(), ed.execCommand("mceReplaceContent", !1, map)); }), ed.onExecCommand.add(function(ed, cmd, ui, val, args) { "Undo" != cmd && "Redo" != cmd && "mceReApply" != cmd && "mceRepaint" != cmd && (store = { cmd: cmd, ui: ui, value: val, args: args }); }), ed.addShortcut("ctrl+alt+z", "", "mceReApply"), ed.addCommand("mceReApply", function() { if (store && store.cmd) return ed.execCommand(store.cmd, store.ui, store.value, store.args); }), ed.onPreInit.add(function() { var pb; ed.onUpdateMedia.add(function(ed, o) { o.before && o.after && (each(ed.dom.select("img,poster"), function(elm) { var after, stamp, src = elm.getAttribute("src"); (src = src && -1 !== src.indexOf("?") ? src.substring(0, src.indexOf("?")) : src) == o.before && (after = o.after, stamp = "?" + new Date().getTime(), -1 !== src.indexOf("?") && -1 === after.indexOf("?") && (after += stamp), ed.dom.setAttribs(elm, { src: after, "data-mce-src": o.after })), elm.getAttribute("srcset") && function(elm, o) { var srcset = elm.getAttribute("srcset"); if (srcset) { for (var sets = srcset.split(","), i = 0; i < sets.length; i++) { var values = sets[i].trim().split(" "); o.before == values[0] && (values[0] = o.after), sets[i] = values.join(" "); } elm.setAttribute("srcset", sets.join(",")); } }(elm, o); }), each(ed.dom.select("a[href]"), function(elm) { ed.dom.getAttrib(elm, "href") == o.before && ed.dom.setAttribs(elm, { href: o.after, "data-mce-href": o.after }); })); }), ed.onWfEditorSave.add(function(ed, o) { o.content = function(ed, content) { var args, parser, settings; return ed.settings.validate ? (args = { no_events: !0, format: "html", get: !0, load: !0 }, extend(settings = {}, ed.settings), args.content = content, ed.onBeforeGetContent.dispatch(ed, args), settings.forced_root_block = !1, settings.validate = !0, parser = new DomParser(settings, ed.schema), settings = new HtmlSerializer(settings, ed.schema), args.content = settings.serialize(parser.parse(args.content), args), ed.onPostProcess.dispatch(ed, args), args.content) : content; }(ed, o.content); }), (pb = DOM.get("sp-inline-popover")) && DOM.isChildOf(ed.getElement(), pb) && ed.onGetContent.addToTop(function(ed, o) { var args; -1 != ed.id.indexOf("sppbeditor-") && "raw" == o.format && (args = tinymce.extend(o, { format: "html" }), o.content = ed.serializer.serialize(ed.getBody(), args)); }); }), 0 == ed.settings.forced_root_block && 0 != ed.settings.editable_root && fakeRootBlock(); }); }();plugins/contextmenu/plugin.js000060400000007035152456730070012444 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var Event = tinymce.dom.Event, DOM = tinymce.DOM; tinymce.PluginManager.add("contextmenu", function(ed) { var showMenu, hideMenu, self = this; function isContentEditable(elm) { return "false" !== ed.dom.getContentEditableParent(elm); } function isNativeOverrideKeyEvent(e) { return e.ctrlKey && !contextmenuNeverUseNative; } function isImage(elm) { return elm && "IMG" === elm.nodeName && isContentEditable(elm); } var contextmenuNeverUseNative = ed.settings.contextmenu_never_use_native; if (self.onContextMenu = new tinymce.util.Dispatcher(this), tinymce.isAndroid || tinymce.isIOS) return !1; function hide(ed, e) { e && 2 == e.button || self._menu && (self._menu.removeAll(), self._menu.destroy(), Event.remove(ed.getDoc(), "click", hideMenu), self._menu = null); } hideMenu = function(e) { hide(ed, e); }, showMenu = ed.onContextMenu.add(function(ed, e) { var elm; isNativeOverrideKeyEvent(e) || (Event.cancel(e), tinymce.isMac && tinymce.isWebKit && 2 === e.button && !isNativeOverrideKeyEvent(e) && ed.selection.isCollapsed() && (isImage(e.target) || ed.selection.placeCaretAt(e.clientX, e.clientY)), (isImage(e.target) || (elm = e.target) && "A" === elm.nodeName && isContentEditable(elm)) && ed.selection.select(e.target), function(ed, e) { var m = self._menu, se = ed.selection, col = se.isCollapsed(), e = e.target; e && "BODY" !== e.nodeName || (e = se.getNode() || ed.getBody()); m && (m.removeAll(), m.destroy()); return se = DOM.getPos(ed.getContentAreaContainer()), m = ed.controlManager.createDropMenu("contextmenu", { offset_x: se.x + ed.getParam("contextmenu_offset_x", 0), offset_y: se.y + ed.getParam("contextmenu_offset_y", 0), constrain: !0, keyboard_focus: !0 }), self._menu = m, (se = m.addMenu({ title: "contextmenu.align" })).add({ title: "contextmenu.left", icon: "justifyleft", cmd: "JustifyLeft" }), se.add({ title: "contextmenu.center", icon: "justifycenter", cmd: "JustifyCenter" }), se.add({ title: "contextmenu.right", icon: "justifyright", cmd: "JustifyRight" }), se.add({ title: "contextmenu.full", icon: "justifyfull", cmd: "JustifyFull" }), self.onContextMenu.dispatch(self, m, e, col), m; }(ed, e).showMenu(e.clientX || e.pageX, e.clientY || e.pageY), Event.add(ed.getDoc(), "click", hideMenu), ed.nodeChanged()); }), ed.onRemove.add(function() { self._menu && self._menu.removeAll(); }), ed.onMouseDown.add(hide), ed.onKeyDown.add(hide), ed.onKeyDown.add(function(ed, e) { !e.shiftKey || e.ctrlKey || e.altKey || 121 !== e.keyCode || (Event.cancel(e), showMenu(ed, e)); }); }); }();plugins/hr/plugin.js000060400000004476152456730070010512 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var VK = tinymce.VK, BACKSPACE = VK.BACKSPACE, DELETE = VK.DELETE; tinymce.PluginManager.add("hr", function(ed, url) { function isHR(n) { return "HR" === n.nodeName && !1 === /mce-item-(pagebreak|readmore)/.test(n.className); } ed.addCommand("InsertHorizontalRule", function(ui, v) { var hr, el, p, n = ed.selection.getNode(); /^(H[1-6]|P)$/.test(n.nodeName) ? (ed.undoManager.add(), ed.execCommand("mceInsertContent", !1, '\ufeff', { skip_undo: 1 }), n = ed.dom.get("mce_hr_marker"), hr = ed.dom.create("hr"), p = ed.dom.getParent(n, "H1,H2,H3,H4,H5,H6,P,DIV,ADDRESS,PRE,FORM,TABLE,OL,UL,CAPTION,BLOCKQUOTE,CENTER,DL,DIR,FIELDSET,NOSCRIPT,NOFRAMES,MENU,ISINDEX,SAMP,SECTION,ARTICLE,HGROUP,ASIDE,FIGURE", "BODY"), ed.dom.split(p, n), (p = n.nextSibling) || (el = ed.getParam("forced_root_block") || "br", p = ed.dom.create(el), "br" != el && (p.innerHTML = "\xa0"), ed.dom.insertAfter(p, n)), p && ed.selection.setCursorLocation(p, p.childNodes.length), ed.dom.replace(hr, n)) : ed.execCommand("mceInsertContent", !1, "
    "), ed.undoManager.add(); }), ed.addButton("hr", { title: "advanced.hr_desc", cmd: "InsertHorizontalRule" }), ed.onNodeChange.add(function(ed, cm, n) { var s = isHR(n); cm.setActive("hr", s), ed.dom.removeClass(ed.dom.select("hr.mce-item-selected:not(.mce-item-pagebreak,.mce-item-readmore)"), "mce-item-selected"), s && ed.dom.addClass(n, "mce-item-selected"); }), ed.onKeyDown.add(function(ed, e) { var n, sib; e.keyCode != BACKSPACE && e.keyCode != DELETE || isHR(n = ed.selection.getNode()) && (sib = n.previousSibling, ed.dom.remove(n), e.preventDefault(), sib = ed.dom.isBlock(sib) || (sib = n.nextSibling, ed.dom.isBlock(sib)) ? sib : null) && ed.selection.setCursorLocation(sib, sib.childNodes.length); }); }); }();plugins/wordcount/plugin.js000060400000006354152456730070012122 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, Delay = tinymce.util.Delay; tinymce.PluginManager.add("wordcount", function(ed, url) { var countre = ed.getParam("wordcount_countregex", /[\w\u2019\x27\-\u00C0-\u1FFF]+/g), cleanre = ed.getParam("wordcount_cleanregex", /[0-9.(),;:!?%#$?\x27\x22_+=\\\/\-]*/g), update_rate = ed.getParam("wordcount_update_rate", 200), target_id = ed.id + "_word_count", count = (ed.onWordCount = new tinymce.util.Dispatcher(this), 0); function processText(tx) { var tc = 0; return tc = tx && (tx = (tx = (tx = (tx = (tx = tx.replace(/\.\.\./g, " ")).replace(/<.[^<>]*?>/g, " ").replace(/ | /gi, " ")).replace(/(\w+)(&#?[a-z0-9]+;)+(\w+)/i, "$1$3").replace(/&.+?;/g, " ")).replace(cleanre, "")).match(countre)) ? tx.length : tc; } var limit = parseInt(ed.getParam("wordcount_limit", 0), 10), showAlert = ed.getParam("wordcount_alert", 0); function updateLabel(value) { DOM.removeClass(target_id, "mceWordCountLimit"), value < 0 && DOM.addClass(target_id, "mceWordCountLimit"), limit ? DOM.setAttrib(target_id, "title", ed.getLang("wordcount.remain", "Words Remaining:")) : DOM.setAttrib(target_id, "title", ed.getLang("wordcount.words", "Words:")), DOM.setHTML(target_id, value.toString()); } function countChars() { ed.destroyed || (count = processText(ed.getContent({ format: "raw", no_events: !0 })), (count = limit ? limit - count : count) < 0 && showAlert && ed.windowManager.alert(ed.getLang("wordcount.alert", "You have reached the word limit set for this content.")), updateLabel(count), ed.onWordCount.dispatch(ed, count)); } ed.onPostRender.add(function(ed, cm) { var statusbar; target_id = ed.getParam("wordcount_target_id", target_id), DOM.get(target_id) || (statusbar = DOM.select("div.mceStatusbar", ed.getContainer())).length && (ed = ed.getLang("wordcount.selection", "Words Selected:"), DOM.add(statusbar[0], "div", { class: "mceWordCount" }, '0')); }); var countAll = Delay.debounce(function() { countChars(); }, update_rate), update_rate = Delay.debounce(function() { var sel, rng; ed.destroyed || (rng = ed.selection.getRng(), sel = ed.selection.getSel(), rng.collapsed ? updateLabel(count) : (rng = processText(rng.text || (sel.toString ? sel.toString() : "")), DOM.removeClass(target_id, "mceWordCountLimit"), DOM.setAttrib(target_id, "title", ed.getLang("wordcount.selection", "Words Selected:")), DOM.setHTML(target_id, rng.toString()))); }, update_rate); ed.onPreInit.add(function() { ed.on("keyup setcontent undo redo", countAll); }), ed.onSelectionChange.add(update_rate), ed.onInit.add(countAll); }); }();plugins/clipboard/tests/clipboard.html000060400000346256152456730070014200 0ustar00 Unit tests for the Clipboard plugin

    Unit tests for the Paste plugin

      plugins/clipboard/plugin.js000060400000017111152456730070012026 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { "use strict"; var DOM = tinymce.DOM, each$1 = tinymce.each; function openWin(ed, cmd) { var title = "", msg = (msg = ed.getLang("clipboard.paste_dlg_title", "Use %s+V on your keyboard to paste text into the window.")).replace(/%s/g, tinymce.isMac ? "CMD" : "CTRL"), ctrl = (title = "mcePaste" === cmd ? ed.getLang("clipboard.paste_desc") : ed.getLang("clipboard.paste_text_desc"), ''), msg = '
      ' + ctrl + "
      "; ed.windowManager.open({ title: title, content: msg, size: "mce-modal-portrait-xlarge", open: function() { var elm, pasteEd, inp = DOM.get(ed.id + "_paste_content"); "mcePaste" == cmd && (elm = inp, (pasteEd = new tinymce.Editor(elm.id, { plugins: "", language_load: !1, forced_root_block: !1, verify_html: !1, invalid_elements: ed.settings.invalid_elements, base_url: ed.settings.base_url, document_base_url: ed.settings.document_base_url, directionality: ed.settings.directionality, content_css: ed.settings.content_css, allow_event_attributes: ed.settings.allow_event_attributes, object_resizing: !1, paste_upload_data_images: !0, paste_data_images: !1, schema: "mixed", theme: function() { var parent = DOM.create("div", { role: "application", id: elm.id + "_parent", style: "width:100%" }), container = DOM.add(parent, "div", { style: "width:100%" }); return DOM.insertAfter(parent, elm), { iframeContainer: container, editorContainer: parent }; } })).contentCSS = ed.contentCSS, pasteEd.onPreInit.add(function() { var dom = pasteEd.dom; this.serializer.addAttributeFilter("data-mce-fragment", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr("data-mce-fragment", null); }), pasteEd.onPastePostProcess.add(function(ed, o) { each$1(dom.select("img[data-mce-upload-marker]", o.node), function(img) { dom.setAttrib(img, "src", tinymce.util.Env.transparentSrc), dom.addClass(img, "mce-object mce-object-img"), dom.setStyles(img, { width: img.width || "", height: img.height || "" }); }); }), pasteEd.onGetContent.add(function(ed, o) { var node = dom.create("div", {}, o.content); each$1(dom.select("img[data-mce-upload-marker]", node), function(img) { dom.setAttrib(img, "src", tinymce.util.Env.transparentSrc), dom.removeClass(img, "mce-object mce-object-img"), dom.setStyles(img, { width: "", height: "" }); }), o.content = node.innerHTML; }); }), pasteEd.onInit.add(function() { window.setTimeout(function() { pasteEd.focus(); var tmp = pasteEd.dom.add("br", { "data-mce-bogus": "1" }); pasteEd.selection.select(tmp), pasteEd.selection.collapse(), pasteEd.dom.remove(tmp); }, 100); }), pasteEd.render()), window.setTimeout(function() { inp.focus(); }, 0); }, close: function() {}, buttons: [ { title: ed.getLang("cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var content, inp = DOM.get(ed.id + "_paste_content"), data = {}; "mcePaste" == cmd ? (content = tinymce.get(inp.id).getContent(), content = (content = !0 !== ed.settings.code_allow_style ? content.replace(/]*>[\s\S]+?<\/style>/gi, "") : content).replace(/]+)>/, ""), data.content = tinymce.trim(content), data.internal = !1) : data.text = inp.value, ed.execCommand("mceInsertClipboardContent", !1, data); }, classes: "primary" } ] }); } var each = tinymce.each; tinymce.PluginManager.add("clipboard", function(ed, url) { var pasteText = ed.getParam("clipboard_paste_text", 1), pasteHtml = ed.getParam("clipboard_paste_html", 1), FakeClipboard = (ed.onInit.add(function() { ed.plugins.contextmenu && ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { var c = ed.selection.isCollapsed(); ed.getParam("clipboard_cut", 1) && m.add({ title: "advanced.cut_desc", icon: "cut", cmd: "Cut" }).setDisabled(c), ed.getParam("clipboard_copy", 1) && m.add({ title: "advanced.copy_desc", icon: "copy", cmd: "Copy" }).setDisabled(c), pasteHtml && m.add({ title: "clipboard.paste_desc", icon: "paste", cmd: "mcePaste" }), pasteText && m.add({ title: "clipboard.paste_text_desc", icon: "pastetext", cmd: "mcePasteText" }); }); }), tinymce.clipboard.FakeClipboard); each([ "mcePasteText", "mcePaste" ], function(cmd) { ed.addCommand(cmd, function(ui) { if (!ui || !FakeClipboard.hasData()) return openWin(ed, cmd); ed.execCommand("mcePasteFakeClipboard", !1, { isPlainText: "mcePasteText" === cmd }); }); }), pasteHtml && ed.addButton("paste", { title: "clipboard.paste_desc", cmd: "mcePaste", ui: !0 }), pasteText && ed.addButton("pastetext", { title: "clipboard.paste_text_desc", cmd: "mcePasteText", ui: !0 }), ed.getParam("clipboard_cut", 1) && ed.addButton("cut", { title: "advanced.cut_desc", cmd: "Cut", icon: "cut" }), ed.getParam("clipboard_copy", 1) && ed.addButton("copy", { title: "advanced.copy_desc", cmd: "Copy", icon: "copy" }); }); }();plugins/fontsizeselect/plugin.js000060400000006547152456730070013143 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, fontSizes = [ 8, 10, 12, 14, 18, 24, 36 ]; tinymce.PluginManager.add("fontsizeselect", function(ed, url) { var o, s = ed.settings; s.font_size_style_values || (s.font_size_style_values = "8pt,10pt,12pt,14pt,18pt,24pt,36pt"), s.theme_font_sizes = ed.getParam("fontsizeselect_font_sizes", "8pt,10pt,12pt,14pt,18pt,24pt,36pt"), tinymce.is(s.theme_font_sizes, "string") && (s.font_size_style_values = tinymce.explode(s.font_size_style_values), s.font_size_classes = tinymce.explode(s.font_size_classes || ""), o = {}, ed.settings.theme_font_sizes = s.theme_font_sizes, each(ed.getParam("theme_font_sizes", "", "hash"), function(v, k) { var cl; k == v && 1 <= v && v <= 7 && (k = v + " (" + fontSizes[v - 1] + "pt)", cl = s.font_size_classes[v - 1], v = s.font_size_style_values[v - 1] || fontSizes[v - 1] + "pt"), /^\s*\./.test(v) && (cl = v.replace(/\./g, "")), o[k] = cl ? { class: cl } : { fontSize: v }; }), s.theme_font_sizes = o), ed.onNodeChange.add(function(ed, cm, n, collapsed, o) { var fv, cl, c = cm.get("fontsizeselect"); c && n && each(o.parents, function(n) { if (n.style && (fv = n.style.fontSize || ed.dom.getStyle(n, "fontSize"), cl = ed.dom.getAttrib(n, "class", ""), c.select(function(v) { return !(!v.fontSize || v.fontSize !== fv) || !(!v.class || v.class !== cl) || void 0; }), fv)) return !1; }); }), this.createControl = function(n, cf) { var c, i; if ("fontsizeselect" === n) return i = 0, (c = ed.controlManager.createListBox("fontsizeselect", { title: "advanced.font_size", onselect: function(v) { var cur = c.items[c.selectedIndex]; !v && cur ? (cur = cur.value).class ? (ed.formatter.toggle("fontsize_class", { value: cur.class }), ed.undoManager.add(), ed.nodeChanged()) : ed.execCommand("FontSize", !1, cur.fontSize) : (v.class ? (ed.focus(), ed.undoManager.add(), ed.formatter.toggle("fontsize_class", { value: v.class }), ed.undoManager.add(), ed.nodeChanged()) : ed.execCommand("FontSize", !1, v.fontSize), c.select(function(sv) { return v == sv; }), cur && (cur.value.fontSize == v.fontSize || cur.value.class && cur.value.class == v.class) && c.select(null)); } })) && each(ed.settings.theme_font_sizes, function(v, k) { var fz = v.fontSize, lh = (1 <= fz && fz <= 7 && (fz = fontSizes[parseInt(fz, 10) - 1] + "pt"), Math.max(32, parseInt(fz, 10))); c.add(k, v, { style: "font-size:" + fz + ";line-height:" + lh + "px", class: "mceFontSize" + i++ + " " + (v.class || "") }); }), c; }; }); }();plugins/reference/plugin.js000060400000014013152456730070012023 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, DOM = tinymce.DOM; function addZeros(value, len) { var i; if ((value = "" + value).length < len) for (i = 0; i < len - value.length; i++) value = "0" + value; return value; } tinymce.PluginManager.add("reference", function(ed, url) { function openDialog(tag) { var cm = ed.controlManager, form = cm.createForm("reference_form"); "q" == tag ? form.add(cm.createTextBox("reference_cite", { label: ed.getLang("reference.label_cite", "Cite"), name: "cite" })) : form.add(cm.createTextBox("attributes_title", { label: ed.getLang("attributes.label_title", "Title"), name: "title" })), "ins" != tag && "del" != tag || (form.add(cm.createTextBox("reference_cite", { label: ed.getLang("reference.label_cite", "Cite"), name: "cite" })), form.add(cm.createTextBox("reference_datetime", { label: ed.getLang("reference.label_datetime", "Date/Time"), name: "datetime", button: { icon: "date", label: ed.getLang("reference.label_datetime", "Date/Time"), click: function() { var d; this.value((d = new Date(), ed.getParam("reference_datetime", "%Y-%m-%dT%H:%M:%S").replace("%D", "%m/%d/%y").replace("%r", "%I:%M:%S %p").replace("%Y", "" + d.getFullYear()).replace("%y", "" + d.getYear()).replace("%m", addZeros(d.getMonth() + 1, 2)).replace("%d", addZeros(d.getDate(), 2)).replace("%H", "" + addZeros(d.getHours(), 2)).replace("%M", "" + addZeros(d.getMinutes(), 2)).replace("%S", "" + addZeros(d.getSeconds(), 2)).replace("%I", "" + ((d.getHours() + 11) % 12 + 1)).replace("%p", d.getHours() < 12 ? "AM" : "PM").replace("%%", "%"))); } } }))), ed.windowManager.open({ title: ed.getLang("reference." + tag + "_title", "Reference"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var update, node = ed.selection.getNode(), attribs = {}; each([ "title", "datetime", "cite" ], function(name) { if (!node.hasAttribute(name)) return !0; attribs[name] = ed.dom.getAttrib(node, name), update = !0; }), update && DOM.setHTML(this.id + "_insert", ed.getLang("update", "Update")), form.update(attribs); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("common.remove", "Remove"), onsubmit: function() { ed.selection.getNode().nodeName.toLowerCase() == tag && (ed.formatter.remove(tag), ed.undoManager.add()); } }, { title: ed.getLang("common.insert", "Insert"), id: "insert", onsubmit: function(e) { tinymce.dom.Event.cancel(e); var e = ed.selection.getNode(), data = form.submit(), e = ed.dom.getParent(e, tag); ed.formatter.apply(tag, data, e), ed.undoManager.add(); }, classes: "primary", autofocus: !0 } ] }); } ed.addButton("cite", { title: "reference.cite_title", onclick: function() { openDialog("cite"); } }), ed.addButton("q", { title: "reference.q_title", onclick: function() { openDialog("q"); } }), "html5-strict" !== ed.settings.schema && ed.addButton("acronym", { title: "reference.acronym_title", onclick: function() { openDialog("acronym"); } }), ed.addButton("abbr", { title: "reference.abbr_title", onclick: function() { openDialog("abbr"); } }), ed.addButton("del", { title: "reference.del_title", onclick: function() { openDialog("del"); } }), ed.addButton("ins", { title: "reference.ins_title", onclick: function() { openDialog("ins"); } }), ed.onNodeChange.add(function(ed, cm, n, co) { var p = ed.dom.getParent(n, "CITE,ACRONYM,ABBR,DEL,INS,Q"); if (cm.setDisabled("cite", co), cm.setDisabled("acronym", co), cm.setDisabled("abbr", co), cm.setDisabled("del", co), cm.setDisabled("ins", co), cm.setDisabled("q", co), cm.setActive("cite", 0), cm.setActive("acronym", 0), cm.setActive("abbr", 0), cm.setActive("del", 0), cm.setActive("ins", 0), cm.setActive("q", 0), p) for (;cm.setDisabled(p.nodeName.toLowerCase(), 0), cm.setActive(p.nodeName.toLowerCase(), 1), p = p.parentNode; ); }), ed.onPreInit.add(function() { ed.dom.create("abbr"); var formats = {}; each([ "cite", "acronym", "abbr", "del", "ins", "q" ], function(name) { formats[name] = { inline: name, remove: "all", onformat: function(elm, fmt, vars) { each(vars, function(value, key) { ed.dom.setAttrib(elm, key, value); }); } }; }), ed.formatter.register(formats); }); }); }();plugins/help/js/help.min.js000060400000004640152456730070011652 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function($) { Wf.Help = { options: { url: "", key: [], pattern: "" }, init: function(options) { var self = this; this.options = $.extend(this.options, options), $("#help-menu > li[id]").click(function(e) { $("#help-menu").find("li").removeClass("loading").removeClass("active"); var el = this; e.preventDefault(), "LI" !== e.target.nodeName && (el = $(e.target).parents("li").first()), $(el).siblings().children("ul").addClass("hidden"), $(el).addClass("active").children("ul").removeClass("hidden"), !el.id && $(el).hasClass("subtopics") && (el = $(el).find("li[id]").first()), self.loadItem(el); }), $("#help-iframe").on("load", function() { $(".loading", "#help-menu").removeClass("loading"); }), ((options = this.options.key).length && $("#" + options.join(".")).length ? $("#" + options.join(".")) : $("#help-menu > li[id]").first()).click(), $("[data-toggle]").click(function() { $("nav").toggle(), self.resizeFrame(); }); }, resizeFrame: function() { var s, self = this; $("#help-frame").parent().css("width", function() { return $("#help-menu-toggle div.toggle-handle").hasClass("collapsed") && (s = $("#help-menu-toggle").outerWidth(!0)), $("div.row-fluid").width() - self.getMenuSize(s) - 1; }); }, getMenuSize: function(pos) { return pos = void 0 === pos ? $("#help-menu").parent().outerWidth() + 14 : pos; }, loadItem: function(el) { var keys, s = "", el = ($(el).addClass("loading"), $(el).attr("id")), s = this.options.pattern ? (keys = el.split("."), "/" + (s = this.options.pattern.replace(/\$([1-9])/g, function(a, b) { b = parseInt(b, 10), b = Math.max(b - 1, 0); return keys[b] || ""; })).replace(/^\//, "").replace(/\/$/, "")) : el; $("#help-iframe").attr("src", this.options.url + s); } }; }(jQuery);plugins/help/plugin.js000060400000001375152456730070011024 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("help", function(ed, url) { ed.addCommand("mceHelp", function() { ed.windowManager.open({ title: ed.getLang("dlg.help", "Help"), url: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=help&lang=" + ed.getParam("language") + "§ion=editor&category=editor&article=about", size: "mce-modal-landscape-full" }); }), ed.addButton("help", { title: "dlg.help", cmd: "mceHelp" }); });plugins/help/css/help.min.css000060400000002045152456730070012177 0ustar00html,section{overflow:hidden}.ui-jce,section{position:absolute}.ui-jce main,nav .uk-nav-header,section{padding:.5rem}html{background:#fff;font-size:13px}.ui-jce{top:.25rem;left:.25rem;right:.25rem;bottom:.25rem}main,nav{box-sizing:border-box;height:100%;flex:auto;position:relative}nav .uk-nav{display:block}nav .uk-nav.hidden{display:none}nav .uk-parent>ul{margin-left:1.5rem}nav .uk-list-space>li:nth-child(n+2){margin-top:.25rem}main{margin:0 0 0 .5rem;width:80%}section{right:0;left:0;bottom:0;top:2.5rem}iframe{width:100%;height:100%}.ui-jce .uk-nav li{position:relative}.ui-jce .uk-nav li a,.ui-jce header a{color:inherit}.ui-jce header a:hover{color:#888}.ui-jce header a:active,.ui-jce header a:hover,.ui-jce header a:visited{text-decoration:none}@keyframes donut-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.loading>a>span::before{content:"";display:inline-block;border:2px solid rgba(0,0,0,.1);border-left-color:#888;border-radius:50%;width:16px;height:16px;animation:donut-spin 1.2s linear infinite;z-index:10001;box-sizing:border-box}plugins/autolink/plugin.js000060400000011141152456730070011712 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var AutoLinkPattern = /^(https?:\/\/|ssh:\/\/|ftp:\/\/|file:\/|www\.|(?:mailto:)?[A-Z0-9._%+\-]+@)(.+)$/i; tinymce.PluginManager.add("autolink", function(ed, url) { function parseCurrentLine(editor, endOffset, delimiter) { var rng, end, endContainer, len, rngText, prev; function scopeIndex(container, index) { return index < 0 && (index = 0), index = 3 == container.nodeType && (container = container.data.length) < index ? container : index; } function setStart(container, offset) { 1 != container.nodeType || container.hasChildNodes() ? rng.setStart(container, scopeIndex(container, offset)) : rng.setStartBefore(container); } function setEnd(container, offset) { 1 != container.nodeType || container.hasChildNodes() ? rng.setEnd(container, scopeIndex(container, offset)) : rng.setEndAfter(container); } if ("A" != editor.selection.getNode().tagName) { if ((rng = editor.selection.getRng(!0).cloneRange()).startOffset < 5) { if (!(prev = rng.endContainer.previousSibling)) { if (!rng.endContainer.firstChild || !rng.endContainer.firstChild.nextSibling) return; prev = rng.endContainer.firstChild.nextSibling; } if (setStart(prev, len = prev.length), setEnd(prev, len), rng.endOffset < 5) return; end = rng.endOffset, endContainer = prev; } else { if (3 != (endContainer = rng.endContainer).nodeType && endContainer.firstChild) { for (;3 != endContainer.nodeType && endContainer.firstChild; ) endContainer = endContainer.firstChild; 3 == endContainer.nodeType && (setStart(endContainer, 0), setEnd(endContainer, endContainer.nodeValue.length)); } end = 1 == rng.endOffset ? 2 : rng.endOffset - 1 - endOffset; } for (len = end; setStart(endContainer, 2 <= end ? end - 2 : 0), setEnd(endContainer, 1 <= end ? end - 1 : 0), --end, " " != (rngText = rng.toString()) && "" !== rngText && 160 != rngText.charCodeAt(0) && 0 <= end - 2 && rngText != delimiter; ); rng.toString() == delimiter || 160 == rng.toString().charCodeAt(0) ? (setStart(endContainer, end), setEnd(endContainer, len), end += 1) : (0 === rng.startOffset ? setStart(endContainer, 0) : setStart(endContainer, end), setEnd(endContainer, len)), "." == (prev = rng.toString()).charAt(prev.length - 1) && setEnd(endContainer, len - 1), (endOffset = (prev = rng.toString()).match(AutoLinkPattern)) && ("www." == endOffset[1] ? endOffset[1] = "https://www." : /@$/.test(endOffset[1]) && !/^mailto:/.test(endOffset[1]) && (endOffset[1] = "mailto:" + endOffset[1]), -1 !== endOffset[1].indexOf("http") && !editor.getParam("autolink_url", !0) || -1 !== endOffset[1].indexOf("mailto:") && !editor.getParam("autolink_email", !0) || (len = editor.selection.getBookmark(), editor.selection.setRng(rng), editor.execCommand("createlink", !1, endOffset[1] + endOffset[2]), prev = editor.selection.getNode(), editor.settings.default_link_target && editor.dom.setAttrib(prev, "target", editor.settings.default_link_target), editor.onAutoLink.dispatch(editor, { node: prev }), editor.selection.moveToBookmark(len), editor.nodeChanged())); } } (ed.getParam("autolink_url", !0) || ed.getParam("autolink_email", !0)) && (ed.settings.autolink_pattern && (AutoLinkPattern = ed.settings.autolink_pattern), ed.onAutoLink = new tinymce.util.Dispatcher(this), ed.onKeyDown.addToTop(function(ed, e) { if (13 == e.keyCode) return function(ed) { parseCurrentLine(ed, -1, ""); }(ed); }), tinymce.isIE || (ed.onKeyPress.add(function(ed, e) { if (41 == e.which) return function(ed) { parseCurrentLine(ed, -1, "("); }(ed); }), ed.onKeyUp.add(function(ed, e) { if (32 == e.keyCode) return function(ed) { parseCurrentLine(ed, 0, ""); }(ed); }))); }); }();plugins/imgmanager/plugin.js000060400000026700152456730070012202 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend; function isMediaObject(node) { return node.getAttribute("data-mce-object") || node.getAttribute("data-mce-type"); } function isImage(node) { return node && "IMG" === node.nodeName && !isMediaObject(node); } function getUploadConfig(ed) { return ed.getParam("imgmanager", {}).upload || {}; } function getUploadURL(ed, file) { var data = getUploadConfig(ed); return !!(data && data.filetypes && new RegExp(".(" + data.filetypes.join("|") + ")$", "i").test(file.name)) && ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=image"; } tinymce.PluginManager.add("imgmanager", function(ed, url) { var self = this; function openDialog() { var node = ed.selection.getNode(); "IMG" == node.nodeName && isMediaObject(node) || ed.windowManager.open({ file: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=image", size: "mce-modal-portrait-full" }, { plugin_url: url }); } function insertImage(args) { var node = ed.selection.getNode(); isImage(node) ? ed.dom.setAttribs(node, { src: args.src, alt: args.alt || "", class: args.class || "" }) : (ed.execCommand("mceInsertContent", !1, '', { skip_undo: 1 }), node = ed.dom.get("__mce_tmp"), ed.dom.setAttribs(node, args), ed.dom.setAttrib(node, "id", "")), ed.selection.select(node), ed.undoManager.add(), ed.nodeChanged(); } function getDataAndInsert(args) { var params = ed.getParam("imgmanager", {}); return new Promise(function(resolve, reject) { var value; !1 !== params.always_include_dimensions ? (ed.setProgressState(!0), value = args.src, new Promise(function(resolve, reject) { if (!value) return resolve(); var img = new Image(); img.onload = function() { resolve({ width: img.width, height: img.height }); }, img.onerror = function() { reject(); }, img.src = ed.documentBaseURI.toAbsolute(value); }).then(function(data) { ed.setProgressState(!1), insertImage(extend(args, data)), resolve(); }, function() { ed.setProgressState(!1), reject(); })) : (insertImage(args), resolve()); }); } ed.addCommand("mceImageManager", function() { openDialog(); }), ed.addCommand("mceImage", function() { openDialog(); }), ed.addButton("imgmanager", { title: "imgmanager.desc", cmd: "mceImage" }), ed.onNodeChange.add(function(ed, cm, n, collapsed) { n = isImage(n); cm.setDisabled("imgmanager", !n && !collapsed), cm.setActive("imgmanager", n); }), ed.onPreInit.add(function() { var cm, form, urlCtrl, descriptionCtrl, stylesListCtrl, args, uploader, params = ed.getParam("imgmanager", {}), isMobile = window.matchMedia("(max-width: 600px)").matches; !0 === (!0 === params.basic_dialog || isMobile) && (cm = ed.controlManager, form = cm.createForm("image_form"), !(args = { label: ed.getLang("dlg.url", "URL"), name: "url", clear: !0 }) !== params.basic_dialog_filebrowser && (params.basic_dialog_filebrowser || isMobile) && extend(args, { picker: !0, picker_label: "browse", picker_icon: "image", onpick: function() { ed.execCommand("mceFileBrowser", !0, { caller: "imgmanager", callback: function(selected, data) { var src; data.length && (src = data[0].url, data = data[0].title, urlCtrl.value(src), data = data.replace(/\.[^.]+$/i, ""), descriptionCtrl.value(data), window.setTimeout(function() { urlCtrl.focus(); }, 10)); }, filter: params.filetypes || "images", value: urlCtrl.value() }); } }), uploader = ed.plugins.upload || !1, params.upload && uploader && extend(args, { upload_label: "upload.label", upload_accept: params.upload.filetypes, upload: function(e, file) { if (file && file.name) { var url = getUploadURL(ed, file); if (!url) return ed.windowManager.alert({ text: ed.getLang("upload.file_extension_error", "File type not supported"), title: ed.getLang("upload.error", "Upload Error") }), !1; urlCtrl.setLoading(!0), extend(file, { filename: file.name.replace(/[\+\\\/\?\#%&<>"\'=\[\]\{\},;@\^\(\)\xa3\u20ac$~]/g, ""), upload_url: url }), uploader.upload(file, function(response) { urlCtrl.setLoading(!1); var response = response.files || [], response = response.length ? response[0] : {}; if (response.file) return urlCtrl.value(response.file), response = (response = response.alt || response.name || "").replace(/\.[^.]+$/i, ""), descriptionCtrl.value(response), !0; ed.windowManager.alert({ text: "File upload failed!", title: ed.getLang("upload.error", "Upload Error") }); }, function(message) { ed.windowManager.alert({ text: message, title: ed.getLang("upload.error", "Upload Error") }), urlCtrl.setLoading(!1); }); } } }), urlCtrl = cm.createUrlBox("image_url", args), form.add(urlCtrl), descriptionCtrl = cm.createTextBox("image_description", { label: ed.getLang("dlg.description", "Description"), name: "alt", clear: !0 }), form.add(descriptionCtrl), !1 !== params.basic_dialog_classes && (stylesListCtrl = cm.createStylesBox("image_class", { label: ed.getLang("image.class", "Classes"), onselect: function() {}, name: "classes", styles: params.custom_classes || [] }), form.add(stylesListCtrl)), ed.addCommand("mceImage", function() { var node = ed.selection.getNode(); "IMG" == node.nodeName && isMediaObject(node) || ed.windowManager.open({ title: ed.getLang("imgmanager.desc", "Image"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var label = ed.getLang("insert", "Insert"), node = ed.selection.getNode(), src = "", alt = "", classes = params.attributes.classes || ""; isImage(node) && ((src = ed.dom.getAttrib(node, "src")) && (label = ed.getLang("update", "Update")), alt = ed.dom.getAttrib(node, "alt"), classes = ed.dom.getAttrib(node, "class")), urlCtrl.value(src), descriptionCtrl.value(alt), stylesListCtrl && (classes = classes.replace(/mce-[\w\-]+/g, "").replace(/\s+/g, " ").trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }), stylesListCtrl.value(classes)), window.setTimeout(function() { urlCtrl.focus(); }, 10), DOM.setHTML(this.id + "_insert", label); }, buttons: [ { title: ed.getLang("cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var data = form.submit(), node = ed.selection.getNode(); if (Event.cancel(e), !data.url) return isImage(node) && ed.dom.remove(node), !1; e = { src: data.url, alt: data.alt }; (e = extend(e, self.getAttributes(params))).class = data.classes || e.class || "", getDataAndInsert(e).then(); }, classes: "primary", scope: self } ] }); })); }), ed.onInit.add(function() { ed && ed.plugins.contextmenu && ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { m.add({ title: "imgmanager.desc", icon: "imgmanager", cmd: "mceImage" }); }); }), this.getAttributes = function(data) { var attr = { style: {} }, attribs = data.attributes || {}; return attribs.style && tinymce.is(attribs.style, "string") && (attribs.style = ed.dom.parseStyle(attribs.style)), attribs.styles && tinymce.is(attribs.styles, "object") && (attribs.style = extend(attribs.styles, attribs.style || {}), delete attribs.styles), attribs.style && (attribs.style = ed.dom.serializeStyle(attribs.style)), tinymce.each([ "alt", "title", "id", "dir", "class", "usemap", "style", "longdesc", "loading" ], function(key) { tinymce.is(attribs[key]) && (attr[key] = attribs[key]); }), data.width && (attr.width = data.width), data.height && (attr.height = data.height), attr; }, this.insertUploadedFile = function(o) { var data = this.getUploadConfig(); if (data && data.filetypes && new RegExp(".(" + data.filetypes.join("|") + ")$", "i").test(o.name)) return data = { src: o.file, alt: o.alt || o.name, style: {} }, data = extend(data, this.getAttributes(o)), ed.dom.create("img", data); return !1; }, this.getUploadURL = function(file) { return !ed.plugins.imgmanager_ext && getUploadURL(ed, file); }, this.getUploadConfig = function() { return getUploadConfig(ed); }; }); }();plugins/imgmanager/css/imgmanager.css000060400000000755152456730070013761 0ustar00.uk-browser-bottom .uk-tabs+.uk-form,.uk-browser-top .uk-form{height:57%}.uk-browser .uk-tabs{min-height:43%;height:auto;position:relative}.uk-browser-top .uk-form{top:-43%;position:relative}.uk-browser-top .uk-tabs{top:58%;position:relative}.uk-browser-external .uk-tabs{height:100%}.uk-browser-external+.uk-modal-footer .uk-button-refresh{display:none}.uk-browser-external .uk-tabs .uk-tab+.uk-switcher{height:calc(100% - 33px)}.uk-browser-external .uk-form-row+.uk-form-row{margin-top:15px}plugins/imgmanager/js/imgmanager.js000060400000025314152456730070013427 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function($) { var ImageManagerDialog = { settings: {}, init: function() { tinyMCEPopup.restoreSelection(); var w, h, x, ed = tinyMCEPopup.editor, n = ed.selection.getNode(), self = this, params = ed.getParam("imgmanager", {}), src = ($("#insert").on("click", function(e) { self.insert(), e.preventDefault(); }), decodeURIComponent(ed.dom.getAttrib(n, "src"))), src = ed.convertURL(src); $.each(this.settings.attributes, function(key, val) { val || $("#attributes-" + key).hide(); }), $("#onmouseover, #onmouseout").addClass("uk-persistent-focus").on("click focus", function() { $("#onmouseover, #onmouseout").removeClass("uk-active"), $(this).addClass("uk-active"); }), $("body").on("click.persistent-focus", function(e) { $(e.target).is(".uk-persistent-focus, li.file") || $(e.target).parents("li.file").length || $(".uk-persistent-focus").removeClass("uk-active"); }), Wf.init({ classes: params.custom_classes || [] }), $("#alt").on("change", function() { "" === this.value ? $(this).removeClass("uk-edited") : $(this).addClass("uk-edited"); }), n && "IMG" == n.nodeName ? ($(".uk-button-text", "#insert").text(tinyMCEPopup.getLang("update", "Update", !0)), $("#src").val(src), $("#sample").attr({ src: n.src }).attr(Wf.sizeToFit(n, { width: 80, height: 60 })), w = Wf.getAttrib(n, "width"), h = Wf.getAttrib(n, "height"), $("#width").val(function() { return w ? ($(this).addClass("uk-isdirty"), w) : h ? void 0 : n.width; }), $("#height").val(function() { return h ? ($(this).addClass("uk-isdirty"), h) : w ? void 0 : n.height; }), $("#alt").val(function() { var val = ed.dom.getAttrib(n, "alt"); if (val) return $(this).addClass("uk-edited"), val; }), $("#title").val(ed.dom.getAttrib(n, "title")), $.each([ "top", "right", "bottom", "left" ], function() { $("#margin_" + this).val(Wf.getAttrib(n, "margin-" + this)); }), $("#border_width").val(function() { var v = Wf.getAttrib(n, "border-width"); return 0 == $('option[value="' + v + '"]', this).length && $(this).append(new Option(v, v, !1, !0)), v; }), $("#border_style").val(Wf.getAttrib(n, "border-style")), $("#border_color").val(Wf.getAttrib(n, "border-color")).trigger("change"), $("#border").trigger("change"), $("#border").is(":checked") || $.each([ "border_width", "border_style", "border_color" ], function(i, k) { $("#" + k).val(self.settings.defaults[k]).trigger("change"); }), $("#align").val(Wf.getAttrib(n, "align")), $("#classes").val(function() { var values = ed.dom.getAttrib(n, "class"); return $.trim(values); }).trigger("change"), $("#style").val(ed.dom.getAttrib(n, "style")), $("#id").val(ed.dom.getAttrib(n, "id")), $("#dir").val(ed.dom.getAttrib(n, "dir")), $("#lang").val(ed.dom.getAttrib(n, "lang")), $("#usemap").val(ed.dom.getAttrib(n, "usemap")), $("#loading").val(ed.dom.getAttrib(n, "loading")), $("#insert").button("option", "label", ed.getLang("update", "Update")), $("#longdesc").val(ed.convertURL(ed.dom.getAttrib(n, "longdesc"))), $.each([ "mouseover", "mouseout" ], function(i, key) { var val = ed.dom.getAttrib(n, "data-" + key); val = (val = $.trim(val)).replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, "$1").replace(/^\s*|\s*$/g, ""), val = ed.convertURL(val), "mouseout" == key && (val = val || src), $("#on" + key).val(val); }), (params = n.nextSibling) && "BR" == params.nodeName && params.style.clear && $("#clear").val(params.style.clear), x = 0, params = function(ed, node) { for (var attrs = node.attributes, attribs = {}, i = attrs.length - 1; 0 <= i; i--) { var name = attrs[i].name, value = ed.dom.getAttrib(node, name); "_" !== name.charAt(0) && -1 === name.indexOf("-mce-") && (attribs[name] = value); } return attribs; }(ed, n), $.each(params, function(key, val) { if ("data-mouseover" === key || "data-mouseout" === key || 0 === key.indexOf("on")) return !0; if (document.getElementById(key) || "class" == key) return !0; try { val = decodeURIComponent(val); } catch (e) {} var repeatable = $(".uk-repeatable").eq(0), repeatable = (0 < x && $(repeatable).clone(!0).appendTo($(repeatable).parent()), $(".uk-repeatable").eq(x).find("input, select")); $(repeatable).eq(0).val(key), $(repeatable).eq(1).val(val), x++; })) : Wf.setDefaults(this.settings.defaults), "external" === ed.settings.filebrowser_position ? Wf.createBrowsers($("#src"), function(files) { files = files.shift(); self.selectFile(files); }, "images") : $("#src").filebrowser().on("filebrowser:onfileclick", function(e, file, data) { self.selectFile(file, data); }).on("filebrowser:onfileinsert", function(e, file, data) { self.selectFile(file, data); }).on("filebrowser:onfileinsert", function(e, file, data) { self.insert(); }), Wf.updateStyles(), $("#border").change(), $(".uk-constrain-checkbox").on("constrain:change", function(e, elms) { $(elms).addClass("uk-isdirty"); }).trigger("constrain:update"), $(".uk-equalize-checkbox").trigger("equalize:update"), $(".uk-form-controls select").datalist().trigger("datalist:update"), $(".uk-datalist").trigger("datalist:update"); }, insert: function() { var ed = tinyMCEPopup.editor, self = this, n = ed.selection.getNode(); if ("" === $("#src").val()) return Wf.Modal.alert(tinyMCEPopup.getLang("imgmanager_dlg.no_src", "Please enter a url for the image")), !1; n && "IMG" === n.nodeName && "" === ed.dom.getAttrib(n, "alt") && this.insertAndClose(), "" === $("#alt").val() ? Wf.Modal.confirm(tinyMCEPopup.getLang("imgmanager_dlg.missing_alt"), function(state) { state && self.insertAndClose(); }, { width: 360, height: 240 }) : this.insertAndClose(); }, insertAndClose: function() { var v, ed = tinyMCEPopup.editor, self = this, args = {}, br = "", over = (Wf.updateStyles(), tinyMCEPopup.restoreSelection(), tinymce.isWebKit && ed.getWin().focus(), args = { vspace: "", hspace: "", border: "", align: "" }, $.each([ "src", "width", "height", "alt", "title", "classes", "style", "id", "dir", "lang", "usemap", "longdesc", "loading" ], function(i, k) { v = $("#" + k + ":enabled").val(), "src" == k && (v = Wf.String.buildURI(v)), "width" != k && "height" != k || (v = !1 !== self.settings.always_include_dimensions ? $("#" + k).val() : $("#" + k + ".uk-isdirty").val() || ""), args[k = "classes" == k ? "class" : k] = v; }), args.onmouseover = args.onmouseout = "", $("#onmouseover").val()), out = $("#onmouseout").val(); over || (out = ""), args = $.extend(args, { "data-mouseover": over ? ed.convertURL(over) : "", "data-mouseout": out ? ed.convertURL(out) : "" }), br = (over = ed.selection.getNode()).nextSibling, $(".uk-repeatable").each(function() { var elements = $("input, select", this), key = $(elements).eq(0).val(), elements = $(elements).eq(1).val(); key && (args[key] = elements); }), over && "IMG" == over.nodeName ? (ed.dom.setAttribs(over, args), br && "BR" == br.nodeName ? (!$("#clear").is(":disabled") && "" !== $("#clear").val() || ed.dom.remove(br), $("#clear").is(":disabled") || "" === $("#clear").val() || ed.dom.setStyle(br, "clear", $("#clear").val())) : $("#clear").is(":disabled") || "" === $("#clear").val() || (br = ed.dom.create("br"), ed.dom.setStyle(br, "clear", $("#clear").val()), ed.dom.insertAfter(br, over)), ed.onUpdateMedia.dispatch(ed, { node: over })) : (ed.execCommand("mceInsertContent", !1, ed.dom.createHTML("img", $.extend({}, args, { id: "__mce_tmp" })), { skip_undo: 1 }), over = ed.dom.get("__mce_tmp"), $("#clear").is(":disabled") || "" === $("#clear").val() || (br = ed.dom.create("br"), ed.dom.setStyle(br, "clear", $("#clear").val()), ed.dom.insertAfter(br, over)), ed.dom.setAttrib(over, "id", args.id)), ed.undoManager.add(), ed.nodeChanged(), tinyMCEPopup.close(); }, selectFile: function(file, data) { var img, name = data.title, src = data.url; "rollover_tab" == $(".uk-tabs-panel > .uk-active").attr("id") ? $("input.uk-active", "#rollover_tab").or("#onmouseout").val(src) : ($("#alt").hasClass("uk-edited") || (name = (name = Wf.String.stripExt(name)).replace(/[-_]+/g, " "), $("#alt").val(name)), $("#onmouseout").val(src), $("#src").val(src), data.width && data.height ? $.each([ "width", "height" ], function(i, k) { var v = data[k] || ""; $("#" + k).val(v).data("tmp", v).removeClass("uk-edited").addClass("uk-text-muted"); }) : ((img = new Image()).onload = function() { $.each([ "width", "height" ], function(i, k) { $("#" + k).val(img[k]).data("tmp", img[k]).removeClass("uk-edited").addClass("uk-text-muted"); }); }, img.src = src), name = Wf.sizeToFit({ width: data.width, height: data.height }, { width: 80, height: 60 }), $("#sample").attr({ src: data.preview }).attr(name)); } }; window.ImageManagerDialog = ImageManagerDialog, $(document).ready(function() { ImageManagerDialog.init(); }); }(jQuery);plugins/langcode/plugin.js000060400000016214152456730070011646 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var languageValues = { Afrikaans: "af", Albanian: "sq", "Arabic (Algeria)": "ar-DZ", "Arabic (Bahrain)": "ar-BH", "Arabic (Egypt)": "ar-EG", "Arabic (Iraq)": "ar-IQ", "Arabic (Jordan)": "ar-JO", "Arabic (Kuwait)": "ar-KW", "Arabic (Lebanon)": "ar-LB", "Arabic (Libya)": "ar-LY", "Arabic (Morocco)": "ar-MA", "Arabic (Oman)": "ar-OM", "Arabic (Qatar)": "ar-QA", "Arabic (Saudi Arabia)": "ar-SA", "Arabic (Syria)": "ar-SY", "Arabic (Tunisia)": "ar-TN", "Arabic (U.A.E.)": "ar-AE", "Arabic (Yemen)": "ar-YE", Basque: "eu", Belarusian: "be", Bulgarian: "bg", Catalan: "ca", "Chinese (Hong Kong)": "zh-HK", "Chinese (PRC)": "zh-CN", "Chinese (Singapore)": "zh-SG", "Chinese (Taiwan)": "zh-TW", Croatian: "hr", Czech: "cs", Danish: "da", "Dutch (Belgium)": "nl-BE", "Dutch (Standard)": "nl", English: "en", "English (Australia)": "en-AU", "English (Belize)": "en-BZ", "English (Canada)": "en-CA", "English (Ireland)": "en-IE", "English (Jamaica)": "en-JM", "English (New Zealand)": "en-NZ", "English (South Africa)": "en-ZA", "English (Trinidad)": "en-TT", "English (United Kingdom)": "en-GB", "English (United States)": "en-US", Estonian: "et", Faeroese: "fo", Farsi: "fa", Finnish: "fi", "French (Belgium)": "fr-BE", "French (Canada)": "fr-CA", "French (Luxembourg)": "fr-LU", "French (Standard)": "fr", "French (Switzerland)": "fr-CH", "Gaelic (Scotland)": "gd", "German (Austria)": "de-AT", "German (Liechtenstein)": "de-LI", "German (Luxembourg)": "de-LU", "German (Standard)": "de", "German (Switzerland)": "de-CH", Greek: "el", Hebrew: "he", Hindi: "hi", Hungarian: "hu", Icelandic: "is", Indonesian: "id", Irish: "ga", "Italian (Standard)": "it", "Italian (Switzerland)": "it-CH", Japanese: "ja", Korean: "ko", "Korean (Johab)": "ko", Kurdish: "ku", Latvian: "lv", Lithuanian: "lt", "Macedonian (FYROM)": "mk", Malayalam: "ml", Malaysian: "ms", Maltese: "mt", Norwegian: "no", "Norwegian (Bokm\xe5l)": "nb", "Norwegian (Nynorsk)": "nn", Polish: "pl", "Portuguese (Brazil)": "pt-BR", "Portuguese (Portugal)": "pt", Punjabi: "pa", "Rhaeto-Romanic": "rm", Romanian: "ro", "Romanian (Republic of Moldova)": "ro-MD", Russian: "ru", "Russian (Republic of Moldova)": "ru-MD", Serbian: "sr", Slovak: "sk", Slovenian: "sl", Sorbian: "sb", "Spanish (Argentina)": "es-AR", "Spanish (Bolivia)": "es-BO", "Spanish (Chile)": "es-CL", "Spanish (Colombia)": "es-CO", "Spanish (Costa Rica)": "es-CR", "Spanish (Dominican Republic)": "es-DO", "Spanish (Ecuador)": "es-EC", "Spanish (El Salvador)": "es-SV", "Spanish (Guatemala)": "es-GT", "Spanish (Honduras)": "es-HN", "Spanish (Mexico)": "es-MX", "Spanish (Nicaragua)": "es-NI", "Spanish (Panama)": "es-PA", "Spanish (Paraguay)": "es-PY", "Spanish (Peru)": "es-PE", "Spanish (Puerto Rico)": "es-PR", "Spanish (Spain)": "es", "Spanish (Uruguay)": "es-UY", "Spanish (Venezuela)": "es-VE", Swedish: "sv", "Swedish (Finland)": "sv-FI", Thai: "th", Tsonga: "ts", Tswana: "tn", Turkish: "tr", Ukrainian: "ua", Urdu: "ur", Venda: "ve", Vietnamese: "vi", Welsh: "cy", Xhosa: "xh", Yiddish: "ji", Zulu: "zu" }, DOM = tinymce.DOM; tinymce.PluginManager.add("langcode", function(ed, url) { ed.onPreInit.add(function() { ed.formatter.register({ langcode: { inline: "span", remove: "all", attributes: { lang: "%value" } } }); }), ed.addButton("langcode", { title: "langcode.desc", onclick: function() { var cm = ed.controlManager, form = cm.createForm("language_form"), langList = cm.createListBox("language_lang", { label: ed.getLang("langcode.label", "Language"), onselect: function(v) {}, name: "language", filter: !0 }); langList.add("--", ""), tinymce.each(languageValues, function(value, name) { langList.add(name, value); }), form.add(langList), ed.windowManager.open({ title: ed.getLang("langcode.title", "Language Code"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var node = ed.selection.getNode(), value = ed.settings.language; node.hasAttribute("lang") && (value = node.getAttribute("lang"), DOM.setHTML(this.id + "_insert", ed.getLang("update", "Update"))), langList.value(value); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("common.insert", "Insert"), id: "insert", onsubmit: function(e) { var node = ed.selection.getNode(), selection = ed.selection, data = form.submit(); !selection.isCollapsed() && selection.getContent() == selection.getContent({ format: "text" }) ? 1 < (selection = selection.getSelectedBlocks()).length ? tinymce.each(selection, function(elm) { ed.dom.setAttrib(elm, "lang", data.language); }) : data.language ? ed.formatter.apply("langcode", { value: data.language }) : ed.formatter.remove("langcode") : node && !function(node) { return node == ed.dom.getRoot(); }(node) && ed.dom.setAttrib(node, "lang", data.language), tinymce.dom.Event.cancel(e); }, classes: "primary", autofocus: !0 } ] }); } }); }); }();plugins/branding/plugin.js000060400000002252152456730070011653 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM; tinymce.PluginManager.add("branding", function(ed, url) { !1 !== ed.settings.branding && (ed.onPostRender.add(function() { var container = ed.getContentAreaContainer(); DOM.insertAfter(DOM.create("div", { class: "mceBranding" }, 'Powered by JCE Core. JCE Pro'), container); }), ed.onNodeChange.add(function(ed, cm, n, co) { var container = ed.getContentAreaContainer(), msg = "Get more features with "; "IMG" === n.nodeName && (msg = "Image resizing, thumbnails and editing in "), ed.dom.is(n, ".mce-item-media") && (msg = "Upload and manage audio and video with "), DOM.setHTML(DOM.get("mceBrandingMessage", container), msg); })); }); }();plugins/blobupload/plugin.js000060400000027233152456730070012220 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, BlobCache = tinymce.file.BlobCache, Conversions = tinymce.file.Conversions, Uuid = tinymce.util.Uuid, DOM = tinymce.DOM, count = 0, uniqueId = function(prefix) { return (prefix || "blobid") + count++; }; tinymce.PluginManager.add("blobupload", function(ed, url) { var uploaders = []; function findMarker(marker) { var found; return each(ed.dom.select("img[src]"), function(image) { if (image.src == marker.src) return found = image, !1; }), found; } function removeMarker(marker) { each(ed.dom.select("img[src]"), function(image) { image.src == marker.src && (ed.selection.select(image), ed.execCommand("mceRemoveNode"), "P" == (image = ed.selection.getNode()).nodeName) && ed.dom.isEmpty(image) && ed.dom.add(image, "br", { "data-mce-bogus": 1 }); }); } function processImages(images) { var cachedPromises = {}, images = tinymce.map(images, function(img) { var newPromise; return cachedPromises[img.src] ? new Promise(function(resolve) { cachedPromises[img.src].then(function(imageInfo) { if ("string" == typeof imageInfo) return imageInfo; resolve({ image: img, blobInfo: imageInfo.blobInfo }); }); }) : (newPromise = new Promise(function(resolve, reject) { !function(blobCache, img, resolve, reject) { var base64, blobInfo; 0 === img.src.indexOf("blob:") ? (blobInfo = blobCache.getByUri(img.src)) ? resolve({ image: img, blobInfo: blobInfo }) : Conversions.uriToBlob(img.src).then(function(blob) { Conversions.blobToDataUri(blob).then(function(dataUri) { base64 = Conversions.parseDataUri(dataUri).data, blobInfo = blobCache.create(uniqueId(), blob, base64), blobCache.add(blobInfo), resolve({ image: img, blobInfo: blobInfo }); }); }, function(err) { reject(err); }) : (base64 = Conversions.parseDataUri(img.src).data, (blobInfo = blobCache.findFirst(function(cachedBlobInfo) { return cachedBlobInfo.base64() === base64; })) ? resolve({ image: img, blobInfo: blobInfo }) : Conversions.uriToBlob(img.src).then(function(blob) { blobInfo = blobCache.create(uniqueId(), blob, base64), blobCache.add(blobInfo), resolve({ image: img, blobInfo: blobInfo }); }, function(err) { reject(err); })); }(BlobCache, img, resolve, reject); }).then(function(result) { return delete cachedPromises[result.image.src], result; }).catch(function(error) { return delete cachedPromises[img.src], error; }), cachedPromises[img.src] = newPromise); }); return Promise.all(images); } function uploadPastedImage(marker, blobInfo) { return new Promise(function(resolve, reject) { if (!uploaders.length) return removeMarker(marker), resolve(); var html = '

      ' + ed.getLang("upload.name_description", "Please supply a name for this file") + '

      %
      ', win = ed.windowManager.open({ title: ed.getLang("dlg.name", "Name"), content: html, size: "mce-modal-landscape-small", buttons: [ { title: ed.getLang("cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("submit", "Submit"), id: "submit", onclick: function(e) { var url, uploader, quality, value, images, filename = DOM.getValue(ed.id + "_blob_input"); return filename ? (filename = filename.replace(/[\+\\\/\?\#%&<>"\'=\[\]\{\},;@\^\(\)\xa3\u20ac$~]/g, ""), /\.(php([0-9]*)|phtml|pl|py|jsp|asp|htm|html|shtml|sh|cgi)\b/i.test(filename) ? (ed.windowManager.alert({ text: ed.getLang("upload.file_extension_error", "File type not supported"), title: ed.getLang("upload.error", "Upload Error") }), removeMarker(marker), resolve()) : (each(uploaders, function(instance) { if (!url && (url = instance.getUploadURL({ name: blobInfo.filename() }))) return uploader = instance, !1; }), url ? (value = blobInfo.filename(), value = (/\.(jpg|jpeg|png|gif|webp|avif)$/.test(value) ? value.substring(value.length, value.lastIndexOf(".") + 1) : "") || "jpeg", quality = DOM.getValue(ed.id + "_blob_quality") || 100, value = DOM.getValue(ed.id + "_blob_mimetype") || value, filename = { method: "upload", id: Uuid.uuid("wf_"), inline: 1, name: filename, url: url + "&" + ed.settings.query, mimetype: "image/" + value, quality: quality }, images = tinymce.grep(ed.dom.select("img[src]"), function(image) { return image.src == marker.src; }), ed.setProgressState(!0), void function(settings, blobInfo, success, failure, progress) { var formData, xhr = new XMLHttpRequest(); xhr.open("POST", settings.url), xhr.upload.onprogress = function(e) { progress(e.loaded / e.total * 100); }, xhr.onerror = function() { failure("Image upload failed due to a XHR Transport error. Code: " + xhr.status); }, xhr.onload = function() { var json; xhr.status < 200 || 300 <= xhr.status ? failure("HTTP Error: " + xhr.status) : (json = JSON.parse(xhr.responseText)) && !json.error && json.result && json.result.files ? success(json.result.files[0]) : failure(json.error.message || "Invalid JSON response!"); }, (formData = new FormData()).append("file", blobInfo.blob(), blobInfo.filename()), each(settings, function(value, name) { if ("url" == name || "multipart" == name) return !0; formData.append(name, value); }), xhr.send(formData); }(filename, blobInfo, function(data) { data.marker = images[0]; data = uploader.insertUploadedFile(data); data && (ed.undoManager.add(), ed.dom.replace(data, images[0]), ed.selection.select(data)), ed.setProgressState(!1), win.close(), resolve(); }, function(error) { ed.windowManager.alert({ text: error, title: ed.getLang("upload.error", "Upload Error") }), ed.setProgressState(!1), resolve(); }, function() {})) : (removeMarker(marker), resolve()))) : (removeMarker(marker), resolve()); }, classes: "primary" } ], open: function() { window.setTimeout(function() { DOM.get(ed.id + "_blob_input").focus(); }, 10); }, close: function() { return removeMarker(marker), resolve(); } }); }); } ed.onPreInit.add(function() { each(ed.plugins, function(plg, name) { var data; tinymce.is(plg.getUploadConfig, "function") && (data = plg.getUploadConfig()).inline && data.filetypes && uploaders.push(plg); }); }), ed.onInit.add(function() { ed.onPasteBeforeInsert.add(function(ed, o) { var promises, o = ed.dom.create("div", 0, o.content), o = tinymce.grep(ed.dom.select("img[src]", o), function(img) { var src = img.getAttribute("src"); return !(img.hasAttribute("data-mce-bogus") || img.hasAttribute("data-mce-placeholder") || img.hasAttribute("data-mce-upload-marker") || !src || "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" == src || 0 !== src.indexOf("blob:") && 0 !== src.indexOf("data:")); }); o.length && (promises = [], processImages(o).then(function(result) { each(result, function(item) { "string" != typeof item && (ed.selection.select(findMarker(item.image)), ed.selection.scrollIntoView(), promises.push(uploadPastedImage(item.image, item.blobInfo))); }); }), Promise.all(promises).then()); }); }); }); }();plugins/lists/plugin.js000060400000067213152456730070011235 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { "use strict"; function isBr(node) { return node && "BR" === node.nodeName; } function getNormalizedEndPoint(container, offset) { var node = RangeUtils$1.getNode(container, offset); return NodeType.isListItemNode(container) && NodeType.isTextNode(node) ? { container: node, offset: offset >= container.childNodes.length ? node.data.length : 0 } : { container: container, offset: offset }; } function getParentList(editor) { return editor.dom.getParent(editor.selection.getStart(!0), "OL,UL,DL"); } function normalizeList(dom, ul) { var sibling, parentNode = ul.parentNode; "LI" === parentNode.nodeName && parentNode.firstChild === ul && ((sibling = parentNode.previousSibling) && "LI" === sibling.nodeName ? (sibling.appendChild(ul), NodeType.isEmpty(dom, parentNode) && DOM$3.remove(parentNode)) : DOM$3.setStyle(parentNode, "listStyleType", "none")), NodeType.isListNode(parentNode) && (sibling = parentNode.previousSibling) && "LI" === sibling.nodeName && sibling.appendChild(ul); } function removeEmptyLi(dom, li) { NodeType.isEmpty(dom, li) && DOM.remove(li); } function outdent(editor, li) { var ul = li.parentNode, ulParent = ul.parentNode; return ul !== editor.getBody() && ("DD" === li.nodeName ? DOM.rename(li, "DT") : NodeType.isFirstChild(li) && NodeType.isLastChild(li) ? "LI" === ulParent.nodeName ? (DOM.insertAfter(li, ulParent), removeEmptyLi(editor.dom, ulParent), DOM.remove(ul)) : NodeType.isListNode(ulParent) ? DOM.remove(ul, !0) : (ulParent.insertBefore(TextBlock_createNewTextBlock(editor, li), ul), DOM.remove(ul)) : NodeType.isFirstChild(li) ? "LI" === ulParent.nodeName ? (DOM.insertAfter(li, ulParent), li.appendChild(ul), removeEmptyLi(editor.dom, ulParent)) : NodeType.isListNode(ulParent) ? ulParent.insertBefore(li, ul) : (ulParent.insertBefore(TextBlock_createNewTextBlock(editor, li), ul), DOM.remove(li)) : NodeType.isLastChild(li) ? "LI" === ulParent.nodeName ? DOM.insertAfter(li, ulParent) : NodeType.isListNode(ulParent) ? DOM.insertAfter(li, ul) : (DOM.insertAfter(TextBlock_createNewTextBlock(editor, li), ul), DOM.remove(li)) : (ulParent = "LI" === ulParent.nodeName ? (ul = ulParent, TextBlock_createNewTextBlock(editor, li, "LI")) : NodeType.isListNode(ulParent) ? TextBlock_createNewTextBlock(editor, li, "LI") : TextBlock_createNewTextBlock(editor, li), SplitList_splitList(editor, ul, li, ulParent), NormalizeLists_normalizeLists(editor.dom, ul.parentNode))), !0; } function setAttribs(elm, attrs) { tinymce.each(attrs, function(value, key) { elm.setAttribute(key, value); }); } function getEndPointNode(editor, rng, start) { var root = getRoot(editor), container = rng[start ? "startContainer" : "endContainer"], rng = rng[start ? "startOffset" : "endOffset"]; for (1 === container.nodeType && (container = container.childNodes[Math.min(rng, container.childNodes.length - 1)] || container); container.parentNode !== root; ) { if (NodeType.isTextBlock(editor, container)) return container; if (/^(TD|TH)$/.test(container.parentNode.nodeName)) return container; container = container.parentNode; } return container; } function shouldMerge(dom, list1, list2) { return isValidLists(list1, list2) && hasSameListStyle(dom, list1, list2) && hasSameClasses(list1, list2); } function findNextCaretContainer(editor, rng, isForward) { var nonEmptyBlocks, walker, node = rng.startContainer, rng = rng.startOffset; if (3 === node.nodeType && (isForward ? rng < node.data.length : 0 < rng)) return node; for (nonEmptyBlocks = editor.schema.getNonEmptyElements(), 1 === node.nodeType && (node = RangeUtils.getNode(node, rng)), walker = new TreeWalker(node, editor.getBody()), isForward && NodeType.isBogusBr(editor.dom, node) && walker.next(); node = walker[isForward ? "next" : "prev2"](); ) { if ("LI" === node.nodeName && !node.hasChildNodes()) return node; if (nonEmptyBlocks[node.nodeName]) return node; if (3 === node.nodeType && 0 < node.data.length) return node; } } function hasOnlyOneBlockChild(dom, elm) { return 1 === (elm = elm.childNodes).length && !NodeType.isListNode(elm[0]) && dom.isBlock(elm[0]); } function moveChildren(dom, fromElm, toElm) { var node, targetElm = hasOnlyOneBlockChild(dom, toElm) ? toElm.firstChild : toElm; if (!function(dom, elm) { hasOnlyOneBlockChild(dom, elm) && dom.remove(elm.firstChild, !0); }(dom, fromElm), !NodeType.isEmpty(dom, fromElm, !0)) for (;node = fromElm.firstChild; ) targetElm.appendChild(node); } function mergeLiElements(dom, fromElm, toElm) { var node, listNode, ul = fromElm.parentNode; NodeType.isChildOfBody(dom, fromElm) && NodeType.isChildOfBody(dom, toElm) && (NodeType.isListNode(toElm.lastChild) && (listNode = toElm.lastChild), ul === toElm.lastChild && NodeType.isBr(ul.previousSibling) && dom.remove(ul.previousSibling), (node = toElm.lastChild) && NodeType.isBr(node) && fromElm.hasChildNodes() && dom.remove(node), NodeType.isEmpty(dom, toElm, !0) && dom.empty(toElm), moveChildren(dom, fromElm, toElm), listNode && toElm.appendChild(listNode), dom.remove(fromElm), NodeType.isEmpty(dom, ul)) && ul !== dom.getRoot() && dom.remove(ul); } function mergeForward(editor, rng, fromLi, toLi) { var dom = editor.dom; dom.isEmpty(toLi) ? function(editor, fromLi, toLi) { editor.dom.empty(toLi), mergeLiElements(editor.dom, fromLi, toLi), editor.selection.setCursorLocation(toLi); }(editor, fromLi, toLi) : (rng = Bookmark.createBookmark(rng), mergeLiElements(dom, fromLi, toLi), editor.selection.setRng(Bookmark.resolveBookmark(rng))); } function backspaceDeleteFromListToListCaret(editor, isForward) { var ul, dom = editor.dom, selection = editor.selection, li = dom.getParent(selection.getStart(), "LI"); if (li) { if ((ul = li.parentNode) === editor.getBody() && NodeType.isEmpty(dom, ul)) return !0; if (selection = Range_normalizeRange(selection.getRng(!0)), (dom = dom.getParent(findNextCaretContainer(editor, selection, isForward), "LI")) && dom !== li) return isForward ? mergeForward(editor, selection, dom, li) : function(editor, rng, fromLi, toLi) { rng = Bookmark.createBookmark(rng); mergeLiElements(editor.dom, fromLi, toLi), editor.selection.setRng(Bookmark.resolveBookmark(rng)); }(editor, selection, li, dom), !0; if (!dom && !isForward && ToggleList_removeList(editor, ul.nodeName)) return !0; } return !1; } function backspaceDelete(editor, isForward) { return editor.selection.isCollapsed() ? backspaceDeleteCaret(editor, isForward) : backspaceDeleteRange(editor); } function queryListCommandState(editor, listName) { return function() { var parentList = editor.dom.getParent(editor.selection.getStart(), "UL,OL,DL"); return parentList && parentList.nodeName === listName; }; } var NodeType = { isTextNode: function(node) { return node && 3 === node.nodeType; }, isListNode: function(node) { return node && /^(OL|UL|DL)$/.test(node.nodeName); }, isListItemNode: function(node) { return node && /^(LI|DT|DD)$/.test(node.nodeName); }, isBr: isBr, isFirstChild: function(node) { return node.parentNode.firstChild === node; }, isLastChild: function(node) { return node.parentNode.lastChild === node; }, isTextBlock: function(editor, node) { return node && !!editor.schema.getTextBlockElements()[node.nodeName]; }, isBlock: function(node, blockElements) { return node && node.nodeName in blockElements; }, isBogusBr: function(dom, node) { return !!isBr(node) && !(!dom.isBlock(node.nextSibling) || isBr(node.previousSibling)); }, isEmpty: function(dom, elm, keepBookmarks) { var empty = dom.isEmpty(elm); return !(keepBookmarks && 0 < dom.select("span[data-mce-type=bookmark]", elm).length) && empty; }, isChildOfBody: function(dom, elm) { return dom.isChildOf(elm, dom.getRoot()); } }, RangeUtils$1 = tinymce.dom.RangeUtils, Range_normalizeRange = function(rng) { var outRng = rng.cloneRange(), rangeStart = getNormalizedEndPoint(rng.startContainer, rng.startOffset), rangeStart = (outRng.setStart(rangeStart.container, rangeStart.offset), getNormalizedEndPoint(rng.endContainer, rng.endOffset)); return outRng.setEnd(rangeStart.container, rangeStart.offset), outRng; }, DOM$5 = tinymce.DOM, Bookmark = { createBookmark: function(rng) { function setupEndPoint(start) { var offsetNode, container = rng[start ? "startContainer" : "endContainer"], offset = rng[start ? "startOffset" : "endOffset"]; 1 === container.nodeType && (offsetNode = DOM$5.create("span", { "data-mce-type": "bookmark" }), container.hasChildNodes() ? (offset = Math.min(offset, container.childNodes.length - 1), start ? container.insertBefore(offsetNode, container.childNodes[offset]) : DOM$5.insertAfter(offsetNode, container.childNodes[offset])) : container.appendChild(offsetNode), container = offsetNode, offset = 0), bookmark[start ? "startContainer" : "endContainer"] = container, bookmark[start ? "startOffset" : "endOffset"] = offset; } var bookmark = {}; return setupEndPoint(!0), rng.collapsed || setupEndPoint(), bookmark; }, resolveBookmark: function(bookmark) { function restoreEndPoint(start) { var node, container = node = bookmark[start ? "startContainer" : "endContainer"], offset = bookmark[start ? "startOffset" : "endOffset"]; container && (1 === container.nodeType && (offset = function(container) { for (var node = container.parentNode.firstChild, idx = 0; node; ) { if (node === container) return idx; 1 === node.nodeType && "bookmark" === node.getAttribute("data-mce-type") || idx++, node = node.nextSibling; } return -1; }(container), container = container.parentNode, DOM$5.remove(node)), bookmark[start ? "startContainer" : "endContainer"] = container, bookmark[start ? "startOffset" : "endOffset"] = offset); } restoreEndPoint(!0), restoreEndPoint(); var rng = DOM$5.createRng(); return rng.setStart(bookmark.startContainer, bookmark.startOffset), bookmark.endContainer && rng.setEnd(bookmark.endContainer, bookmark.endOffset), Range_normalizeRange(rng); } }, Selection_getParentList = getParentList, Selection_getSelectedSubLists = function(editor) { var parentList = getParentList(editor); return tinymce.grep(editor.selection.getSelectedBlocks(), function(elm) { return NodeType.isListNode(elm) && parentList !== elm; }); }, Selection_getSelectedListItems = function(editor) { var selectedBlocks = editor.selection.getSelectedBlocks(); return tinymce.grep(function(editor, elms) { elms = tinymce.map(elms, function(elm) { var parentLi = editor.dom.getParent(elm, "li,dd,dt", editor.getBody()); return parentLi || elm; }); return editor.dom.unique(elms); }(editor, selectedBlocks), function(block) { return NodeType.isListItemNode(block); }); }, DOM$4 = tinymce.DOM, mergeLists = function(from, to) { var node; if (NodeType.isListNode(from)) { for (;node = from.firstChild; ) to.appendChild(node); DOM$4.remove(from); } }, Indent_indentSelection = function(editor) { var li, sibling, newList, listStyle, listElements = Selection_getSelectedListItems(editor); if (listElements.length) { for (var bookmark = Bookmark.createBookmark(editor.selection.getRng(!0)), i = 0; i < listElements.length && (li = listElements[i], listStyle = newList = sibling = void 0, ("DT" === li.nodeName ? (DOM$4.rename(li, "DD"), !0) : (sibling = li.previousSibling) && NodeType.isListNode(sibling) ? (sibling.appendChild(li), !0) : sibling && "LI" === sibling.nodeName && NodeType.isListNode(sibling.lastChild) ? (sibling.lastChild.appendChild(li), mergeLists(li.lastChild, sibling.lastChild), !0) : (sibling = li.nextSibling) && NodeType.isListNode(sibling) ? (sibling.insertBefore(li, sibling.firstChild), !0) : !(!(sibling = li.previousSibling) || "LI" !== sibling.nodeName || (newList = DOM$4.create(li.parentNode.nodeName), (listStyle = DOM$4.getStyle(li.parentNode, "listStyleType")) && DOM$4.setStyle(newList, "listStyleType", listStyle), sibling.appendChild(newList), newList.appendChild(li), mergeLists(li.lastChild, newList), 0))) || 0 !== i); i++); return editor.selection.setRng(Bookmark.resolveBookmark(bookmark)), editor.nodeChanged(), !0; } }, DOM$3 = tinymce.DOM, NormalizeLists_normalizeLists = function(dom, element) { tinymce.each(tinymce.grep(dom.select("ol,ul", element)), function(ul) { normalizeList(dom, ul); }); }, DOM$2 = tinymce.DOM, TextBlock_createNewTextBlock = function(editor, contentNode, blockName) { var node, textBlock, hasContentNode, fragment = DOM$2.createFragment(), blockElements = editor.schema.getBlockElements(); if ((blockName = editor.settings.forced_root_block ? blockName || editor.settings.forced_root_block : blockName) && ((textBlock = DOM$2.create(blockName)).tagName === editor.settings.forced_root_block && DOM$2.setAttribs(textBlock, editor.settings.forced_root_block_attrs), NodeType.isBlock(contentNode.firstChild, blockElements) || fragment.appendChild(textBlock)), contentNode) for (;node = contentNode.firstChild; ) { var nodeName = node.nodeName; hasContentNode || "SPAN" === nodeName && "bookmark" === node.getAttribute("data-mce-type") || (hasContentNode = !0), NodeType.isBlock(node, blockElements) ? (fragment.appendChild(node), textBlock = null) : (blockName ? (textBlock || (textBlock = DOM$2.create(blockName), fragment.appendChild(textBlock)), textBlock) : fragment).appendChild(node); } return editor.settings.forced_root_block ? hasContentNode || textBlock.appendChild(DOM$2.create("br", { "data-mce-bogus": "1" })) : fragment.appendChild(DOM$2.create("br")), fragment; }, DOM$1 = tinymce.DOM, SplitList_splitList = function(editor, ul, li, newBlock) { var tmpRng, node, targetNode, bookmarks = DOM$1.select('span[data-mce-type="bookmark"]', ul); for (newBlock = newBlock || TextBlock_createNewTextBlock(editor, li), (tmpRng = DOM$1.createRng()).setStartAfter(li), tmpRng.setEndAfter(ul), node = (tmpRng = tmpRng.extractContents()).firstChild; node; node = node.firstChild) if ("LI" === node.nodeName && editor.dom.isEmpty(node)) { DOM$1.remove(node); break; } editor.dom.isEmpty(tmpRng) || DOM$1.insertAfter(tmpRng, ul), DOM$1.insertAfter(newBlock, ul), NodeType.isEmpty(editor.dom, li.parentNode) && (targetNode = li.parentNode, tinymce.each(bookmarks, function(node) { targetNode.parentNode.insertBefore(node, li.parentNode); }), DOM$1.remove(targetNode)), DOM$1.remove(li), NodeType.isEmpty(editor.dom, ul) && DOM$1.remove(ul); }, DOM = tinymce.DOM, Outdent_outdent = outdent, Outdent_outdentSelection = function(editor) { var listElements = Selection_getSelectedListItems(editor); if (listElements.length) { for (var y, bookmark = Bookmark.createBookmark(editor.selection.getRng(!0)), root = editor.dom.getRoot(), i = listElements.length; i--; ) for (var node = listElements[i].parentNode; node && node !== root; ) { for (y = listElements.length; y--; ) if (listElements[y] === node) { listElements.splice(i, 1); break; } node = node.parentNode; } for (i = 0; i < listElements.length && (outdent(editor, listElements[i]) || 0 !== i); i++); return editor.selection.setRng(Bookmark.resolveBookmark(bookmark)), editor.nodeChanged(), !0; } }, BookmarkManager = tinymce.dom.BookmarkManager, getRoot = function(editor) { return editor.dom.getRoot(); }, updateListWithDetails = function(dom, el, detail) { !function(dom, el, detail) { detail = detail["list-style-type"] || null; dom.setStyle(el, "list-style-type", detail); }(dom, el, detail), function(dom, el, detail) { setAttribs(el, detail["list-attributes"]), tinymce.each(dom.select("li", el), function(li) { setAttribs(li, detail["list-item-attributes"]); }); }(dom, el, detail); }, applyList = function(editor, listName, detail) { var bookmark, rng = editor.selection.getRng(!0), listItemName = "LI", dom = editor.dom; detail = detail || {}, "false" !== dom.getContentEditable(editor.selection.getNode()) && ("DL" === (listName = listName.toUpperCase()) && (listItemName = "DT"), bookmark = Bookmark.createBookmark(rng), tinymce.each(function(editor, rng) { for (var block, textBlocks = [], root = getRoot(editor), dom = editor.dom, startNode = getEndPointNode(editor, rng, !0), endNode = getEndPointNode(editor, rng, !1), siblings = [], node = startNode; node && (siblings.push(node), node !== endNode); node = node.nextSibling); return tinymce.each(siblings, function(node) { var nextSibling; NodeType.isTextBlock(editor, node) ? (textBlocks.push(node), block = null) : dom.isBlock(node) || NodeType.isBr(node) ? (NodeType.isBr(node) && dom.remove(node), block = null) : (nextSibling = node.nextSibling, BookmarkManager.isBookmarkNode(node) && (NodeType.isTextBlock(editor, nextSibling) || !nextSibling && node.parentNode === root) ? block = null : (block || (block = dom.create("p"), node.parentNode.insertBefore(block, node), textBlocks.push(block)), block.appendChild(node))); }), textBlocks; }(editor, rng), function(block, idx) { var listBlock, detailStyle, sibling = block.previousSibling; "DL" === listName && 0 < idx && (listItemName = "DD"), sibling && NodeType.isListNode(sibling) && sibling.nodeName === listName && (idx = sibling, idx = dom.getStyle(idx, "list-style-type"), detailStyle = detail ? detail["list-style-type"] : "", idx === (null === detailStyle ? "" : detailStyle)) ? (listBlock = sibling, block = dom.rename(block, listItemName), sibling.appendChild(block)) : (listBlock = dom.create(listName), block.parentNode.insertBefore(listBlock, block), listBlock.appendChild(block), block = dom.rename(block, listItemName)), updateListWithDetails(dom, listBlock, detail), mergeWithAdjacentLists(editor.dom, listBlock); }), editor.selection.setRng(Bookmark.resolveBookmark(bookmark))); }, removeList = function(editor) { var bookmark = Bookmark.createBookmark(editor.selection.getRng(!0)), root = getRoot(editor), listItems = Selection_getSelectedListItems(editor), emptyListItems = tinymce.grep(listItems, function(li) { return editor.dom.isEmpty(li); }), listItems = tinymce.grep(listItems, function(li) { return !editor.dom.isEmpty(li); }); tinymce.each(emptyListItems, function(li) { NodeType.isEmpty(editor.dom, li) && Outdent_outdent(editor, li); }), tinymce.each(listItems, function(li) { var node, rootList; if (li.parentNode !== editor.getBody()) { for (node = li; node && node !== root; node = node.parentNode) NodeType.isListNode(node) && (rootList = node); SplitList_splitList(editor, rootList, li), NormalizeLists_normalizeLists(editor.dom, rootList.parentNode); } }), editor.selection.setRng(Bookmark.resolveBookmark(bookmark)); }, isValidLists = function(list1, list2) { return list1 && list2 && NodeType.isListNode(list1) && list1.nodeName === list2.nodeName; }, hasSameListStyle = function(dom, list1, list2) { return dom.getStyle(list1, "list-style-type", !0) === dom.getStyle(list2, "list-style-type", !0); }, hasSameClasses = function(elm1, elm2) { return elm1.className === elm2.className; }, mergeWithAdjacentLists = function(dom, listBlock) { var node, sibling = listBlock.nextSibling; if (shouldMerge(dom, listBlock, sibling)) { for (;node = sibling.firstChild; ) listBlock.appendChild(node); dom.remove(sibling); } if (sibling = listBlock.previousSibling, shouldMerge(dom, listBlock, sibling)) { for (;node = sibling.lastChild; ) listBlock.insertBefore(node, listBlock.firstChild); dom.remove(sibling); } }, updateList = function(dom, list, listName, detail) { list.nodeName !== listName ? (listName = dom.rename(list, listName), updateListWithDetails(dom, listName, detail)) : updateListWithDetails(dom, list, detail); }, hasListStyleDetail = function(detail) { return "list-style-type" in detail; }, ToggleList_toggleList = function(editor, listName, detail) { var parentList = Selection_getParentList(editor), selectedSubLists = Selection_getSelectedSubLists(editor); detail = detail || {}, parentList && 0 < selectedSubLists.length ? function(editor, parentList, lists, listName, detail) { var bookmark; parentList.nodeName !== listName || hasListStyleDetail(detail) ? (bookmark = Bookmark.createBookmark(editor.selection.getRng(!0)), tinymce.each([ parentList ].concat(lists), function(elm) { updateList(editor.dom, elm, listName, detail); }), editor.selection.setRng(Bookmark.resolveBookmark(bookmark))) : removeList(editor); }(editor, parentList, selectedSubLists, listName, detail) : function(editor, parentList, listName, detail) { var bookmark; parentList !== getRoot(editor) && (parentList ? parentList.nodeName !== listName || hasListStyleDetail(detail) ? (bookmark = Bookmark.createBookmark(editor.selection.getRng(!0)), updateListWithDetails(editor.dom, parentList, detail), mergeWithAdjacentLists(editor.dom, editor.dom.rename(parentList, listName)), editor.selection.setRng(Bookmark.resolveBookmark(bookmark))) : removeList(editor) : applyList(editor, listName, detail)); }(editor, parentList, listName, detail); }, ToggleList_removeList = removeList, ToggleList_mergeWithAdjacentLists = mergeWithAdjacentLists, RangeUtils = tinymce.dom.RangeUtils, TreeWalker = tinymce.dom.TreeWalker, VK$1 = tinymce.VK, backspaceDeleteCaret = function(editor, isForward) { return backspaceDeleteFromListToListCaret(editor, isForward) || function(editor, isForward) { var dom = editor.dom, block = dom.getParent(editor.selection.getStart(), dom.isBlock); if (block && dom.isEmpty(block)) { var rng = Range_normalizeRange(editor.selection.getRng(!0)), rng = dom.getParent(findNextCaretContainer(editor, rng, isForward), "LI"); if (rng) return editor.undoManager.add(), function(dom, block) { var parentBlock = dom.getParent(block.parentNode, dom.isBlock); dom.remove(block), parentBlock && dom.isEmpty(parentBlock) && dom.remove(parentBlock); }(dom, block), ToggleList_mergeWithAdjacentLists(dom, rng.parentNode), editor.selection.select(rng, !0), editor.selection.collapse(isForward), !0; } return !1; }(editor, isForward); }, backspaceDeleteRange = function(editor) { return !!(editor.dom.getParent(editor.selection.getStart(), "LI,DT,DD") || 0 < Selection_getSelectedListItems(editor).length) && (editor.undoManager.add(), editor.execCommand("Delete"), NormalizeLists_normalizeLists(editor.dom, editor.getBody()), !0); }, Delete_setup = function(editor) { editor.onKeyDown.add(function(ed, e) { e.keyCode === VK$1.BACKSPACE ? backspaceDelete(editor, !1) && e.preventDefault() : e.keyCode === VK$1.DELETE && backspaceDelete(editor, !0) && e.preventDefault(); }); }, Delete_backspaceDelete = backspaceDelete, VK = tinymce.VK; tinymce.PluginManager.add("lists", function(editor) { Delete_setup(editor), editor.onInit.add(function() { !function(editor) { editor.onBeforeExecCommand.add(function(ed, cmd, ui, v, o) { var isHandled; if ("indent" === cmd ? Indent_indentSelection(editor) && (isHandled = !0) : "outdent" === cmd && Outdent_outdentSelection(editor) && (isHandled = !0), isHandled) return editor.execCommand(cmd), o.terminate = !0; }), editor.addCommand("InsertUnorderedList", function(ui, detail) { ToggleList_toggleList(editor, "UL", detail); }), editor.addCommand("InsertOrderedList", function(ui, detail) { ToggleList_toggleList(editor, "OL", detail); }), editor.addCommand("InsertDefinitionList", function(ui, detail) { ToggleList_toggleList(editor, "DL", detail); }); }(editor), function(editor) { editor.addQueryStateHandler("InsertUnorderedList", queryListCommandState(editor, "UL")), editor.addQueryStateHandler("InsertOrderedList", queryListCommandState(editor, "OL")), editor.addQueryStateHandler("InsertDefinitionList", queryListCommandState(editor, "DL")); }(editor), editor.getParam("lists_indent_on_tab", !0) && function(editor) { editor.onKeyDown.add(function(ed, e) { 9 !== e.keyCode || VK.metaKeyPressed(e) || editor.dom.getParent(editor.selection.getStart(), "LI,DT,DD") && (e.preventDefault(), (e.shiftKey ? Outdent_outdentSelection : Indent_indentSelection)(editor)); }); }(editor); }); var iconMap = { numlist: "OL", bullist: "UL" }; editor.onNodeChange.add(function(ed, cm, n, collapsed, args) { var lists = tinymce.grep(args.parents, NodeType.isListNode); tinymce.each(iconMap, function(listName, btnName) { cm.setActive(btnName, 0 < lists.length && lists[0].nodeName === listName); }); }), this.backspaceDelete = function(isForward) { return Delete_backspaceDelete(editor, isForward); }; }); }();plugins/lists/tests/lists_applying.html000060400000055102152456730070014464 0ustar00 Applying and Unapplying List Tests

      Applying and Unapplying List Tests

        plugins/lists/tests/lists_indenting.html000060400000034574152456730070014632 0ustar00 List Indenting and Outdenting Tests

        List Indenting and Outdenting Tests

          plugins/lists/tests/lists_general.html000060400000130556152456730070014265 0ustar00 List General Tests

          List General Tests

            plugins/lists/tests/lists_forced_brs.html000060400000011040152456730070014742 0ustar00 Forced BRs List Tests

            Forced BRs List Tests

              plugins/code/plugin.js000060400000061410152456730070011002 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { "use strict"; const Node$1 = tinymce.html.Node; var Content = { createTextNode: function(value, raw) { var text = new Node$1("#text", 3); return text.raw = !1 !== raw, text.value = value, text; }, createShortcodeHtml: function(editor, data, tag) { return data = (data = editor.dom.decode(data)).replace(/[\n\r]/gi, "
              "), editor.dom.createHTML(tag || "pre", { "data-mce-code": "shortcode" }, editor.dom.encode(data)); }, createHtml: function(editor, data, type, tag) { return type = type || "script", tag = tag || "pre", !1 !== editor.settings.code_use_blocks ? editor.dom.createHTML(tag, { "data-mce-code": type }, editor.dom.encode(data)) : (data = data.replace(/]*?>/gi, "\n"), editor.dom.createHTML("img", { src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", "data-mce-resize": "false", "data-mce-code": type, "data-mce-type": "placeholder", "data-mce-value": escape(data) })); } }; const each$1 = tinymce.each; let htmlSchema, shortEndedElements = {}, booleanAttributes = {}; function canKeepCode(editor, type) { return !1 === editor.settings.validate || editor.getParam("code_allow_" + type); } function isXmlElement(editor, name) { return !htmlSchema.isValid(name) && !function(editor, name) { return editor = editor.settings.invalid_elements.split(","), -1 !== tinymce.inArray(editor, name); }(editor, name); } function isValid(editor, tag, attr) { return isXmlElement(editor, tag) || !1 === editor.settings.validate || editor.schema.isValid(tag, attr); } function validateXml(editor, xml) { return function sanitizeNode(editor, node) { var html = []; switch (node.nodeType) { case 1: var name, value, tagName = node.nodeName.toLowerCase(); if (!isValid(editor, tagName)) return ""; html.push("<", tagName); for ({ name, value } of Array.from(node.attributes)) !isValid(editor, tagName, name) || !editor.settings.allow_event_attributes && name.startsWith("on") || (!booleanAttributes[name] || "" !== value && "true" !== value && value !== name ? html.push(" ", name, '="', editor.dom.encode(value, !0), '"') : html.push(" ", name)); if (shortEndedElements[tagName]) "html5-strict" === editor.settings.schema ? html.push(">") : html.push(" />"); else { html.push(">"); for (var child of Array.from(node.childNodes)) html.push(sanitizeNode(editor, child)); html.push(""); } break; case 3: var text = node.nodeValue; html.push(text); break; case 5: html.push(""); break; case 8: html.push("\x3c!--", editor.dom.encode(node.nodeValue, !0), "--\x3e"); } return html.join(""); }(editor, new DOMParser().parseFromString(xml, "text/xml").documentElement); } function processXML(editor, content) { return content.replace(/<([a-z0-9\-_\:\.]+)(?:[^>]*?)\/?>((?:[\s\S]*?)<\/\1>)?/gi, function(match, tag) { return ("svg" !== (tag = tag.toLowerCase()) || !1 !== editor.settings.code_allow_svg_in_xml) && ("math" !== tag || !1 !== editor.settings.code_allow_mathml_in_xml) && isXmlElement(editor, tag) ? (!1 !== editor.settings.code_validate_xml && (match = validateXml(editor, match)), Content.createHtml(editor, match, "xml")) : match; }); } function processShortcode(editor, html, tagName) { var attrPlaceholders; return -1 === html.indexOf("{") || "{" == html.charAt(0) && html.length < 3 || (-1 != html.indexOf("{/source}") && (html = function(editor, html) { return -1 === html.indexOf("{/source}") ? html : html.replace(/(?:(<(code|pre|samp|span)[^>]*(data-mce-type="code")?>|")?)\{source(.*?)\}([\s\S]+?)\{\/source\}/g, function(match) { return "<" === match.charAt(0) || '"' === match.charAt(0) ? match : (match = editor.dom.decode(match), '
              ' + editor.dom.encode(match) + "
              "); }); }(editor, html)), tagName = tagName || "span", attrPlaceholders = [], html = (html = html.replace(/=("[^"]*\{[^"]*"|'[^']*\{[^']*')/g, function(match) { return attrPlaceholders.push(match), '="__SHORTCODE_ATTR_' + (attrPlaceholders.length - 1) + '__"'; })).replace(/(?:(<(code|pre|samp|span)[^>]*(data-mce-type="code")?>)?)(?:\{)([\w-]+)(.*?)(?:\/?\})(?:([\s\S]+?)\{\/\4\})?/g, function(match) { return "<" === match.charAt(0) ? match : Content.createShortcodeHtml(editor, match, tagName); }), attrPlaceholders.length && (html = html.replace(/="__SHORTCODE_ATTR_(\d+)__"/g, function(_match, index) { return attrPlaceholders[parseInt(index, 10)]; }))), html; } function processPhp(editor, content) { return canKeepCode(editor, "php") ? (content = content.replace(/\="([^"]+?)"/g, function(_a, b) { return '="' + (b = b.replace(/<\?(php)?(.+?)\?>/gi, function(_x, _y, z) { return "__php_start__" + editor.dom.encode(z) + "__php_end__"; })) + '"'; }), (content = (content = /"; }) : content).replace(/<([^>]+)<\?(php)?(.+?)\?>([^>]*?)>/gi, function(_a, b, _c, d, e) { return " " !== b.charAt(b.length) && (b += " "), "<" + b + 'data-mce-php="' + d + '" ' + e + ">"; })).replace(/<\?(php)?([\s\S]+?)\?>/gi, function(match) { return match = match.replace(/\n/g, "
              "), Content.createHtml(editor, match, "php"); })) : content.replace(/<\?(php)?([\s\S]*?)\?>/gi, ""); } var Process = { init: function(editor) { htmlSchema = new tinymce.html.Schema({ schema: "mixed", invalid_elements: editor.settings.invalid_elements }), each$1(editor.schema.getShortEndedElements(), function(_shortEnded, name) { shortEndedElements[name.toLowerCase()] = !0; }), each$1(editor.schema.getBoolAttrs(), function(_boolAttr, name) { booleanAttributes[name.toLowerCase()] = !0; }); }, processOnInsert: function(editor, value, _node) { return /\{.+\}/gi.test(value) && editor.settings.code_protect_shortcode && (value = processShortcode(editor, value, void 0)), canKeepCode(editor, "custom_xml") && (value = processXML(editor, value)), /<(\?|script|style)/.test(value) && (value = value.replace(/<(script|style)([^>]*?)>([\s\S]*?)<\/\1>/gi, function(match, type) { return canKeepCode(editor, type) ? (match = match.replace(/]*?>/gi, "\n"), Content.createHtml(editor, match, type)) : ""; }), value = processPhp(editor, value)), value = /]*?rel="stylesheet"[^>]*?>/gi.test(value) ? value.replace(/]*?rel="stylesheet"[^>]*?>/gi, function(match) { return canKeepCode(editor, "style") ? Content.createHtml(editor, match, "link") : ""; }) : value; }, processShortcode: processShortcode, processPhp: processPhp, processXML: processXML }; const each = tinymce.each, Node = tinymce.html.Node, VK = tinymce.VK, DomParser = tinymce.html.DomParser, Serializer = tinymce.html.Serializer; function isOnlyChild(node) { var child = node.parent.firstChild, count = 0; if (child) do { if (1 === child.type) { if (child.attributes.map["data-mce-type"] || child.attributes.map["data-mce-bogus"]) continue; if (child === node) continue; count++; } 8 === child.type && count++, 3 !== child.type || /^[ \t\r\n]*$/.test(child.value) || count++; } while (child = child.next); return 0 === count; } tinymce.PluginManager.add("code", function(editor, url) { function canKeepCode(type) { return !1 === editor.settings.validate || !!editor.getParam("code_allow_" + type); } var blockElements = [], inlineElements = [], code_blocks = !1 !== editor.settings.code_use_blocks; function handleEnterInPre(ed, node, before) { var node = ed.dom.getParents(node, blockElements.join(",")), newBlockName = ed.settings.forced_root_block || "p", node = (!1 === ed.settings.force_block_newlines && (newBlockName = "br"), node.shift()); node !== ed.getBody() && (newBlockName = ed.dom.create(newBlockName, {}, "\xa0"), before ? node.parentNode.insertBefore(newBlockName, node) : ed.dom.insertAfter(newBlockName, node), (before = ed.selection.getRng()).setStart(newBlockName, 0), before.setEnd(newBlockName, 0), ed.selection.setRng(before), ed.selection.scrollIntoView(newBlockName)); } editor.settings.code_allow_script && (editor.settings.allow_script_urls = !0), editor.addCommand("InsertShortCode", function(ui, html) { return editor.settings.code_protect_shortcode && (html = Process.processShortcode(editor, html, "pre"), tinymce.is(html)) && editor.execCommand("mceReplaceContent", !1, html), !1; }), editor.onKeyDown.add(function(ed, e) { var node; if (e.keyCode == VK.ENTER) { if ("PRE" === (node = ed.selection.getNode()).nodeName && "shortcode" === node.getAttribute("data-mce-code")) return void (e.shiftKey || (ed.execCommand("InsertLineBreak", !1, e), e.preventDefault())); "SPAN" === node.nodeName && node.getAttribute("data-mce-code") && (handleEnterInPre(ed, node), e.preventDefault()); } e.keyCode == VK.UP && e.altKey && "PRE" == (node = ed.selection.getNode()).nodeName && (handleEnterInPre(ed, node, !0), e.preventDefault()), 9 != e.keyCode || VK.metaKeyPressed(e) || "PRE" === (node = ed.selection.getNode()).nodeName && node.getAttribute("data-mce-code") && (ed.selection.setContent("\t", { no_events: !0 }), e.preventDefault()), e.keyCode !== VK.BACKSPACE && e.keyCode !== VK.DELETE || "SPAN" === (node = ed.selection.getNode()).nodeName && node.getAttribute("data-mce-code") && "placeholder" === node.getAttribute("data-mce-type") && (ed.undoManager.add(), ed.dom.remove(node), e.preventDefault()); }), editor.onPreInit.add(function() { function isCodePlaceholder(node) { return "SPAN" === node.nodeName && node.getAttribute("data-mce-code") && "placeholder" == node.getAttribute("data-mce-type"); } Process.init(editor), editor.dom.bind(editor.getDoc(), "keyup click", function(e) { var node = e.target, sel = editor.selection.getNode(); editor.dom.removeClass(editor.dom.select(".mce-item-selected"), "mce-item-selected"), node === editor.getBody() && isCodePlaceholder(sel) ? sel.parentNode !== node || sel.nextSibling || editor.dom.insertAfter(editor.dom.create("br", { "data-mce-bogus": 1 }), sel) : isCodePlaceholder(node) && (e.preventDefault(), e.stopImmediatePropagation(), editor.selection.select(node), window.setTimeout(function() { editor.dom.addClass(node, "mce-item-selected"); }, 10), e.preventDefault()); }); function onSetContent() { each(editor.dom.select("pre[data-mce-code]", editor.getBody()), function(elm) { var clone, clonedElm, elm = editor.dom.getParent(elm, "p"); elm && ((clonedElm = (clone = elm.cloneNode(!0)).querySelector("[data-mce-code]")) && clone.removeChild(clonedElm), editor.dom.isEmpty(clone)) && editor.dom.remove(elm, 1); }); } var ctrl = editor.controlManager.get("formatselect"); ctrl && each([ "script", "style", "php", "shortcode", "xml" ], function(key) { var title = editor.getLang("code." + key, key); if ("shortcode" === key && editor.settings.code_protect_shortcode) return ctrl.add(title, key, { class: "mce-code-" + key }), editor.formatter.register("shortcode", { block: "pre", attributes: { "data-mce-code": "shortcode" } }), !0; "xml" === key && (editor.settings.code_allow_xml = !!editor.settings.code_allow_custom_xml), canKeepCode(key) && code_blocks && (ctrl.add(title, key, { class: "mce-code-" + key }), editor.formatter.register(key, { block: "pre", attributes: { "data-mce-code": key }, onformat: function(elm) { each(editor.dom.select("br", elm), function(br) { editor.dom.replace(editor.dom.doc.createTextNode("\n"), br); }); } })); }), each(editor.schema.getBlockElements(), function(_block, blockName) { blockElements.push(blockName); }), each(editor.schema.getTextInlineElements(), function(_inline, name) { inlineElements.push(name); }), editor.settings.code_protect_shortcode && (editor.textpattern.addPattern({ start: "{", end: "}", cmd: "InsertShortCode", remove: !0 }), editor.textpattern.addPattern({ start: " {", end: "}", format: "inline-shortcode", remove: !1 })), editor.formatter.register("inline-shortcode", { inline: "span", attributes: { "data-mce-code": "shortcode" } }), editor.selection.onBeforeSetContent.addToTop(function(sel, o) { sel = sel.getNode(); sel && "PRE" === sel.nodeName || (o.content = Process.processOnInsert(editor, o.content, sel)); }); editor.onSetContent.add(onSetContent), editor.selection.onSetContent.add(onSetContent), editor.parser.addNodeFilter("script,style,link", function(nodes) { for (var i = nodes.length; i--; ) { var node, text, value, placeholder, parent = (node = nodes[i]).parent; parent && "pre" === parent.name || ("link" == node.name && "stylesheet" != node.attr("rel") ? node.remove() : (node.attr("data-mce-fragment", null), node.firstChild && (node.firstChild.value = node.firstChild.value.replace(/]+)>([\s\S]+?)<\/span>/gi, function(match, attr, content) { return -1 === attr.indexOf("data-mce-code") ? match : editor.dom.decode(content); })), code_blocks ? (value = new Serializer({ validate: !1 }).serialize(node), value = tinymce.trim(value), (parent = new Node("pre", 1)).attr({ "data-mce-code": node.name }), text = Content.createTextNode(value, !1), parent.append(text), node.replace(parent)) : (value = "", node.firstChild && (value = tinymce.trim(node.firstChild.value)), placeholder = Node.create("img", { src: "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7", "data-mce-code": node.name, "data-mce-type": "placeholder", "data-mce-resize": "false", title: editor.dom.encode(value) }), each(node.attributes, function(attr) { placeholder.attr("data-mce-p-" + attr.name, attr.value); }), value && placeholder.attr("data-mce-value", escape(value)), node.replace(placeholder)))); } }), editor.parser.addAttributeFilter("data-mce-code", function(nodes, name) { var node, i = nodes.length; function isBlockNode(node) { return -1 != tinymce.inArray(blockElements, node.name); } for (;i--; ) { var type, parent = (node = nodes[i]).parent; "placeholder" == node.attr("data-mce-type") || "shortcode" !== (type = node.attr(name)) && "php" !== type || ((type = node.firstChild.value) && (node.firstChild.value = type.replace(//g, "\n")), parent && (parent.attr(name) ? node.unwrap() : ("body" !== parent.name && !isOnlyChild(node) && function(node) { return "span" == node.name && (node.next && ("#text" == node.next.type || !isBlockNode(node.next)) || node.prev && ("#text" == node.prev.type || !isBlockNode(node.prev)) || !(!node.parent || isBlockNode(node.parent))); }(node) || (node.name = "pre", node.parent && function(node) { return -1 != tinymce.inArray(inlineElements, node.name); }(node.parent) && (node.name = "span"), "pre" == node.name && parent && "p" == parent.name && isOnlyChild(node) && parent.parent && parent.replace(node)), "span" == node.name && node === parent.lastChild && (type = Content.createTextNode("\xa0"), parent.append(type))))); } }), editor.serializer.addAttributeFilter("data-mce-code", function(nodes, name) { var i = nodes.length; for (;i--; ) { var node, root_block = !1, type = (node = nodes[i]).attr(name); if ("img" === node.name) { var key, elm = new Node(type, 1); for (key in node.attributes.map) { var val = node.attributes.map[key]; -1 !== key.indexOf("data-mce-p-") ? key = key.substr(11) : val = null, elm.attr(key, val); } var imgValue = node.attr("data-mce-value"); imgValue && (imgValue = Content.createTextNode(unescape(imgValue)), "php" == type || "shortcode" == type ? elm = imgValue : elm.append(imgValue)), node.replace(elm); } else if (node.isEmpty() && node.remove(), "xml" !== type) { "script" !== type && "style" !== type || (root_block = type); var childVal, parser, child = node.firstChild, imgValue = node.clone(!0), text = ""; if (child) do {} while (/(shortcode|php)/.test(node.attr("data-mce-code")) || (childVal = "br" == child.name ? "\n" : child.value) && (text += childVal), child = child.next); text && (imgValue.empty(), parser = new DomParser({ validate: !1 }), "script" !== type && "style" !== type || parser.addNodeFilter(type, function(items, filterName) { for (var n = items.length; n--; ) { var item = items[n]; each(item.attributes, function(attr) { return !attr || 0 === attr.name.indexOf("data-") && -1 === attr.name.indexOf("data-mce-") || void (!1 === editor.schema.isValid(filterName, attr.name) && item.attr(attr.name, null)); }); } }), parser = parser.parse(text, { forced_root_block: root_block }), imgValue.append(parser)), node.replace(imgValue), "shortcode" === type && "pre" === imgValue.name && (root_block = Content.createTextNode("\n"), imgValue.append(root_block), imgValue.unwrap()); } } }), editor.onContextMenu.addToTop(function(ed, e) { ed = ed.selection.getNode(); if (ed && ed.hasAttribute("data-mce-code")) return !1; }); }), editor.onInit.add(function() { editor.theme && editor.theme.onResolveName && editor.theme.onResolveName.add(function(theme, o) { var node = o.node; node.getAttribute("data-mce-code") && (o.name = node.getAttribute("data-mce-code")); }); }); editor.onMouseDown.add(function(ed, e) { var clientY, top, right, pre = e.target.closest("pre[data-mce-code]"); pre && ({ clientX: e, clientY } = e, { top, right } = pre.getBoundingClientRect(), right - 32 <= e) && clientY <= top + 32 && ed.dom.toggleClass(pre, "mce-code-toggle"); }), editor.onBeforeSetContent.addToTop(function(ed, o) { editor.settings.code_protect_shortcode && -1 === o.content.indexOf('data-mce-code="shortcode"') && (o.content = Process.processShortcode(editor, o.content)), canKeepCode("custom_xml") && o.content && o.load && (o.content = Process.processXML(editor, o.content)), /<(\?|script|style|link)/.test(o.content) && (canKeepCode("script") || (o.content = o.content.replace(/]*>([\s\S]*?)<\/script>/gi, "")), canKeepCode("style") || (o.content = o.content.replace(/]*>([\s\S]*?)<\/style>/gi, ""), o.content = o.content.replace(/]*?rel="stylesheet"[^>]*?>/gi, "")), o.content = Process.processPhp(editor, o.content)); }), editor.onPostProcess.add(function(ed, o) { o.get && (/(data-mce-php|__php_start__)/.test(o.content) && (o.content = o.content.replace(/({source})?__php_start__(.*?)__php_end__/g, function(match, pre, code) { return (pre || "") + ""; }), o.content = o.content.replace(/]*)>([\s\S]*?)<\/textarea>/gi, function(a, b, c) { return "" + (c = /<\?php/.test(c) ? ed.dom.decode(c) : c) + ""; }), o.content = o.content.replace(/data-mce-php="([^"]+?)"/g, function(a, b) { return ""; })), editor.settings.code_protect_shortcode && (o.content = o.content.replace(/\{([\s\S]+?)\}/gi, function(match, content) { return "{" + ed.dom.decode(content) + "}"; }), o.content = o.content.replace(/\{source([^\}]*?)\}([\s\S]+?)\{\/source\}/gi, function(match, start, content) { return "{source" + start + "}" + ed.dom.decode(content) + "{/source}"; }), o.content = o.content.replace(/\{([\w-]+)(.*?)\}([\s\S]+)\{\/\1\}/gi, function(match, start, attr, content) { return "{" + start + attr + "}" + ed.dom.decode(content) + "{/" + start + "}"; })), o.content = o.content.replace(/<(pre|span)([^>]+?)>([\s\S]*?)<\/\1>/gi, function(match, tag, attr, content) { if (-1 === attr.indexOf("data-mce-code")) return match; content = tinymce.trim(content); attr = ed.dom.create("div", {}, match).firstChild.getAttribute("data-mce-code"); return "script" != attr && (content = content.replace(/]*?>/gi, "\n")), content = ed.dom.decode(content), "php" == attr && (content = content.replace(/<\?(php)?/gi, "").replace(/\?>/g, ""), content = ""), content; }), o.content = o.content.replace(//gi, function(match, content) { return unescape(content); })); }); }); }();plugins/format/plugin.js000060400000015677152456730070011376 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var VK = tinymce.VK, each = tinymce.each, blocks = []; tinymce.PluginManager.add("format", function(ed, url) { var keyCode; function clearBlocks(e) { var n = ed.selection.getNode(), tag = (tag = ed.getParam("forced_root_block", "p")) || (ed.getParam("force_block_newlines") ? "p" : "br"), p = ed.dom.getParents(n, blocks.join(",")); (p = ed.dom.getParent(n, "td,th") ? ed.dom.getParents(n, "td,th,tr,tfoot,thead,table") : p) && 1 < p.length && (e.preventDefault(), (n = p[p.length - 1]) !== ed.getBody()) && (p = ed.dom.create(tag, {}, "\xa0"), e.keyCode === VK.ENTER || e.keyCode === VK.DOWN ? ed.dom.insertAfter(p, n) : ed.dom.insertBefore(p, n), ed.selection.select(p), ed.selection.collapse(1)); } ed.addButton("italic", { title: "advanced.italic_desc", onclick: function(e) { e.preventDefault(), ed.focus(), e.shiftKey ? ed.formatter.toggle("italic-i") : ed.formatter.toggle("italic"), ed.undoManager.add(); } }), ed.addShortcut("meta+shift+i", "italic.desc", function() { ed.formatter.apply("italic-i"); }), ed.addCommand("mceSoftHyphen", function() { ed.execCommand("mceInsertContent", !1, ed.plugins.visualchars && ed.plugins.visualchars.state ? '­' : "­"); }), keyCode = 189, tinymce.isGecko && (keyCode = 173), ed.addShortcut("ctrl+shift+" + keyCode, "softhyphen.desc", "mceSoftHyphen"), ed.onPreInit.add(function(ed) { each(ed.schema.getBlockElements(), function(v, k) { if (/\W/.test(k)) return !0; blocks.push(k.toLowerCase()); }), ed.formatter.register("aside", { block: "aside", remove: "all", wrapper: !0 }), ed.formatter.register("p", { block: "p", remove: "all" }), ed.formatter.register("div", { block: "div", onmatch: !!ed.settings.forced_root_block && function() { return !1; } }), ed.formatter.register("div_container", { block: "div", wrapper: !0, onmatch: !!ed.settings.forced_root_block && function() { return !1; } }), ed.formatter.register("span", { inline: "span", remove: "all", onmatch: function() { return !1; } }), ed.formatter.register("section", { block: "section", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("article", { block: "article", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("footer", { block: "footer", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("header", { block: "header", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("nav", { block: "nav", remove: "all", wrapper: !0, merge_siblings: !1 }), ed.formatter.register("code", { inline: "code", remove: "all" }), ed.formatter.register("samp", { inline: "samp", remove: "all" }), ed.formatter.register("blockquote", { block: "blockquote", wrapper: 1, remove: "all", merge_siblings: !1 }), ed.formatter.register("italic-i", { inline: "i", remove: "all" }); var doc, head, values, custom_css = ed.getParam("custom_css", ""); custom_css && (head = (doc = ed.getDoc()).getElementsByTagName("head")[0], ed = ed.dom.create("style", { type: "text/css", id: "mceCustomStyles" }), values = [], each(custom_css.split(";"), function(value) { values.push(".mceContentBody " + value); }), ed.appendChild(doc.createTextNode(values.join(";"))), head.appendChild(ed)); }), ed.settings.removeformat = [ { selector: "b,strong,em,i,font,u,strike,sub,sup,dfn,code,samp,kbd,var,cite,mark,q,footer", remove: "all", split: !0, expand: !1, block_expand: !0, deep: !0 } ], ed.onKeyDown.add(function(ed, e) { e.keyCode !== VK.ENTER && e.keyCode !== VK.UP && e.keyCode !== VK.DOWN || !e.altKey || clearBlocks(e); }), ed.onKeyUp.addToTop(function(ed, e) { e.keyCode === VK.ENTER && "DIV" === (e = ed.selection.getNode()).nodeName && ed.settings.force_block_newlines && (!1 === ed.settings.keep_styles && ed.dom.removeAllAttribs(e), ed.formatter.apply("p")); }), ed.onBeforeExecCommand.add(function(ed, cmd, ui, v, o) { var p, n = ed.selection.getNode(); switch (cmd) { case "FormatBlock": if (!v) { if (o.terminate = !0, n === ed.getBody()) return; ed.undoManager.add(), (p = ed.dom.getParent(n, blocks.join(",")) || "") && (name = p.nodeName.toLowerCase(), ed.formatter.get(name)) && ed.formatter.remove(name); var name = ed.controlManager.get("formatselect"); name && name.select(p); } "dl" === v && (ed.execCommand("InsertDefinitionList"), o.terminate = !0), "dt" !== v && "dd" !== v || (n && !ed.dom.getParent(n, "dl") && ed.execCommand("InsertDefinitionList"), "dt" === v && "DD" === n.nodeName && ed.dom.rename(n, "DT"), "dd" === v && "DT" === n.nodeName && ed.dom.rename(n, "DD"), o.terminate = !0); break; case "RemoveFormat": v || ed.dom.isBlock(n) || (name = ed.controlManager.get("styleselect")) && name.selectedValue && ed.execCommand("mceToggleFormat", !1, name.selectedValue); } }), ed.onExecCommand.add(function(ed, cmd, ui, v, o) { var n = ed.selection.getNode(); "mceToggleFormat" !== cmd || "dt" !== v && "dd" !== v || "DL" === n.nodeName && 0 === ed.dom.select("dt,dd", n).length && ed.formatter.remove("dl"); }); }); }();plugins/cleanup/plugin.js000060400000014516152456730070011524 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ import split from "./src/utils/split"; import { TAGS, PADDED_RX } from "./src/constants"; import createPadding from "./src/filters/padding"; import { processAttributes } from "./src/filters/processAttributes"; import { convertFromGeshi, convertToGeshi } from "./src/geshi"; var each = tinymce.each, Node = tinymce.html.Node; tinymce.PluginManager.add("cleanup", function(ed, url) { !1 === ed.settings.verify_html && (ed.settings.validate = !1); var padding = createPadding(Node); ed.onPreInit.add(function() { var elements; ed.serializer.addAttributeFilter("data-mce-caret", function(nodes) { for (var i = nodes.length; i--; ) nodes[i].remove(); }), !1 === ed.settings.remove_trailing_brs && ed.serializer.addAttributeFilter("data-mce-bogus", function(nodes) { for (var node, textNode, i = nodes.length; i--; ) "br" === (node = nodes[i]).name && (node.prev || node.next ? node.remove() : ((textNode = new Node("#text", 3)).value = "\xa0", node.replace(textNode))); }), ed.serializer.addAttributeFilter("data-mce-tmp", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr("data-mce-tmp", null); }), ed.parser.addAttributeFilter("data-mce-tmp", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr("data-mce-tmp", null); }), !1 !== ed.settings.verify_html && (ed.settings.allow_event_attributes || each(ed.schema.elements, function(elm) { if (!elm.attributesOrder || 0 === elm.attributesOrder.length) return !0; each(elm.attributes, function(obj, name) { 0 === name.indexOf("on") && (delete elm.attributes[name], elm.attributesOrder.splice(tinymce.inArray(elm, elm.attributesOrder, name), 1)); }); }), elements = ed.schema.elements, each(split("ol ul sub sup blockquote font table tbody tr strong b"), function(name) { elements[name] && (elements[name].removeEmpty = !1); }), ed.getParam("pad_empty_tags", !0) || each(elements, function(v, k) { v.paddEmpty && (v.paddEmpty = !1); }), ed.getParam("table_pad_empty_cells", !0) || (elements.th.paddEmpty = !1, elements.td.paddEmpty = !1), each(elements, function(v, k) { if (0 === k.indexOf("mce:")) return !0; -1 === tinymce.inArray(TAGS, k) && ed.schema.addCustomElements(k); })), ed.parser.addNodeFilter("a,i,span,li", function(nodes, name) { padding.ensureEmptyInlineNodes(nodes, name); }), ed.serializer.addAttributeFilter("data-mce-empty", function(nodes) { padding.cleanupEmptyInlineNodes(nodes); }); }), !1 === ed.settings.verify_html && ed.addCommand("mceCleanup", function() { var s = ed.settings, se = ed.selection, bm = se.getBookmark(), content = ed.getContent({ cleanup: !0 }), s = (s.verify_html = !0, new tinymce.html.Schema(s)), content = new tinymce.html.Serializer({ validate: !0 }, s).serialize(new tinymce.html.DomParser({ validate: !0, allow_event_attributes: !!ed.settings.allow_event_attributes }, s).parse(content)); ed.setContent(content, { cleanup: !0 }), se.moveToBookmark(bm); }), ed.onBeforeSetContent.add(function(ed, o) { o.content = o.content.replace(/^
              /, ""), o.content = convertFromGeshi(o.content), o.content = padding.paddEmptyTags(o.content), o.content = processAttributes(ed, o.content); }), ed.onPostProcess.add(function(ed, o) { o.set && (o.content = convertFromGeshi(o.content)), o.get && (o.content = convertToGeshi(o.content), o.content = o.content.replace(/]*)class="jce(box|popup|lightbox|tooltip|_tooltip)"([^>]*)><\/a>/gi, ""), o.content = o.content.replace(/(.*?)<\/span>/gi, "$2"), o.content = o.content.replace(/_mce_(src|href|style|coords|shape)="([^"]+)"\s*?/gi, ""), !1 === ed.settings.validate && (o.content = o.content.replace(/]*)>([\s\S]*)<\/body>/, "$2"), ed.getParam("remove_tag_padding") || (o.content = o.content.replace(/<(p|h1|h2|h3|h4|h5|h6|th|td|pre|div|address|caption)\b([^>]*)><\/\1>/gi, "<$1$2> "))), ed.getParam("table_pad_empty_cells", !0) || (o.content = o.content.replace(/<(th|td)([^>]*)>( |\u00a0)<\/\1>/gi, "<$1$2>")), o.content = o.content.replace(/<(a|i|span)([^>]+)>( |\u00a0)<\/\1>/gi, function(match, tag, attribs) { return attribs = attribs.replace('data-mce-empty="1"', ""), "<" + tag + " " + tinymce.trim(attribs) + ">"; }), o.content = o.content.replace(/
            1. ( |\u00a0)<\/li>/gi, "
            2. "), ed.getParam("remove_div_padding") && (o.content = o.content.replace(/]*)>( |\u00a0)<\/div>/g, "
              ")), !1 === ed.getParam("pad_empty_tags", !0) && (o.content = o.content.replace(PADDED_RX, "<$1$2>")), ed.getParam("keep_nbsp", !0) && "raw" === ed.settings.entity_encoding && (o.content = o.content.replace(/\u00a0/g, " ")), o.content = o.content.replace(/(uk|v|ng|data)-([\w-]+)=""(\s|>)/gi, "$1-$2$3"), ed.settings.padd_empty_editor && (o.content = o.content.replace(/^(
              ( | |\s|\u00a0|)<\/div>[\r\n]*|[\r\n]*)$/, "")), o.content = o.content.replace(//gi, ''), o.content = o.content.replace(/
              /gi, '
              ')); }), ed.onSaveContent.add(function(ed, o) { var entities; ed.getParam("cleanup_pluginmode") && (entities = { "'": "'", "&": "&", """: '"', "'": "'" }, o.content = o.content.replace(/&(#39|apos|amp|quot);/gi, function(a) { return entities[a]; })); }), ed.addButton("cleanup", { title: "advanced.cleanup_desc", cmd: "mceCleanup" }), this.paddEmptyTags = padding.paddEmptyTags; });plugins/attributes/plugin.js000060400000024746152456730070012271 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var languageValues = { Afrikaans: "af", Albanian: "sq", "Arabic (Algeria)": "ar-DZ", "Arabic (Bahrain)": "ar-BH", "Arabic (Egypt)": "ar-EG", "Arabic (Iraq)": "ar-IQ", "Arabic (Jordan)": "ar-JO", "Arabic (Kuwait)": "ar-KW", "Arabic (Lebanon)": "ar-LB", "Arabic (Libya)": "ar-LY", "Arabic (Morocco)": "ar-MA", "Arabic (Oman)": "ar-OM", "Arabic (Qatar)": "ar-QA", "Arabic (Saudi Arabia)": "ar-SA", "Arabic (Syria)": "ar-SY", "Arabic (Tunisia)": "ar-TN", "Arabic (U.A.E.)": "ar-AE", "Arabic (Yemen)": "ar-YE", Basque: "eu", Belarusian: "be", Bulgarian: "bg", Catalan: "ca", "Chinese (Hong Kong)": "zh-HK", "Chinese (PRC)": "zh-CN", "Chinese (Singapore)": "zh-SG", "Chinese (Taiwan)": "zh-TW", Croatian: "hr", Czech: "cs", Danish: "da", "Dutch (Belgium)": "nl-BE", "Dutch (Standard)": "nl", English: "en", "English (Australia)": "en-AU", "English (Belize)": "en-BZ", "English (Canada)": "en-CA", "English (Ireland)": "en-IE", "English (Jamaica)": "en-JM", "English (New Zealand)": "en-NZ", "English (South Africa)": "en-ZA", "English (Trinidad)": "en-TT", "English (United Kingdom)": "en-GB", "English (United States)": "en-US", Estonian: "et", Faeroese: "fo", Farsi: "fa", Finnish: "fi", "French (Belgium)": "fr-BE", "French (Canada)": "fr-CA", "French (Luxembourg)": "fr-LU", "French (Standard)": "fr", "French (Switzerland)": "fr-CH", "Gaelic (Scotland)": "gd", "German (Austria)": "de-AT", "German (Liechtenstein)": "de-LI", "German (Luxembourg)": "de-LU", "German (Standard)": "de", "German (Switzerland)": "de-CH", Greek: "el", Hebrew: "he", Hindi: "hi", Hungarian: "hu", Icelandic: "is", Indonesian: "id", Irish: "ga", "Italian (Standard)": "it", "Italian (Switzerland)": "it-CH", Japanese: "ja", Korean: "ko", "Korean (Johab)": "ko", Kurdish: "ku", Latvian: "lv", Lithuanian: "lt", "Macedonian (FYROM)": "mk", Malayalam: "ml", Malaysian: "ms", Maltese: "mt", Norwegian: "no", "Norwegian (Bokm\xe5l)": "nb", "Norwegian (Nynorsk)": "nn", Polish: "pl", "Portuguese (Brazil)": "pt-BR", "Portuguese (Portugal)": "pt", Punjabi: "pa", "Rhaeto-Romanic": "rm", Romanian: "ro", "Romanian (Republic of Moldova)": "ro-MD", Russian: "ru", "Russian (Republic of Moldova)": "ru-MD", Serbian: "sr", Slovak: "sk", Slovenian: "sl", Sorbian: "sb", "Spanish (Argentina)": "es-AR", "Spanish (Bolivia)": "es-BO", "Spanish (Chile)": "es-CL", "Spanish (Colombia)": "es-CO", "Spanish (Costa Rica)": "es-CR", "Spanish (Dominican Republic)": "es-DO", "Spanish (Ecuador)": "es-EC", "Spanish (El Salvador)": "es-SV", "Spanish (Guatemala)": "es-GT", "Spanish (Honduras)": "es-HN", "Spanish (Mexico)": "es-MX", "Spanish (Nicaragua)": "es-NI", "Spanish (Panama)": "es-PA", "Spanish (Paraguay)": "es-PY", "Spanish (Peru)": "es-PE", "Spanish (Puerto Rico)": "es-PR", "Spanish (Spain)": "es", "Spanish (Uruguay)": "es-UY", "Spanish (Venezuela)": "es-VE", Swedish: "sv", "Swedish (Finland)": "sv-FI", Thai: "th", Tsonga: "ts", Tswana: "tn", Turkish: "tr", Ukrainian: "ua", Urdu: "ur", Venda: "ve", Vietnamese: "vi", Welsh: "cy", Xhosa: "xh", Yiddish: "ji", Zulu: "zu" }, each = tinymce.each, extend = tinymce.extend; tinymce.PluginManager.add("attributes", function(ed, url) { function isRootNode(node) { return node == ed.dom.getRoot(); } ed.onPreInit.add(function() { ed.formatter.register({ attributes: { inline: "span", remove: "all", onformat: function(elm, fmt, vars) { each(vars, function(value, key) { ed.dom.setAttrib(elm, key, value); }); } } }); }), ed.addButton("attribs", { title: "attributes.desc", onclick: function() { var mediaApi, cm = ed.controlManager, node = ed.selection.getNode(), nodeAttribs = function(node) { var attribs = {}; if (node) for (var attrs = node.attributes, i = attrs.length - 1; 0 <= i; i--) { var name = attrs[i].name; "_" !== name.charAt(0) && -1 === name.indexOf("-mce-") && (attribs[name] = node.getAttribute(name)); } return attribs; }(node = isRootNode(node = ed.dom.getParent(node, function(n) { return "false" != n.getAttribute("contenteditable"); }, ed.getBody())) ? null : node), attribsMap = { id: "", title: "", class: "", lang: "", dir: "" }, custom = [], form = ((mediaApi = ed.plugins.media ? ed.plugins.media : mediaApi) && mediaApi.isMediaObject(node) && (nodeAttribs = mediaApi.getMediaData()), each(nodeAttribs, function(value, name) { if (name in attribsMap) "class" == name && (value = value.replace(/\bmce-\S+\s*/g, "").replace(/\s+$/, " ").trim()), attribsMap[name] = value; else { var attr = {}; if ("_" === name.charAt(0) || -1 !== name.indexOf("-mce-")) return !0; value && (0 == name.indexOf("on") && (value = ed.dom.getAttrib(node, "data-mce-" + name) || value), attr[name] = value, custom.push(attr)); } }), cm.createForm("attributes_form")), stylesList = (each([ "title", "id" ], function(name) { form.add(cm.createTextBox("attributes_" + name, { label: ed.getLang("attributes.label_" + name, name), name: name })); }), cm.createStylesBox("attributes_class", { label: ed.getLang("attributes.label_class", "Classes"), onselect: function() {}, name: "class" })), langList = (form.add(stylesList), cm.createListBox("attributes_lang", { label: ed.getLang("attributes.label_lang", "Language"), onselect: function(v) {}, name: "lang", filter: !0 })), dirList = (langList.add("--", ""), each(languageValues, function(value, name) { langList.add(name, value); }), form.add(langList), cm.createListBox("attributes_dir", { label: ed.getLang("attributes.label_dir", "Text Direction"), onselect: function(v) {}, name: "dir" })), repeatable = (dirList.add(ed.getLang("common.not_set", "-- Not set --"), ""), each([ "ltr", "rtl" ], function(value) { dirList.add(ed.getLang("attributes.label_dir_" + value, value), value); }), form.add(dirList), cm.createRepeatable("attributes_custom_repeatable", { label: "Other", name: "custom", item: { type: "CustomValue", id: "attributes_custom", settings: {} } })); form.add(repeatable), ed.windowManager.open({ title: ed.getLang("attributes.title", "Attributes"), items: [ form ], size: "mce-modal-landscape-large", open: function() { form.update(attribsMap), repeatable.value(custom); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("common.update", "Update"), id: "insert", onsubmit: function(e) { var node = ed.selection.getNode(), selection = ed.selection, data = form.submit(); data.custom && (each(data.custom, function(item) { data = extend(data, item); }), delete data.custom), each(data, function(value, name) { "onclick" != name && "ondblclick" != name || (delete data[name], data["data-mce-" + name] = value, delete nodeAttribs["data-mce-" + name]), delete nodeAttribs[name]; }), !selection.isCollapsed() && selection.getContent() == selection.getContent({ format: "text" }) ? ed.formatter.apply("attributes", data) : node && !isRootNode(node) && (each(nodeAttribs, function(val, name) { data[name] = null, "onclick" != name && "ondblclick" != name || (data["data-mce-" + name] = null); }), mediaApi && mediaApi.isMediaObject(node) ? mediaApi.updateMedia(data) : ed.dom.setAttribs(node, data)), tinymce.dom.Event.cancel(e); }, classes: "primary", autofocus: !0 } ] }); } }), ed.onNodeChange.add(function(ed, cm, n, co) { cm.setDisabled("attributes", n && isRootNode(n) && co); }); }); }();plugins/effects/plugin.js000060400000010245152456730070011507 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each; tinymce.PluginManager.add("effects", function(ed, url) { function cleanEventAttribute(val) { return val ? val.replace(/^\s*this.src\s*=\s*\'([^\']+)\';?\s*$/, "$1").replace(/^\s*|\s*$/g, "") : ""; } function bindMouseoverEvent(ed) { each(ed.dom.select("img"), function(elm) { var src = elm.getAttribute("src"), mouseover = elm.getAttribute("data-mouseover"), mouseout = elm.getAttribute("data-mouseout"); if (elm.onmouseover = elm.onmouseout = null, !src || !mouseover || !mouseout) return !0; elm.onmouseover = function() { elm.setAttribute("src", elm.getAttribute("data-mouseover")); }, elm.onmouseout = function() { elm.setAttribute("src", elm.getAttribute("data-mouseout") || src); }; }); } ed.onPreInit.add(function() { ed.onBeforeSetContent.add(function(ed, o) { var div; -1 !== o.content.indexOf("onmouseover=") && (div = ed.dom.create("div", {}, o.content), each(ed.dom.select("img[onmouseover]", div), function(node) { var mouseover = node.getAttribute("onmouseover"), mouseout = node.getAttribute("onmouseout"); return !mouseover || 0 !== mouseover.indexOf("this.src") || (mouseover = cleanEventAttribute(mouseover), node.removeAttribute("onmouseover"), !mouseover) || (node.setAttribute("data-mouseover", mouseover), void (mouseout && 0 === mouseout.indexOf("this.src") && (mouseout = cleanEventAttribute(mouseout), node.removeAttribute("onmouseout"), mouseout) && node.setAttribute("data-mouseout", mouseout))); }), o.content = div.innerHTML); }), ed.parser.addAttributeFilter("onmouseover", function(nodes) { for (var i = nodes.length; i--; ) { var mouseover, mouseout, node = nodes[i]; "img" === node.name && (mouseover = node.attr("onmouseover"), mouseout = node.attr("onmouseout"), mouseover && 0 === mouseover.indexOf("this.src") && (mouseover = cleanEventAttribute(mouseover), node.attr("data-mouseover", mouseover), node.attr("onmouseover", null), mouseout) && 0 === mouseout.indexOf("this.src")) && (mouseout = cleanEventAttribute(mouseout), node.attr("data-mouseout", mouseout), node.attr("onmouseout", null)); } }), ed.serializer.addAttributeFilter("data-mouseover", function(nodes) { for (var i = nodes.length; i--; ) { var mouseout, mouseover, node = nodes[i]; "img" === node.name && (mouseover = node.attr("data-mouseover"), mouseout = node.attr("data-mouseout"), mouseover = cleanEventAttribute(mouseover), node.attr("data-mouseover", null), node.attr("data-mouseout", null), mouseover && (node.attr("onmouseover", "this.src='" + mouseover + "';"), mouseout = cleanEventAttribute(mouseout))) && node.attr("onmouseout", "this.src='" + mouseout + "';"); } }), ed.onSetContent.add(function() { bindMouseoverEvent(ed); }), ed.onUpdateMedia.add(function(ed, o) { bindMouseoverEvent(ed), o.before && o.after && each(ed.dom.select("img[data-mouseover]"), function(elm) { var mouseover = elm.getAttribute("data-mouseover"), mouseout = elm.getAttribute("data-mouseout"); if (!mouseover) return !0; mouseover == o.before && elm.setAttribute("data-mouseover", o.after), mouseout == o.before && elm.setAttribute("data-mouseout", o.after); }); }); }); }); }();plugins/source/plugin.js000060400000015022152456730070011366 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, Event = tinymce.dom.Event; tinymce.PluginManager.add("source", function(ed, url) { var self = this; function isEditorActive() { return 0 == DOM.hasClass(ed.getElement(), "wf-no-editor"); } function getSourceEditor() { return DOM.get(ed.id + "_editor_source_textarea") || null; } ed.onSetContent.add(function(ed, o) { self.setContent(ed.getContent(), !0); }), ed.onInit.add(function(ed) { 0 != isEditorActive() && "wf-editor-source" === (ed.settings.active_tab || "") && (DOM.hide(ed.getContainer()), DOM.hide(ed.getElement()), window.setTimeout(function() { self.toggle(); }, 10)); }), this.ControlManager = new tinymce.ControlManager(ed), this.setContent = function(v) { var editor = getSourceEditor(); return !!editor && (editor.value = v); }, this.insertContent = function(v) { var editor = getSourceEditor(); return editor && (editor.focus(), document.selection ? document.selection.createRange().text = v : editor.setRangeText(v, editor.selectionStart, editor.selectionEnd, "end")), !1; }, this.getContent = function() { var editor = getSourceEditor(); return editor ? editor.value : null; }, this.hide = function() { DOM.hide(ed.id + "_editor_source"); }, this.isHidden = function() { return DOM.isHidden(ed.id + "_editor_source"); }, this.save = function(content, debounced) { var args, el = ed.getElement(); return el ? (args = { content: content = tinymce.is(content) ? content : this.getContent(), no_events: !0, format: "raw" }, ed.onWfEditorSave.dispatch(ed, args), /TEXTAREA|INPUT/i.test(el.nodeName) ? el.value = args.content : el.innerHTML = args.content, debounced && ed.onWfEditorChange.dispatch(ed, args), args.content) : content; }, this.toggle = function() { var self = this, s = ed.settings, element = ed.getElement(), container = element.parentNode, header = DOM.getPrev(element, ".wf-editor-header"), div = DOM.get(ed.id + "_editor_source"), textarea = DOM.get(ed.id + "_editor_source_textarea"), ifrHeight = parseInt(DOM.get(ed.id + "_ifr").style.height, 10) || s.height, o = tinymce.util.Storage.getHash("TinyMCE_" + ed.id + "_size"); o && o.height && (ifrHeight = o.height); var statusbar, resize, keyup, callback, time, timer, o = (tinymce.is(element.value) ? element.value : element.innerHTML).replace(/
              ]+)>/gi, ""), element = (div ? (DOM.show(div), textarea.value = o) : (div = DOM.add(container, "div", { role: "textbox", id: ed.id + "_editor_source", class: "wf-editor-source" }), element = s.skin_class || "defaultSkin", DOM.addClass(div, element), textarea = DOM.create("textarea", { id: ed.id + "_editor_source_textarea" }), DOM.add(div, textarea), textarea.value = o, statusbar = DOM.add(div, "div", { id: ed.id + "_editor_source_statusbar", class: "mceStatusbar mceLast" }, '
              '), resize = DOM.get(ed.id + "_editor_source_resize"), Event.add(resize, "click", function(e) { e.preventDefault(); }), Event.add(resize, "mousedown", function(e) { var mm1, mu1, sx, sy, sw, sh, w, h; function resizeTo(w, h) { w = Math.max(w, 300), h = Math.max(h, 200), textarea.style.height = h + "px", container.style.maxWidth = w + "px", ed.settings.container_width = w, ed.settings.container_height = h + statusbar.offsetHeight, h -= ed.settings.interface_height || 0, ed.theme.resizeTo(w, h); } function endResize(e) { e.preventDefault(), Event.remove(DOM.doc, "mousemove", mm1), Event.remove(DOM.doc, "mouseup", mu1), w = sw + (e.screenX - sx), h = sh + (e.screenY - sy), resizeTo(w, h), DOM.removeClass(resize, "wf-editor-source-resizing"); } if (e.preventDefault(), DOM.hasClass(resize, "wf-editor-source-resizing")) return endResize(e), !1; sx = e.screenX, sy = e.screenY, sw = w = container.offsetWidth, sh = h = textarea.clientHeight, mm1 = Event.add(DOM.doc, "mousemove", function(e) { e.preventDefault(), w = sw + (e.screenX - sx), h = sh + (e.screenY - sy), resizeTo(w, h), DOM.addClass(resize, "wf-editor-source-resizing"); }), mu1 = Event.add(DOM.doc, "mouseup", endResize); }), function(ed) { return window.widgetkit && -1 !== ed.id.indexOf("wk_") || -1 !== ed.id.indexOf("sppb-editor-"); }(ed) && (callback = function(e) { var value = (value = textarea.value).replace(/^\s*|\s*$/g, ""); self.save(value, !0); }, time = 300, (s = function() { var args = arguments; clearTimeout(timer), timer = setTimeout(function() { callback.apply(this, args); }, time); }).stop = function() { clearTimeout(timer); }, keyup = s, DOM.bind(textarea, "input blur", function() { keyup(); }))), DOM.removeClass(container, "mce-loading"), ed.settings.container_height || sessionStorage.getItem("wf-editor-container-height") || ifrHeight + statusbar.offsetHeight); DOM.hasClass(container, "mce-fullscreen") && (element = DOM.getViewPort().h - header.offsetHeight - statusbar.offsetHeight - 4), DOM.setStyles(textarea, { height: element }); }, this.getSelection = function() { return document.getSelection().toString(); }, this.getCursorPos = function() { return 0; }; }); }();plugins/advlist/plugin.js000060400000022420152456730070011534 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, DOM = tinymce.DOM, Event = tinymce.dom.Event; tinymce.PluginManager.add("advlist", function(editor, url) { function buildFormats(str) { var formats = []; return each(str.split(/,/), function(type) { var title = type.replace(/-/g, "_"); formats.push({ title: "advlist." + (title = "default" === type ? "def" : title), styles: { listStyleType: "default" === type ? "" : type } }); }), formats; } var numlist = editor.getParam("advlist_number_styles", "default,lower-alpha,lower-greek,lower-roman,upper-alpha,upper-roman"), numlist = (numlist && (this.numlist = buildFormats(numlist)), editor.getParam("advlist_bullist_styles", "default,circle,disc,square")); numlist && (this.bullist = buildFormats(numlist)), this.createControl = function(name, cm) { var btn, format, self = this; function hasFormat(node, format) { var state = !0; return each(format.styles, function(value, name) { if (editor.dom.getStyle(node, name) != value) return state = !1; }), state; } function applyListFormat() { var list, dom = editor.dom, sel = editor.selection; (list = dom.getParent(sel.getNode(), "ol,ul")) && list.nodeName != ("bullist" == name ? "OL" : "UL") && format && !hasFormat(list, format) || editor.execCommand("bullist" == name ? "InsertUnorderedList" : "InsertOrderedList"), format && (list = dom.getParent(sel.getNode(), "ol,ul")) && (dom.setStyles(list, format.styles), list.removeAttribute("data-mce-style"), sel = editor.getParam("advlist_" + name + "_classes", "")) && (sel = sel.trim()).split(/\s+/).forEach(function(cls) { cls && editor.dom.addClass(list, cls); }), editor.focus(); } if ("numlist" == name || "bullist" == name) return self[name] && "advlist.def" === self[name][0].title && (format = self[name][0]), self[name] ? ((btn = cm.createSplitButton(name, { title: "advanced." + name + "_desc", class: "mce_" + name, onclick: function(e) { var start_ctrl, reversed_ctrl, form, type_ctrl, styles_ctrl; if (editor.dom.getParent(editor.selection.getNode(), "bullist" == name ? "ul" : "ol") && !e.altKey) return (form = cm.createForm(name + "_form")).empty(), type_ctrl = cm.createListBox(name + "_type_ctrl", { label: editor.getLang("advlist.type", "Type"), name: "type", onselect: function() {} }), form.add(type_ctrl), each(self[name], function(item) { var icon = (style = item.styles.listStyleType).replace(/-/g, "_"), style = style || "default"; type_ctrl.add(editor.getLang(item.title), style, { icon: icon ? "list_" + icon : "" }); }), "numlist" == name && (start_ctrl = cm.createTextBox("numlist_start_ctrl", { label: editor.getLang("advlist.start", "Start"), name: "start", subtype: "number", attributes: { min: "1" } }), form.add(start_ctrl), reversed_ctrl = cm.createCheckBox("numlist_reversed_ctrl", { label: editor.getLang("advlist.reversed", "Reversed"), name: "reversed" }), form.add(reversed_ctrl)), e = editor.getParam("advlist_" + name + "_custom_classes", "").trim().split(",").filter(function(cls) { return "" !== cls.trim(); }), styles_ctrl = cm.createStylesBox(name + "_class", { label: editor.getLang("adlist.class", "Classes"), onselect: function() {}, name: "classes", styles: e }), form.add(styles_ctrl), void editor.windowManager.open({ title: editor.getLang("advanced." + name + "_desc", "List"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var label = editor.getLang("update", "Update"), node = editor.selection.getNode(), node = editor.dom.getParent(node, "bullist" == name ? "ul" : "ol"), classes = editor.getParam("advlist_" + name + "_classes", "").trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }); node && ("numlist" == name && (start_ctrl.value(editor.dom.getAttrib(node, "start") || 1), reversed_ctrl.checked(!!editor.dom.getAttrib(node, "reversed"))), classes = (classes = editor.dom.getAttrib(node, "class")).replace(/mce-[\w\-]+/g, "").replace(/\s+/g, " ").trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }), node = editor.dom.getStyle(node, "list-style-type") || "default", type_ctrl.value(node)), styles_ctrl.value(classes), DOM.setHTML(this.id + "_insert", label); }, buttons: [ { title: editor.getLang("remove", "Remove"), id: "remove", onclick: function() { applyListFormat(), this.close(); } }, { title: editor.getLang("cancel", "Cancel"), id: "cancel" }, { title: editor.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var data = form.submit(), list = (Event.cancel(e), editor.dom.getParent(editor.selection.getNode(), "bullist" == name ? "ul" : "ol")); list && ("default" == data.type ? editor.dom.setStyles(list, { "list-style-type": "" }) : editor.dom.setStyles(list, { "list-style-type": data.type }), list.removeAttribute("data-mce-style"), each(data, function(value, key) { value = value || null, "start" == key && "1" == value && (value = null), "type" == key && (value = null), editor.dom.setAttrib(list, key = "classes" == key ? "class" : key, value); }), editor.undoManager.add()); }, classes: "primary", scope: self } ] }); applyListFormat(); } })).onRenderMenu.add(function(btn, menu) { menu.onHideMenu.add(function() { self.bookmark && (editor.selection.moveToBookmark(self.bookmark), self.bookmark = 0); }), menu.onShowMenu.add(function() { var fmtList, list = editor.dom.getParent(editor.selection.getNode(), "ol,ul"); (list || format) && (fmtList = self[name], each(menu.items, function(item) { var state = !0; item.setSelected(0), list && !item.isDisabled() && (each(fmtList, function(fmt) { if (fmt.id == item.id && !hasFormat(list, fmt)) return state = !1; }), state) && item.setSelected(1); }), list || menu.items[format.id].setSelected(1)), editor.focus(), tinymce.isIE && (self.bookmark = editor.selection.getBookmark(1)); }), each(self[name], function(item) { item.id = editor.dom.uniqueId(); var icon = item.styles.listStyleType.replace(/-/g, "_"); menu.add({ id: item.id, title: item.title, icon: "list_" + icon, onclick: function() { format = item, applyListFormat(); } }); }); }), btn) : cm.createButton(name, { title: "advanced." + name + "_desc", class: "mce_" + name, onclick: function() { applyListFormat(); } }); }; }); }();plugins/charmap/plugin.js000060400000030056152456730070011505 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, Entities = tinymce.html.Entities, DOM = tinymce.DOM; function isArray(arr) { return Array.isArray(arr); } function getCharsFromSetting(settingValue) { var values; return isArray(settingValue) ? [].concat(settingValue.filter(function(item) { return isArray(item) && 2 == item.length; })) : tinymce.is(settingValue, "object") ? (values = [], tinymce.each(settingValue, function(value, key) { key = (key = Entities.encodeNumeric(Entities.decode(key))).replace(/\D+/g, ""), values.push([ key, value ]); }), values) : "function" == typeof settingValue ? settingValue() : []; } tinymce.PluginManager.add("charmap", function(ed, url) { function getCharMap() { return charmap = [ [ "160", "no-break space" ], [ "173", "soft hyphen" ], [ "34", "quotation mark" ], [ "162", "cent sign" ], [ "8364", "euro sign" ], [ "163", "pound sign" ], [ "165", "yen sign" ], [ "169", "copyright sign" ], [ "174", "registered sign" ], [ "8482", "trade mark sign" ], [ "8240", "per mille sign" ], [ "181", "micro sign" ], [ "183", "middle dot" ], [ "8226", "bullet" ], [ "8230", "three dot leader" ], [ "8242", "minutes / feet" ], [ "8243", "seconds / inches" ], [ "167", "section sign" ], [ "182", "paragraph sign" ], [ "223", "sharp s / ess-zed" ], [ "8249", "single left-pointing angle quotation mark" ], [ "8250", "single right-pointing angle quotation mark" ], [ "171", "left pointing guillemet" ], [ "187", "right pointing guillemet" ], [ "8216", "left single quotation mark" ], [ "8217", "right single quotation mark" ], [ "8220", "left double quotation mark" ], [ "8221", "right double quotation mark" ], [ "8218", "single low-9 quotation mark" ], [ "8222", "double low-9 quotation mark" ], [ "60", "less-than sign" ], [ "62", "greater-than sign" ], [ "8804", "less-than or equal to" ], [ "8805", "greater-than or equal to" ], [ "8211", "en dash" ], [ "8212", "em dash" ], [ "175", "macron" ], [ "8254", "overline" ], [ "164", "currency sign" ], [ "166", "broken bar" ], [ "168", "diaeresis" ], [ "161", "inverted exclamation mark" ], [ "191", "turned question mark" ], [ "710", "circumflex accent" ], [ "732", "small tilde" ], [ "176", "degree sign" ], [ "8722", "minus sign" ], [ "177", "plus-minus sign" ], [ "247", "division sign" ], [ "8260", "fraction slash" ], [ "215", "multiplication sign" ], [ "185", "superscript one" ], [ "178", "superscript two" ], [ "179", "superscript three" ], [ "188", "fraction one quarter" ], [ "189", "fraction one half" ], [ "190", "fraction three quarters" ], [ "402", "function / florin" ], [ "8747", "integral" ], [ "8721", "n-ary sumation" ], [ "8734", "infinity" ], [ "8730", "square root" ], [ "8764", "similar to" ], [ "8773", "approximately equal to" ], [ "8776", "almost equal to" ], [ "8800", "not equal to" ], [ "8801", "identical to" ], [ "8712", "element of" ], [ "8713", "not an element of" ], [ "8715", "contains as member" ], [ "8719", "n-ary product" ], [ "8743", "logical and" ], [ "8744", "logical or" ], [ "172", "not sign" ], [ "8745", "intersection" ], [ "8746", "union" ], [ "8706", "partial differential" ], [ "8704", "for all" ], [ "8707", "there exists" ], [ "8709", "diameter" ], [ "8711", "backward difference" ], [ "8727", "asterisk operator" ], [ "8733", "proportional to" ], [ "8736", "angle" ], [ "180", "acute accent" ], [ "184", "cedilla" ], [ "170", "feminine ordinal indicator" ], [ "186", "masculine ordinal indicator" ], [ "8224", "dagger" ], [ "8225", "double dagger" ], [ "192", "A - grave" ], [ "193", "A - acute" ], [ "194", "A - circumflex" ], [ "195", "A - tilde" ], [ "196", "A - diaeresis" ], [ "197", "A - ring above" ], [ "256", "A - macron" ], [ "198", "ligature AE" ], [ "199", "C - cedilla" ], [ "200", "E - grave" ], [ "201", "E - acute" ], [ "202", "E - circumflex" ], [ "203", "E - diaeresis" ], [ "274", "E - macron" ], [ "204", "I - grave" ], [ "205", "I - acute" ], [ "206", "I - circumflex" ], [ "207", "I - diaeresis" ], [ "298", "I - macron" ], [ "208", "ETH" ], [ "209", "N - tilde" ], [ "210", "O - grave" ], [ "211", "O - acute" ], [ "212", "O - circumflex" ], [ "213", "O - tilde" ], [ "214", "O - diaeresis" ], [ "216", "O - slash" ], [ "332", "O - macron" ], [ "338", "ligature OE" ], [ "352", "S - caron" ], [ "217", "U - grave" ], [ "218", "U - acute" ], [ "219", "U - circumflex" ], [ "220", "U - diaeresis" ], [ "362", "U - macron" ], [ "221", "Y - acute" ], [ "376", "Y - diaeresis" ], [ "562", "Y - macron" ], [ "222", "THORN" ], [ "224", "a - grave" ], [ "225", "a - acute" ], [ "226", "a - circumflex" ], [ "227", "a - tilde" ], [ "228", "a - diaeresis" ], [ "229", "a - ring above" ], [ "257", "a - macron" ], [ "230", "ligature ae" ], [ "231", "c - cedilla" ], [ "232", "e - grave" ], [ "233", "e - acute" ], [ "234", "e - circumflex" ], [ "235", "e - diaeresis" ], [ "275", "e - macron" ], [ "236", "i - grave" ], [ "237", "i - acute" ], [ "238", "i - circumflex" ], [ "239", "i - diaeresis" ], [ "299", "i - macron" ], [ "240", "eth" ], [ "241", "n - tilde" ], [ "242", "o - grave" ], [ "243", "o - acute" ], [ "244", "o - circumflex" ], [ "245", "o - tilde" ], [ "246", "o - diaeresis" ], [ "248", "o slash" ], [ "333", "o macron" ], [ "339", "ligature oe" ], [ "353", "s - caron" ], [ "249", "u - grave" ], [ "250", "u - acute" ], [ "251", "u - circumflex" ], [ "252", "u - diaeresis" ], [ "363", "u - macron" ], [ "253", "y - acute" ], [ "254", "thorn" ], [ "255", "y - diaeresis" ], [ "563", "y - macron" ], [ "913", "Alpha" ], [ "914", "Beta" ], [ "915", "Gamma" ], [ "916", "Delta" ], [ "917", "Epsilon" ], [ "918", "Zeta" ], [ "919", "Eta" ], [ "920", "Theta" ], [ "921", "Iota" ], [ "922", "Kappa" ], [ "923", "Lambda" ], [ "924", "Mu" ], [ "925", "Nu" ], [ "926", "Xi" ], [ "927", "Omicron" ], [ "928", "Pi" ], [ "929", "Rho" ], [ "931", "Sigma" ], [ "932", "Tau" ], [ "933", "Upsilon" ], [ "934", "Phi" ], [ "935", "Chi" ], [ "936", "Psi" ], [ "937", "Omega" ], [ "945", "alpha" ], [ "946", "beta" ], [ "947", "gamma" ], [ "948", "delta" ], [ "949", "epsilon" ], [ "950", "zeta" ], [ "951", "eta" ], [ "952", "theta" ], [ "953", "iota" ], [ "954", "kappa" ], [ "955", "lambda" ], [ "956", "mu" ], [ "957", "nu" ], [ "958", "xi" ], [ "959", "omicron" ], [ "960", "pi" ], [ "961", "rho" ], [ "962", "final sigma" ], [ "963", "sigma" ], [ "964", "tau" ], [ "965", "upsilon" ], [ "966", "phi" ], [ "967", "chi" ], [ "968", "psi" ], [ "969", "omega" ], [ "8501", "alef symbol" ], [ "982", "pi symbol" ], [ "8476", "real part symbol" ], [ "978", "upsilon - hook symbol" ], [ "8472", "Weierstrass p" ], [ "8465", "imaginary part" ], [ "8592", "leftwards arrow" ], [ "8593", "upwards arrow" ], [ "8594", "rightwards arrow" ], [ "8595", "downwards arrow" ], [ "8596", "left right arrow" ], [ "8629", "carriage return" ], [ "8656", "leftwards double arrow" ], [ "8657", "upwards double arrow" ], [ "8658", "rightwards double arrow" ], [ "8659", "downwards double arrow" ], [ "8660", "left right double arrow" ], [ "8756", "therefore" ], [ "8834", "subset of" ], [ "8835", "superset of" ], [ "8836", "not a subset of" ], [ "8838", "subset of or equal to" ], [ "8839", "superset of or equal to" ], [ "8853", "circled plus" ], [ "8855", "circled times" ], [ "8869", "perpendicular" ], [ "8901", "dot operator" ], [ "8968", "left ceiling" ], [ "8969", "right ceiling" ], [ "8970", "left floor" ], [ "8971", "right floor" ], [ "9001", "left-pointing angle bracket" ], [ "9002", "right-pointing angle bracket" ], [ "9674", "lozenge" ], [ "9824", "black spade suit" ], [ "9827", "black club suit" ], [ "9829", "black heart suit" ], [ "9830", "black diamond suit" ], [ "8194", "en space" ], [ "8195", "em space" ], [ "8201", "thin space" ], [ "8204", "zero width non-joiner" ], [ "8205", "zero width joiner" ], [ "8206", "left-to-right mark" ], [ "8207", "right-to-left mark" ] ], (settings = ed.settings).charmap && (charmap = getCharsFromSetting(settings.charmap)), settings.charmap_append ? [].concat(charmap).concat(getCharsFromSetting(settings.charmap_append)) : charmap; var charmap, settings; } var html = ''; ed.addCommand("mceCharacterMap", function(v) { ed.windowManager.open({ title: ed.getLang("advanced.charmap_desc"), content: html, size: "mce-modal-landscape-xlarge", open: function() { var win = this, elm = DOM.get(ed.id + "_charmapView"); DOM.setHTML(elm, function() { for (var chr, chrText, named, html = "", charmap = getCharMap(), i = 0; i < charmap.length; i++) i < charmap.length ? (chrText = (chr = charmap[i]) ? String.fromCharCode(parseInt(chr[0], 10)) : " ", named = (named = Entities.encodeNamed(chrText)).substring(1), html += '") : html += ""; return html += ""; }()), DOM.bind(elm, "mouseover", function(e) { var chrA, chrB, elmA, elmB, elmV, elmN, e = e.target; "BUTTON" === e.nodeName && (chrA = "#" + e.getAttribute("data-numeric") + ";", chrB = e.getAttribute("data-named"), e = e.getAttribute("title"), chrA = chrA, chrB = chrB, e = e, elmA = DOM.get(ed.id + "_charmapCodeA"), elmB = DOM.get(ed.id + "_charmapCodeB"), elmV = DOM.get(ed.id + "_charmapCodeV"), elmN = DOM.get(ed.id + "_charmapCodeN"), elmV.innerHTML = "#160;" == chrA ? "__" : "&" + chrA, elmB.innerHTML = "&" + chrA, elmA.innerHTML = "&" + chrB, elmN.innerHTML = e); }), DOM.bind(elm, "click", function(e) { var node = e.target; e.preventDefault(), "BUTTON" === node.nodeName && (e = node.getAttribute("data-numeric"), ed.execCommand("mceInsertContent", !1, "&#" + e + ";"), win.close()); }), new tinymce.ui.KeyboardNavigation({ root: elm, items: DOM.select("button", elm), excludeFromTabOrder: !1, onCancel: function() { ed.focus(); } }, DOM); } }); }), this.createControl = function(name, cm) { var btn; if ("charmap" === name) return ed.getParam("charmap_custom") ? (btn = cm.createSplitButton(name, { title: "advanced.charmap_desc", cmd: "mceCharacterMap" })).onRenderMenu.add(function(btn, menu) { each(ed.getParam("charmap_custom", "", "hash"), function(v, k) { var id = ed.dom.uniqueId(); v = v.replace(/[^a-z0-9]/gi, ""), menu.add({ id: id, title: k + " &" + v + ";", onclick: function() { var chr; chr = v, ed.execCommand("mceInsertContent", !1, "&" + chr + ";"), ed.focus(); } }); }); }) : btn = cm.createButton(name, { title: "advanced.charmap_desc", cmd: "mceCharacterMap" }), btn; }; }); }();plugins/table/css/table.css000060400000000171152456730070011711 0ustar00#merge_tab .uk-width-3-10{width:30%!important}#merge_tab .uk-width-7-10{width:70%!important}#numcols,#numrows{width:50px}plugins/table/plugin.js000060400000226366152456730070011174 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function(tinymce) { var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, extend = tinymce.extend, VK = tinymce.VK, TreeWalker = tinymce.dom.TreeWalker, Delay = tinymce.util.Delay; function getSpanVal(td, name) { return parseInt(td.getAttribute(name) || 1, 10); } function TableGrid(table, dom, selection, settings) { var grid, startPos, endPos, selectedCell, gridWidth, maxX, maxY; function cloneNode(node, children) { return (node = node.cloneNode(children)).removeAttribute("id"), node; } function buildGrid() { var startY = 0; grid = [], gridWidth = 0, each([ "thead", "tbody", "tfoot" ], function(part) { var rows = dom.select("> " + part + " tr", table); each(rows, function(tr, y) { y += startY, each(dom.select("> td, > th", tr), function(td, x) { var x2, y2, rowspan, colspan; if (grid[y]) for (;grid[y][x]; ) x++; for (rowspan = getSpanVal(td, "rowspan"), colspan = getSpanVal(td, "colspan"), y2 = y; y2 < y + rowspan; y2++) for (grid[y2] || (grid[y2] = []), x2 = x; x2 < x + colspan; x2++) grid[y2][x2] = { part: part, real: y2 == y && x2 == x, elm: td, rowspan: rowspan, colspan: colspan }; gridWidth = Math.max(gridWidth, x + 1); }); }), startY += rows.length; }); } function getCell(x, y) { y = grid[y]; if (y) return y[x]; } function setSpanVal(td, name, val) { td && (1 === (val = parseInt(val, 10)) ? td.removeAttribute(name, 1) : td.setAttribute(name, val, 1)); } function isCellSelected(cell) { return cell && (dom.hasClass(cell.elm, "mceSelected") || cell == selectedCell); } function getSelectedRows() { var rows = []; return each(table.rows, function(row) { each(row.cells, function(cell) { if (dom.hasClass(cell, "mceSelected") || cell == selectedCell.elm) return rows.push(row), !1; }); }), rows; } function cloneCell(cell) { var formatNode, cloneFormats = {}; return settings.table_clone_elements && (cloneFormats = tinymce.makeMap((settings.table_clone_elements || "strong em b i span font h1 h2 h3 h4 h5 h6 p div").toUpperCase(), /[ ,]/)), tinymce.walk(cell, function(node) { var curNode; if (3 == node.nodeType) return each(dom.getParents(node.parentNode, null, cell).reverse(), function(node) { cloneFormats[node.nodeName] && (node = cloneNode(node, !1), formatNode ? curNode && curNode.appendChild(node) : formatNode = curNode = node, curNode = node); }), curNode && (curNode.innerHTML = '
              '), !1; }, "childNodes"), setSpanVal(cell = cloneNode(cell, !1), "rowSpan", 1), setSpanVal(cell, "colSpan", 1), formatNode ? cell.appendChild(formatNode) : tinymce.isIE && !tinymce.isIE11 || (cell.innerHTML = '
              '), cell; } function cleanup() { var rng = dom.createRng(); each(dom.select("tr", table), function(tr) { 0 == tr.cells.length && dom.remove(tr); }), 0 == dom.select("tr", table).length ? (rng.setStartAfter(table), rng.setEndAfter(table), selection.setRng(rng), dom.remove(table)) : (each(dom.select("thead,tbody,tfoot", table), function(part) { 0 == part.rows.length && dom.remove(part); }), buildGrid(), (rng = grid[Math.min(grid.length - 1, startPos.y)]) && (selection.select(rng[Math.min(rng.length - 1, startPos.x)].elm, !0), selection.collapse(!0))); } function fillLeftDown(x, y, rows, cols) { for (var x2, c, cell, tr = grid[y][x].elm.parentNode, r = 1; r <= rows; r++) if (tr = dom.getNext(tr, "tr")) { for (x2 = x; 0 <= x2; x2--) if ((cell = grid[y + r][x2].elm).parentNode == tr) { for (c = 1; c <= cols; c++) dom.insertAfter(cloneCell(cell), cell); break; } if (-1 == x2) for (c = 1; c <= cols; c++) tr.insertBefore(cloneCell(tr.cells[0]), tr.cells[0]); } } function split() { each(grid, function(row, y) { each(row, function(cell, x) { var colSpan, rowSpan, i; if (isCellSelected(cell) && (colSpan = getSpanVal(cell = cell.elm, "colspan"), rowSpan = getSpanVal(cell, "rowspan"), 1 < colSpan || 1 < rowSpan)) { for (setSpanVal(cell, "rowSpan", 1), setSpanVal(cell, "colSpan", 1), i = 0; i < colSpan - 1; i++) dom.insertAfter(cloneCell(cell), cell); fillLeftDown(x, y, rowSpan - 1, colSpan); } }); }); } function getPos(target) { var pos; return each(grid, function(row, y) { return each(row, function(cell, x) { if (cell.elm == target) return !(pos = { x: x, y: y }); }), !pos; }), pos; } buildGrid(), (selectedCell = dom.getParent(selection.getStart(), "th,td")) && (startPos = getPos(selectedCell), maxX = maxY = 0, each(grid, function(row, y) { each(row, function(cell, x) { var colSpan; isCellSelected(cell) && (cell = grid[y][x], maxX < x && (maxX = x), maxY < y && (maxY = y), cell.real) && (colSpan = cell.colspan - 1, cell = cell.rowspan - 1, colSpan && maxX < x + colSpan && (maxX = x + colSpan), cell) && maxY < y + cell && (maxY = y + cell); }); }), endPos = { x: maxX, y: maxY }, selectedCell = getCell(startPos.x, startPos.y)), tinymce.extend(this, { deleteTable: function() { var rng = dom.createRng(); rng.setStartAfter(table), rng.setEndAfter(table), selection.setRng(rng), dom.remove(table); }, split: split, merge: function(cell, cols, rows) { var startX, endX, x, y, children, count, pos, endY = cell ? (endX = (startX = (pos = getPos(cell)).x) + (cols - 1), (pos = pos.y) + (rows - 1)) : (startPos = endPos = null, each(grid, function(row, y) { each(row, function(cell, x) { isCellSelected(cell) && (startPos = startPos || { x: x, y: y }, endPos = { x: x, y: y }); }); }), startX = startPos.x, pos = startPos.y, endX = endPos.x, endPos.y), startCell = getCell(startX, pos), cols = getCell(endX, endY); if (startCell && cols && startCell.part == cols.part) { for (split(), buildGrid(), setSpanVal(startCell = getCell(startX, pos).elm, "colSpan", endX - startX + 1), setSpanVal(startCell, "rowSpan", endY - pos + 1), y = pos; y <= endY; y++) for (x = startX; x <= endX; x++) grid[y] && grid[y][x] && (cell = grid[y][x].elm) != startCell && (children = tinymce.grep(cell.childNodes), each(children, function(node) { startCell.appendChild(node); }), children.length && (children = tinymce.grep(startCell.childNodes), count = 0, each(children, function(node) { "BR" == node.nodeName && dom.getAttrib(node, "data-mce-bogus") && count++ < children.length - 1 && startCell.removeChild(node); })), dom.remove(cell)); cleanup(); } }, insertRow: function(before) { var posY, cell, lastCell, x, rowElm, newRow, otherCell, rowSpan; for (each(grid, function(row, y) { if (each(row, function(cell, x) { if (isCellSelected(cell) && (cell = cell.elm, rowElm = cell.parentNode, newRow = cloneNode(rowElm, !1), posY = y, before)) return !1; }), before) return !posY; }), x = 0; x < grid[0].length; x++) if (grid[posY][x] && (cell = grid[posY][x].elm) != lastCell) { if (before) { if (0 < posY && grid[posY - 1][x] && 1 < (rowSpan = getSpanVal(otherCell = grid[posY - 1][x].elm, "rowSpan"))) { setSpanVal(otherCell, "rowSpan", rowSpan + 1); continue; } } else if (1 < (rowSpan = getSpanVal(cell, "rowspan"))) { setSpanVal(cell, "rowSpan", rowSpan + 1); continue; } setSpanVal(otherCell = cloneCell(cell), "colSpan", cell.colSpan), newRow.appendChild(otherCell), lastCell = cell; } newRow.hasChildNodes() && (before ? rowElm.parentNode.insertBefore(newRow, rowElm) : dom.insertAfter(newRow, rowElm)); }, insertCol: function(before) { var posX, lastCell; each(grid, function(row, y) { if (each(row, function(cell, x) { if (isCellSelected(cell) && (posX = x, before)) return !1; }), before) return !posX; }), each(grid, function(row, y) { var rowSpan, colSpan; row[posX] && (row = row[posX].elm) != lastCell && (colSpan = getSpanVal(row, "colspan"), rowSpan = getSpanVal(row, "rowspan"), 1 == colSpan ? (before ? row.parentNode.insertBefore(cloneCell(row), row) : dom.insertAfter(cloneCell(row), row), fillLeftDown(posX, y, rowSpan - 1, colSpan)) : getSpanVal(row, "colSpan", row.colSpan), lastCell = row); }); }, deleteCols: function() { var cols = []; each(grid, function(row, y) { each(row, function(cell, x) { isCellSelected(cell) && -1 === tinymce.inArray(cols, x) && (each(grid, function(row) { var row = row[x].elm, colSpan = getSpanVal(row, "colSpan"); 1 < colSpan ? setSpanVal(row, "colSpan", colSpan - 1) : dom.remove(row); }), cols.push(x)); }); }), cleanup(); }, deleteRows: function() { var rows; rows = getSelectedRows(), each(rows.reverse(), function(tr) { !function(tr) { var pos, lastCell; each(tr.cells, function(cell) { var rowSpan = getSpanVal(cell, "rowSpan"); 1 < rowSpan && (setSpanVal(cell, "rowSpan", rowSpan - 1), fillLeftDown((pos = getPos(cell)).x, pos.y, 1, 1)); }), pos = getPos(tr.cells[0]), each(grid[pos.y], function(cell) { var rowSpan; (cell = cell.elm) != lastCell && ((rowSpan = getSpanVal(cell, "rowSpan")) <= 1 ? dom.remove(cell) : setSpanVal(cell, "rowSpan", rowSpan - 1), lastCell = cell); }); }(tr); }), cleanup(); }, cutRows: function() { var rows = getSelectedRows(); return dom.remove(rows), cleanup(), rows; }, copyRows: function() { var rows = getSelectedRows(); return each(rows, function(row, i) { rows[i] = cloneNode(row, !0); }), rows; }, pasteRows: function(rows, before) { var selectedRows, targetRow, targetCellCount; rows && (selectedRows = getSelectedRows(), targetRow = selectedRows[before ? 0 : selectedRows.length - 1], targetCellCount = targetRow.cells.length, each(grid, function(row) { var match; if (targetCellCount = 0, each(row, function(cell, x) { cell.real && (targetCellCount += cell.colspan), cell.elm.parentNode == targetRow && (match = 1); }), match) return !1; }), before || rows.reverse(), each(rows, function(row) { for (var cell, cellCount = row.cells.length, i = 0; i < cellCount; i++) setSpanVal(cell = row.cells[i], "colSpan", 1), setSpanVal(cell, "rowSpan", 1); for (i = cellCount; i < targetCellCount; i++) row.appendChild(cloneCell(row.cells[cellCount - 1])); for (i = targetCellCount; i < cellCount; i++) dom.remove(row.cells[i]); before ? targetRow.parentNode.insertBefore(row, targetRow) : dom.insertAfter(row, targetRow); }), dom.removeClass(dom.select("td.mceSelected,th.mceSelected"), "mceSelected")); }, getPos: getPos, setStartCell: function(cell) { startPos = getPos(cell); }, setEndCell: function(cell) { var colSpan; if (endPos = getPos(cell), startPos && endPos) { for (var endX, endY, startX = Math.min(startPos.x, endPos.x), startY = Math.min(startPos.y, endPos.y), maxX = endX = Math.max(startPos.x, endPos.x), maxY = endY = Math.max(startPos.y, endPos.y), y = startY; y <= maxY; y++) (cell = grid[y][startX]).real || startX - (cell.colspan - 1) < startX && (startX -= cell.colspan - 1); for (var x = startX; x <= maxX; x++) (cell = grid[startY][x]).real || startY - (cell.rowspan - 1) < startY && (startY -= cell.rowspan - 1); for (y = startY; y <= endY; y++) for (x = startX; x <= endX; x++) (cell = grid[y][x]).real && ((colSpan = cell.colspan - 1) && maxX < x + colSpan && (maxX = x + colSpan), colSpan = cell.rowspan - 1) && maxY < y + colSpan && (maxY = y + colSpan); for (dom.removeClass(dom.select("td.mceSelected,th.mceSelected"), "mceSelected"), y = startY; y <= maxY; y++) for (x = startX; x <= maxX; x++) grid[y][x] && dom.addClass(grid[y][x].elm, "mceSelected"); } }, moveRelIdx: function(cellElm, delta) { var cell, pos = getPos(cellElm), index = pos.y * gridWidth + pos.x; do { if (!(cell = getCell((index += delta) % gridWidth, Math.floor(index / gridWidth)))) break; if (cell.elm != cellElm) return selection.select(cell.elm, !0), dom.isEmpty(cell.elm) && selection.collapse(!0), !0; } while (cell.elm == cellElm); return !1; }, refresh: buildGrid }); } function updateCells(ed, data) { var elm = ed.selection.getStart(), tdElm = ed.dom.getParent(elm, "td,th"), elm = ed.dom.getParent(elm, "table"), elm = ed.dom.select("td.mceSelected,th.mceSelected", elm); elm.length || elm.push(tdElm), each(elm, function(td) { !function(ed, td, data) { var doc = ed.getDoc(), curCellType = td.nodeName.toLowerCase(); if (ed.dom.setAttrib(td, "style", data.style), ed.dom.setAttrib(td, "class", data.class), curCellType != data.celltype) { for (var newCell = doc.createElement(data.celltype), c = 0; c < td.childNodes.length; c++) newCell.appendChild(td.childNodes[c].cloneNode(1)); for (var a = 0; a < td.attributes.length; a++) ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name)); td.parentNode.replaceChild(newCell, td), td = newCell; } }(ed, td, data); }), ed.addVisual(), ed.nodeChanged(), ed.undoManager.add(); } function updateRows(ed, data) { var dom = ed.dom, trElm = dom.getParent(ed.selection.getStart(), "tr"), tableElm = dom.getParent(ed.selection.getStart(), "table"), rows = []; dom.select("td.mceSelected,th.mceSelected", trElm).length ? (data.skip_parent = !0, each(tableElm.rows, function(tr) { for (var i = 0; i < tr.cells.length; i++) if (dom.hasClass(tr.cells[i], "mceSelected")) return void rows.push(tr); })) : rows.push(trElm), each(rows, function(tr) { !function(ed, tr, data) { var dom = ed.dom, doc = ed.getDoc(), curRowType = tr.parentNode.nodeName.toLowerCase(), rowtype = data.rowtype; if ((rows = dom.getParent(ed.selection.getStart(), "table").rows).length || rows.push(tr), dom.setAttrib(tr, "style", data.style), dom.setAttrib(tr, "class", data.class), curRowType != rowtype && !data.skip_parent) { for (var rows = tr.cloneNode(1), theTable = dom.getParent(tr, "table"), dest = rowtype, newParent = null, i = 0; i < theTable.childNodes.length; i++) theTable.childNodes[i].nodeName.toLowerCase() == dest && (newParent = theTable.childNodes[i]); null == newParent && (newParent = doc.createElement(dest), "thead" == dest ? "CAPTION" == theTable.firstChild.nodeName ? ed.dom.insertAfter(newParent, theTable.firstChild) : theTable.insertBefore(newParent, theTable.firstChild) : theTable.appendChild(newParent)), newParent.appendChild(rows), tr.parentNode.removeChild(tr); curRowType = ed.dom.select("td", tr = rows); each(curRowType, function(cell) { ed.dom.rename(cell, "th"); }); } }(ed, tr, data); }), ed.addVisual(), ed.nodeChanged(), ed.undoManager.add(); } function insertTableHtml(ed, tableHtml) { var patt; ed.settings.fix_table_elements ? (patt = "", ed.focus(), ed.selection.setContent('
              '), tinymce.each("h1,h2,h3,h4,h5,h6,p".split(","), function(n) { patt && (patt += ","), patt += n + " ._mce_marker"; }), each(ed.dom.select(patt), function(n) { ed.dom.split(ed.dom.getParent(n, "h1,h2,h3,h4,h5,h6,p"), n); }), ed.dom.setOuterHTML(ed.dom.select("br._mce_marker")[0], tableHtml)) : ed.execCommand("mceInsertContent", !1, tableHtml); } tinymce.PluginManager.add("table", function(ed, url) { var winMan, clipboardRows, hasCellSelection = !0; function createTableGrid(node) { var selection = ed.selection, node = ed.dom.getParent(node || selection.getNode(), "table"); if (node) return new TableGrid(node, ed.dom, selection, ed.settings); } function cleanup(force) { ed.getBody().style.webkitUserSelect = "", (force || hasCellSelection) && (ed.dom.removeClass(ed.dom.select("td.mceSelected,th.mceSelected"), "mceSelected"), hasCellSelection = !1); } ed.addButton("table", "table.desc", "mceInsertTable", !0), ed.getParam("table_buttons", 1) && each([ [ "table", "table.desc", "mceInsertTable", !0 ], [ "delete_table", "table.del", "mceTableDelete" ], [ "delete_col", "table.delete_col_desc", "mceTableDeleteCol" ], [ "delete_row", "table.delete_row_desc", "mceTableDeleteRow" ], [ "col_after", "table.col_after_desc", "mceTableInsertColAfter" ], [ "col_before", "table.col_before_desc", "mceTableInsertColBefore" ], [ "row_after", "table.row_after_desc", "mceTableInsertRowAfter" ], [ "row_before", "table.row_before_desc", "mceTableInsertRowBefore" ], [ "row_props", "table.row_desc", "mceTableRowProps", !0 ], [ "cell_props", "table.cell_desc", "mceTableCellProps", !0 ], [ "split_cells", "table.split_cells_desc", "mceTableSplitCells", !0 ], [ "merge_cells", "table.merge_cells_desc", "mceTableMergeCells", !0 ] ], function(c) { ed.addButton(c[0], { title: c[1], cmd: c[2], ui: c[3] }); }), ed.onPreInit.add(function() { var basic_dialog, isMobile; ed.onSetContent.add(function(ed, e) { cleanup(!0), ed.onSetContent.add(function(ed, e) { cleanup(!0), each(ed.dom.select("table"), function(table) { ed.dom.addClass(table, "mce-item-table"), each(ed.dom.select("td,th", table), function(cell) { cell.hasChildNodes() || (cell.innerHTML = '
              '); }); }); }); }), ed.onPastePostProcess.add(function(ed, args) { var dom = ed.dom; dom.addClass(dom.select("table", args.node), "mce-item-table"), each(dom.select("td[valign]", args.node), function(elm) { dom.setStyle(elm, "vertical-align", elm.getAttribute("valign")), elm.removeAttribute("valign"); }); }), !1 !== ed.settings.table_merge_content_on_paste && ed.onPasteBeforeInsert.add(function(ed, o) { var table, dom = ed.dom, elm = o.node; (elm = o.internal && !elm ? ed.dom.create("div", {}, o.content) : elm) && (table = elm.firstChild) && "TABLE" === table.nodeName && 1 === elm.childNodes.length && (elm = ed.selection.getNode(), dom = dom.getParent(elm, "td,th")) && function(ed, startCell, table) { for (var dom = ed.dom, existingTable = dom.getParent(startCell, "table"), startRowIndex = startCell.parentNode.rowIndex, startColIndex = Array.prototype.indexOf.call(startCell.parentNode.cells, startCell), maxCellsInNewContent = 0, i = 0; i < table.rows.length; i++) maxCellsInNewContent = Math.max(maxCellsInNewContent, table.rows[i].cells.length); var requiredCellCount = startColIndex + maxCellsInNewContent, extraCellsNeeded = 0; for ((ed = existingTable.rows[startRowIndex]) && (extraCellsNeeded = Math.max(0, requiredCellCount - ed.cells.length)), i = 0; i < existingTable.rows.length; i++) { var currentRow = existingTable.rows[i]; if ("THEAD" !== currentRow.parentNode.tagName && "TH" !== currentRow.cells[0].tagName) for (var j = 0; j < extraCellsNeeded; j++) currentRow.insertCell(-1).innerHTML = '
              '; } 0 < extraCellsNeeded && existingTable.querySelectorAll("thead > tr").forEach(function(headerRow) { for (var i = 0; i < extraCellsNeeded; i++) { var newCell = dom.create("th"); newCell.innerHTML = '
              ', headerRow.appendChild(newCell); } }); for (var totalRowsNeeded = startRowIndex + table.rows.length; existingTable.rows.length < totalRowsNeeded; ) for (var newRow = existingTable.insertRow(-1), i = 0; i < requiredCellCount; i++) newRow.insertCell(-1).innerHTML = '
              '; for (i = 0; i < table.rows.length; i++) for (currentRow = existingTable.rows[startRowIndex + i] || existingTable.insertRow(startRowIndex + i), j = 0; j < table.rows[i].cells.length; j++) { for (var targetCellIndex = startColIndex + j; currentRow.cells.length <= targetCellIndex; ) currentRow.insertCell(-1).innerHTML = '
              '; var cell = table.rows[i].cells[j]; "" === cell.innerHTML.trim() && (cell.innerHTML = '
              '), currentRow.cells[targetCellIndex].innerHTML = cell.innerHTML; } return 1; }(ed, dom, table) && (o.terminate = !0, ed.undoManager.add()); }), ed.onGetContent.add(function(ed, o) { var rows, sel; (o.selection || o.contextual) && (sel = ed.selection, sel = ed.dom.getParent(sel.getStart(), "table")) && (rows = [], each(sel.rows, function(row) { var cells = []; each(row.cells, function(cell) { ed.dom.hasClass(cell, "mceSelected") && cells.push(cell); }), cells.length && (cells.length === row.cells.length ? rows.push(row) : rows.push(cells)); }), rows.length) && (rows.length === sel.rows.length ? (sel = sel.cloneNode(!0), ed.dom.removeClass(ed.dom.select("td.mceSelected,th.mceSelected", sel), "mceSelected"), o.content = sel.outerHTML) : (sel = rows.map(function(row) { return "" + row.map(function(cell) { cell = cell.cloneNode(!0); return ed.dom.removeClass(cell, "mceSelected"), cell.outerHTML; }).join("") + ""; }), o.content = "" + sel.join("") + "
              ")); }), basic_dialog = ed.getParam("table_basic_dialog"), isMobile = window.matchMedia("(max-width: 600px)").matches, (basic_dialog || isMobile) && (function(ed) { var cm = ed.controlManager, form = cm.createForm("table_form"), colsCtrl = cm.createTextBox("table_cols", { label: ed.getLang("table.cols", "Columns"), name: "cols", subtype: "number", attributes: { step: 1, min: 1 }, value: ed.getParam("table_default_cols", 2) }), rowCtrl = (form.add(colsCtrl), cm.createTextBox("table_rows", { label: ed.getLang("table.rows", "Rows"), name: "rows", subtype: "number", attributes: { step: 1, min: 1 }, value: ed.getParam("table_default_rows", 2) })), cellspacingCtrl = (form.add(rowCtrl), cm.createTextBox("table_cellspacing", { label: ed.getLang("table.cellspacing", "Cell Spacing"), name: "cellspacing", subtype: "number", attributes: { step: 1, min: 1 }, value: ed.getParam("table_default_cellspacing", "") })), cellspacingCtrl = (form.add(cellspacingCtrl), cm.createTextBox("table_cellpadding", { label: ed.getLang("table.cellpadding", "Cell Padding"), name: "cellpadding", subtype: "number", attributes: { step: 1, min: 1 }, value: ed.getParam("table_default_cellpadding", "") })), cellspacingCtrl = (form.add(cellspacingCtrl), cm.createTextBox("table_width", { label: ed.getLang("table.width", "Width"), name: "width", value: ed.getParam("table_default_width", "") })), cellspacingCtrl = (form.add(cellspacingCtrl), cm.createTextBox("table_height", { label: ed.getLang("table.height", "Height"), name: "height", value: ed.getParam("table_default_height", "") })), cellspacingCtrl = (form.add(cellspacingCtrl), cm.createStylesBox("table_classes", { label: ed.getLang("table.classes", "Classes"), onselect: function(v) {}, name: "classes", styles: ed.getParam("table_classes_custom", []) })), cellspacingCtrl = (form.add(cellspacingCtrl), cm.createCheckBox("table_caption", { label: ed.getLang("table.caption", "Caption"), name: "caption" })); function setValue(key, value) { key = cm.get(ed.id + "_table_" + key); key && key.value(value); } form.add(cellspacingCtrl), ed.addCommand("mceInsertTable", function() { ed.windowManager.open({ title: ed.getLang("table.desc", "Table"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var label = ed.getLang("insert", "Insert"), elm = ed.dom.getParent(ed.selection.getNode(), "table"), classes = ed.getParam("table_classes", ""); if (classes.trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }), elm) { for (var label = ed.getLang("update", "Update"), rowsAr = elm.rows, rows = rowsAr.length, cols = 0, i = 0; i < rows; i++) rowsAr[i].cells.length > cols && (cols = rowsAr[i].cells.length); setValue("caption", 0 < elm.getElementsByTagName("caption").length), rowCtrl.setDisabled(!0), colsCtrl.setDisabled(!0), setValue("cellspacing", elm.cellSpacing || ""), setValue("cellpadding", elm.cellPadding || ""); var styles = ed.dom.parseStyle(ed.dom.getAttrib(elm, "style")), width = styles.width || elm.width || "", styles = styles.height || elm.height || ""; width = width.replace("px", ""), styles = styles.replace("px", ""), setValue("width", width), setValue("height", styles), classes = (classes = ed.dom.getAttrib(elm, "class")).replace(/mce-[\w\-]+/g, "").replace(/\s+/g, " ").trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }); } setValue("classes", classes), DOM.setHTML(this.id + "_insert", label); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var data = form.submit(), args = (data.width && !isNaN(data.width) && (data.width += "px"), data.height && !isNaN(data.height) && (data.height += "px"), { cellspacing: data.cellspacing, cellpadding: data.cellpadding, style: { width: data.width, height: data.height }, class: data.classes }), elm = ed.dom.getParent(ed.selection.getNode(), "table"); if (elm) { var styles = ed.dom.parseStyle(ed.dom.getAttrib(elm, "style")); extend(styles, args.style), args.style = ed.dom.serializeStyle(styles), ed.dom.setAttribs(elm, args), data.caption ? elm.getElementsByTagName("caption").length || ((styles = elm.ownerDocument.createElement("caption")).innerHTML = '
              ', elm.insertBefore(styles, elm.firstChild)) : (styles = elm.getElementsByTagName("caption")).length && elm.removeChild(styles[0]); } else { var html = ""; data.caption && (html += '
              '); for (var y = 0; y < data.rows; y++) { html += ""; for (var x = 0; x < data.cols; x++) html += " "; html += ""; } args.style = ed.dom.serializeStyle(args.style); elm = ed.dom.createHTML("table", args, html); insertTableHtml(ed, elm); } ed.addVisual(), Event.cancel(e); }, classes: "primary", scope: self } ] }); }); }(ed), function(ed) { var cm = ed.controlManager, form = cm.createForm("table_row_form"), rowtypeCtrl = cm.createListBox("table_row_type", { label: ed.getLang("table.rowtype", "Row Type"), name: "rowtype", onselect: function() {} }), items = [ { title: ed.getLang("table.thead", "Header"), value: "thead" }, { title: ed.getLang("table.tbody", "Body"), value: "tbody" }, { title: ed.getLang("table.tfoot", "Footer"), value: "tfoot" } ], heightCtrl = (each(items, function(item) { rowtypeCtrl.add(item.title, item.value); }), form.add(rowtypeCtrl), cm.createTextBox("table_row_height", { label: ed.getLang("table.height", "Height"), name: "height" })), stylesList = (form.add(heightCtrl), cm.createStylesBox("table_row_classes", { label: ed.getLang("table.classes", "Classes"), onselect: function(v) {}, name: "classes", styles: ed.getParam("table_classes_custom", []) })); form.add(stylesList), ed.addCommand("mceTableRowProps", function() { ed.windowManager.open({ title: ed.getLang("table.row_desc", "Table Rows"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var label = ed.getLang("insert", "Insert"), elm = ed.dom.getParent(ed.selection.getStart(), "tr"), rowtype = elm.parentNode.nodeName.toLowerCase(), height = ""; elm && (label = ed.getLang("update", "Update"), height = elm.style.height || elm.height || ""), -1 !== height.indexOf("px") && (height = height.replace("px", "")), heightCtrl.value(height), rowtypeCtrl.value(rowtype); height = (height = ed.dom.getAttrib(elm, "class")).replace(/mce-[\w\-]+/g, "").replace(/\s+/g, " ").trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }); stylesList.value(height), DOM.setHTML(this.id + "_insert", label); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var data = form.submit(), elm = ed.dom.getParent(ed.selection.getStart(), "tr"), selected = ed.dom.select("td.mceSelected,th.mceSelected", elm), selected = (data.action = selected.length ? "all" : "insert", data.style = ed.dom.parseStyle(ed.dom.getAttrib(elm, "style")), data.height && !isNaN(data.height) && (data.height += "px"), data.style.height = data.height, { style: ed.dom.serializeStyle(data.style), rowtype: data.rowtype, action: data.action, class: data.classes }); updateRows(ed, selected), Event.cancel(e); }, classes: "primary", scope: self } ] }); }); }(ed), function(ed) { var cm = ed.controlManager, form = cm.createForm("table_cell_form"), celltypeCtrl = cm.createListBox("table_cell_type", { label: ed.getLang("table.celltype", "Cell Type"), name: "celltype", onselect: function() {} }), items = [ { title: ed.getLang("table.th", "Header"), value: "th" }, { title: ed.getLang("table.td", "Data"), value: "td" } ], widthCtrl = (each(items, function(item) { celltypeCtrl.add(item.title, item.value); }), form.add(celltypeCtrl), cm.createTextBox("table_cell_width", { label: ed.getLang("table.width", "Width"), name: "width" })), heightCtrl = (form.add(widthCtrl), cm.createTextBox("table_cell_height", { label: ed.getLang("table.height", "Height"), name: "height" })), stylesList = (form.add(heightCtrl), cm.createStylesBox("table_cell_classes", { label: ed.getLang("table.classes", "Classes"), onselect: function(v) {}, name: "classes", styles: ed.getParam("table_classes_custom", []) })); form.add(stylesList), ed.addCommand("mceTableCellProps", function() { ed.windowManager.open({ title: ed.getLang("table.row_desc", "Table Cells"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var label = ed.getLang("insert", "Insert"), elm = ed.dom.getParent(ed.selection.getStart(), "td,th"), celltype = elm.nodeName.toLowerCase(), width = "", height = ""; elm && (label = ed.getLang("update", "Update"), width = elm.width || "", height = elm.height || "", width = (styles = ed.dom.parseStyle(ed.dom.getAttrib(elm, "style"))).width || "", height = styles.height || ""), width = width.replace("px", ""), height = height.replace("px", ""), widthCtrl.value(width), heightCtrl.value(height), celltypeCtrl.value(celltype); var styles = (styles = ed.dom.getAttrib(elm, "class")).replace(/mce-[\w\-]+/g, "").replace(/\s+/g, " ").trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }); stylesList.value(styles), DOM.setHTML(this.id + "_insert", label); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var data = form.submit(), elm = ed.dom.getParent(ed.selection.getStart(), "tr"), elm = (data.style = ed.dom.parseStyle(ed.dom.getAttrib(elm, "style")), data.width && !isNaN(data.width) && (data.width += "px"), data.height && !isNaN(data.height) && (data.height += "px"), data.style.width = data.width, data.style.height = data.height, { style: ed.dom.serializeStyle(data.style), celltype: data.celltype, class: data.classes }); updateCells(ed, elm), Event.cancel(e); }, classes: "primary", scope: self } ] }); }); }(ed)), function(ed) { var cm = ed.controlManager, form = cm.createForm("table_merge_form"), colsCtrl = cm.createTextBox("table_merge_cols", { label: ed.getLang("table.cols", "Columns"), name: "cols", subtype: "number", value: 1 }), rowsCtrl = (form.add(colsCtrl), cm.createTextBox("table_merge_rows", { label: ed.getLang("table.rows", "Rows"), name: "rows", subtype: "number", value: 1 })); form.add(rowsCtrl), ed.addCommand("mceTableMergeCells", function() { var grid = createTableGrid(); ed.dom.select("td.mceSelected,th.mceSelected").length ? (grid.merge(), ed.execCommand("mceRepaint"), cleanup()) : ed.windowManager.open({ title: ed.getLang("table.merge_cells_desc", "Merge Cells"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var cell = ed.dom.getParent(ed.selection.getNode(), "th,td"), rowSpan = 1, colSpan = 1; cell && (rowSpan = cell.rowSpan, colSpan = cell.colSpan), colsCtrl.value(colSpan), rowsCtrl.value(rowSpan); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("update", "Update"), id: "insert", onsubmit: function(e) { var data = form.submit(), grid = createTableGrid(), node = ed.selection.getNode(), node = ed.dom.getParent(node, "th,td"); grid.merge(node, data.cols, data.rows), ed.execCommand("mceRepaint"), cleanup(), Event.cancel(e); }, classes: "primary", scope: self } ] }); }); }(ed); }), ed.onPreProcess.add(function(ed, args) { var nodes, i, node, value, dom = ed.dom; if ("html4" === ed.settings.schema) for (i = (nodes = dom.select("table,td,th,tr", args.node)).length; i--; ) { node = nodes[i], dom.setAttrib(node, "data-mce-style", ""), "auto" === dom.getStyle(node, "margin-left") && "auto" === dom.getStyle(node, "margin-right") && (dom.setAttrib(node, "align", "center"), dom.setStyles(node, { "margin-left": "", "margin-right": "" })); var flt = dom.getStyle(node, "float"), flt = ("left" !== flt && "right" !== flt || (dom.setAttrib(node, "align", flt), dom.setStyle(node, "float", "")), dom.getStyle(node, "text-align")); flt && (dom.setAttrib(node, "align", flt), dom.setStyle(node, "text-align", "")); } for (i = (nodes = dom.select("table, td, th", args.node)).length; i--; ) node = nodes[i], (value = dom.getAttrib(node, "width")) && (dom.setStyle(node, "width", value), dom.setAttrib(node, "width", "")), (value = dom.getAttrib(node, "height")) && (dom.setStyle(node, "height", value), dom.setAttrib(node, "height", "")); }), ed.onNodeChange.add(function(ed, cm, n) { var p; n = ed.selection.getStart(), p = ed.dom.getParent(n, "td,th,caption"), cm.setActive("table", "TABLE" === n.nodeName || !!p), p && "CAPTION" === p.nodeName && (p = 0), ed.getParam("table_buttons", 1) && (cm.setDisabled("delete_table", !p), cm.setDisabled("delete_col", !p), cm.setDisabled("delete_table", !p), cm.setDisabled("delete_row", !p), cm.setDisabled("col_after", !p), cm.setDisabled("col_before", !p), cm.setDisabled("row_after", !p), cm.setDisabled("row_before", !p), cm.setDisabled("row_props", !p), cm.setDisabled("cell_props", !p), cm.setDisabled("split_cells", !p), cm.setDisabled("merge_cells", !p), cm.setDisabled("table_props", !p)); }), ed.onClick.add(function(ed, e) { var n = e.target; "TABLE" == (n = e.altKey && ed.dom.is(n, "td,th,caption") ? ed.dom.getParent(n, "table") : n).nodeName && (ed.selection.select(n), ed.nodeChanged()); }), ed.onInit.add(function(ed) { var tableGrid, getSingleChildNode, isTextNode, startCell, startTable, lastMouseOverTarget, dom = ed.dom; function isCellInTable(table, cell) { return table && cell && table === dom.getParent(cell, "table"); } function moveWebKitSelection() { function eventHandler(e) { var preBrowserNode, node, key = e.keyCode; function handle(upBool, sourceNode) { var siblingDirection = upBool ? "previousSibling" : "nextSibling", currentRow = ed.dom.getParent(sourceNode, "tr"), siblingRow = currentRow[siblingDirection]; if (siblingRow) return moveCursorToRow(ed, sourceNode, siblingRow, upBool), e.preventDefault(), !0; var siblingRow = ed.dom.getParent(currentRow, "table"), middleNode = currentRow.parentNode, parentNodeName = middleNode.nodeName.toLowerCase(); if ("tbody" === parentNodeName || parentNodeName === (upBool ? "tfoot" : "thead")) { parentNodeName = function(upBool, topNode, secondNode, nodeName) { var nodeName = ed.dom.select(">" + nodeName, topNode), position = nodeName.indexOf(secondNode); { if (upBool && 0 === position || !upBool && position === nodeName.length - 1) return function(upBool, parent) { upBool = upBool ? "thead" : "tfoot", upBool = ed.dom.select(">" + upBool, parent); return 0 !== upBool.length ? upBool[0] : null; }(upBool, topNode); if (-1 === position) return topNode = "thead" === secondNode.tagName.toLowerCase() ? 0 : nodeName.length - 1, nodeName[topNode]; } return nodeName[position + (upBool ? -1 : 1)]; }(upBool, siblingRow, middleNode, "tbody"); if (null !== parentNodeName) return function(upBool, targetParent, sourceNode) { targetParent = getChildForDirection(targetParent, upBool); targetParent && moveCursorToRow(ed, sourceNode, targetParent, upBool); return e.preventDefault(), !0; }(upBool, parentNodeName, sourceNode); } return function(upBool, currentRow, siblingDirection, table) { siblingDirection = table[siblingDirection]; if (siblingDirection) return moveCursorToStartOfElement(siblingDirection), !0; siblingDirection = ed.dom.getParent(table, "td,th"); if (siblingDirection) return handle(upBool, siblingDirection); return moveCursorToStartOfElement(getChildForDirection(currentRow, !upBool)), e.preventDefault(), !1; }(upBool, currentRow, siblingDirection, siblingRow); } function getChildForDirection(parent, up) { parent = parent && parent[up ? "lastChild" : "firstChild"]; return parent && "BR" === parent.nodeName ? ed.dom.getParent(parent, "td,th") : parent; } function moveCursorToStartOfElement(n) { ed.selection.setCursorLocation(n, 0); } function moveCursorToRow(ed, node, row, upBool) { ed = function(rowElement, columnIndex) { var c = 0, r = 0; return each(rowElement.children, function(cell, i) { if (c += getSpanVal(cell, "colspan"), r = i, columnIndex < c) return !1; }), r; }(row, function(column) { for (var colIndex = 0, c = column; c.previousSibling; ) colIndex += getSpanVal(c = c.previousSibling, "colspan"); return colIndex; }(ed.dom.getParent(node, "td,th"))), node = row.childNodes[ed]; moveCursorToStartOfElement(getChildForDirection(node, upBool) || node); } function shouldFixCaret(preBrowserNode) { var newNode = ed.selection.getNode(), newNode = ed.dom.getParent(newNode, "td,th"), preBrowserNode = ed.dom.getParent(preBrowserNode, "td,th"); return newNode && newNode !== preBrowserNode && (preBrowserNode = preBrowserNode, ed.dom.getParent(newNode, "TABLE") === ed.dom.getParent(preBrowserNode, "TABLE")); } key != VK.UP && key != VK.DOWN || (node = ed.selection.getNode(), null === ed.dom.getParent(node, "tr")) || (preBrowserNode = ed.selection.getNode(), Delay.setEditorTimeout(ed, function() { shouldFixCaret(preBrowserNode) && handle(!e.shiftKey && key === VK.UP, preBrowserNode); }, 0)); } ed.onKeyDown.add(function(e) { eventHandler(e); }); } function fixBeforeTableCaretBug() { ed.onKeyDown.add(function(e) { var rng, table, dom = ed.dom; (37 == e.keyCode || 38 == e.keyCode) && (rng = ed.selection.getRng(), table = dom.getParent(rng.startContainer, "table")) && ed.getBody().firstChild == table && function(rng, par) { var doc = par.ownerDocument, rng2 = doc.createRange(); return rng2.setStartBefore(par), rng2.setEnd(rng.endContainer, rng.endOffset), (par = doc.createElement("body")).appendChild(rng2.cloneContents()), 0 === par.innerHTML.replace(/<(br|img|object|embed|input|textarea)[^>]*>/gi, "-").replace(/<[^>]+>/g, "").length; }(rng, table) && ((rng = dom.createRng()).setStartBefore(table), rng.setEndBefore(table), ed.selection.setRng(rng), e.preventDefault()); }); } function fixTableCaretPos() { ed.dom.bind("KeyDown SetContent VisualAid", function() { for (var last = ed.getBody().lastChild; last; last = last.previousSibling) if (3 == last.nodeType) { if (0 < last.nodeValue.length) break; } else if (1 == last.nodeType && ("BR" == last.tagName || !last.getAttribute("data-mce-bogus"))) break; last && "TABLE" == last.nodeName && (ed.settings.forced_root_block ? ed.dom.add(ed.getBody(), ed.settings.forced_root_block, ed.settings.forced_root_block_attrs, '
              ') : ed.dom.add(ed.getBody(), "br", { "data-mce-bogus": "1" })); }), ed.onPreProcess.add(function(ed, o) { o = o.node.lastChild; o && ("BR" == o.nodeName || 1 == o.childNodes.length && ("BR" == o.firstChild.nodeName || "\xa0" == o.firstChild.nodeValue)) && o.previousSibling && "TABLE" == o.previousSibling.nodeName && ed.dom.remove(o); }); } function fixTableCellSelection() { function fixSelection() { var rng = ed.selection.getRng(), n = ed.selection.getNode(), currentCell = ed.dom.getParent(rng.startContainer, "TD,TH"); if (function(ed, rng, n, currentCell) { var tableParent; return (ed = ed.dom.getParent(rng.startContainer, "TABLE")) && (tableParent = ed.parentNode), ed = 3 == rng.startContainer.nodeType && 0 === rng.startOffset && 0 === rng.endOffset && currentCell && ("TR" == n.nodeName || n == tableParent), rng = ("TD" == n.nodeName || "TH" == n.nodeName) && !currentCell, ed || rng; }(ed, rng, n, currentCell)) { for (var end = (currentCell = currentCell || n).lastChild; end.lastChild; ) end = end.lastChild; 3 == end.nodeType && (rng.setEnd(end, end.data.length), ed.selection.setRng(rng)); } } ed.onKeyDown.add(function() { fixSelection(); }), ed.onMouseDown.add(function(e) { 2 != e.button && fixSelection(); }); } function placeCaretInCell(cell) { ed.selection.select(cell, !0), ed.selection.collapse(!0); } function clearCell(cell) { ed.dom.empty(cell), function(cell) { cell.hasChildNodes() || (cell.innerHTML = '
              '); }(cell); } function restoreCaretPlaceholder(node, insertCaret) { var rng = ed.selection.getRng(), caretNode = node.ownerDocument.createTextNode("\xa0"); rng.startOffset ? node.insertBefore(caretNode, node.firstChild) : node.appendChild(caretNode), insertCaret && (ed.selection.select(caretNode, !0), ed.selection.collapse(!0)); } function getSingleChr(node) { return node = getSingleChildNode(node), isTextNode(node) && 1 === node.data.length ? node.data : null; } function isEmptyNode(node) { return ed.dom.isEmpty(node) || "\xa0" === getSingleChr(node); } winMan = ed.windowManager, "html4" === ed.settings.schema && tinymce.each("left,center,right,full".split(","), function(name) { var fmts = ed.formatter.get("align" + name); tinymce.each(fmts, function(fmt) { fmt.onformat = function(elm, fmt) { /^(TABLE|TH|TD|TR)$/.test(elm.nodeName) && ("full" === name && (name = "justify"), ed.dom.setAttrib(elm, "align", name)); }; }); }), ed.onKeyUp.add(function(ed, e) { cleanup(); }), ed.onKeyDown.add(function(e) { var selectedTableCells, cell, table; e.keyCode != VK.DELETE && e.keyCode != VK.BACKSPACE || e.isDefaultPrevented() || (table = ed.dom.getParent(ed.selection.getStart(), "table")) && (table = ed.dom.select("td,th", table), 0 === (selectedTableCells = tinymce.grep(table, function(cell) { return !!ed.dom.getAttrib(cell, "data-mce-selected"); })).length ? (cell = ed.dom.getParent(ed.selection.getStart(), "td,th"), ed.selection.isCollapsed() && cell && ed.dom.isEmpty(cell) && (e.preventDefault(), clearCell(cell), placeCaretInCell(cell))) : (e.preventDefault(), ed.undoManager.add(), table.length == selectedTableCells.length ? ed.execCommand("mceTableDelete") : (tinymce.each(selectedTableCells, clearCell), placeCaretInCell(selectedTableCells[0])))); }), getSingleChildNode = function(node) { return node.firstChild === node.lastChild && node.firstChild; }, isTextNode = function(node) { return node && 3 === node.nodeType; }, ed.onKeyDown.add(function(e) { var container, node; (function(e) { return (e.keyCode == VK.DELETE || e.keyCode == VK.BACKSPACE) && !e.isDefaultPrevented(); })(e) && (container = ed.dom.getParent(ed.selection.getStart(), "caption"), node = container) && "CAPTION" == node.nodeName && "TABLE" == node.parentNode.nodeName && (tinymce.isIE && (ed.selection.isCollapsed() ? function(node) { var childNode = getSingleChildNode(node), node = getSingleChr(node); return childNode && !isTextNode(childNode) || node && !("\xa0" === node); }(container) && restoreCaretPlaceholder(container) : (ed.undoManager.add(), ed.execCommand("Delete"), isEmptyNode(container) && restoreCaretPlaceholder(container, !0), e.preventDefault())), isEmptyNode(container)) && e.preventDefault(); }), ed.onMouseDown.add(function(ed, e) { 2 != e.button && (cleanup(), startCell = dom.getParent(e.target, "td,th"), startTable = dom.getParent(startCell, "table")); }), dom.bind(ed.getDoc(), "mouseover", function(e) { var currentCell, target = e.target; if (target !== lastMouseOverTarget && (lastMouseOverTarget = target, startTable) && startCell && (currentCell = dom.getParent(target, "td,th"), isCellInTable(startTable, currentCell) || (currentCell = dom.getParent(startTable, "td,th")), startCell !== currentCell || hasCellSelection) && isCellInTable(startTable, currentCell)) { e.preventDefault(), tableGrid || ((tableGrid = createTableGrid(startTable)).setStartCell(startCell), ed.getBody().style.webkitUserSelect = "none"), tableGrid.setEndCell(currentCell), hasCellSelection = !0, target = ed.selection.getSel(); try { target.removeAllRanges ? target.removeAllRanges() : target.empty(); } catch (ex) {} } }), ed.onMouseUp.add(function() { var selectedCells, walker, lastNode, sel = ed.selection; function setPoint(node, start) { var walker = new TreeWalker(node, node); do { if (3 == node.nodeType) return void (start ? rng.setStart(node, 0) : rng.setEnd(node, node.nodeValue.length)); if ("BR" == node.nodeName) return void (start ? rng.setStartBefore(node) : rng.setEndBefore(node)); } while (node = start ? walker.next() : walker.prev()); } if (startCell) { if (tableGrid && (ed.getBody().style.webkitUserSelect = ""), 0 < (selectedCells = dom.select("td.mceSelected,th.mceSelected")).length) { var parent = dom.getParent(selectedCells[0], "table"), rng = dom.createRng(), node = selectedCells[0]; rng.setStartBefore(node), rng.setEndAfter(node), setPoint(node, 1), walker = new TreeWalker(node, parent); do { if ("TD" == node.nodeName || "TH" == node.nodeName) { if (!dom.hasClass(node, "mceSelected")) break; lastNode = node; } } while (node = walker.next()); setPoint(lastNode), sel.setRng(rng); } ed.nodeChanged(), startCell = tableGrid = startTable = lastMouseOverTarget = null; } }), tinymce.isWebKit && (moveWebKitSelection(), fixTableCellSelection()), tinymce.isGecko && (fixBeforeTableCaretBug(), fixTableCaretPos()), (9 < tinymce.isIE || tinymce.isIE12) && (fixBeforeTableCaretBug(), fixTableCaretPos()), ed && ed.plugins.contextmenu && ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { ed.dom.getParent(e, "td") || ed.dom.getParent(e, "th") || ed.dom.select("td.mceSelected,th.mceSelected").length ? (m.add({ title: "table.desc", icon: "table", cmd: "mceInsertTable", value: { action: "insert" } }), m.add({ title: "table.props_desc", icon: "table_props", cmd: "mceInsertTable" }), m.add({ title: "table.del", icon: "delete_table", cmd: "mceTableDelete" }), m.addSeparator(), (e = m.addMenu({ title: "table.cell" })).add({ title: "table.cell_desc", icon: "cell_props", cmd: "mceTableCellProps" }), e.add({ title: "table.split_cells_desc", icon: "split_cells", cmd: "mceTableSplitCells" }), e.add({ title: "table.merge_cells_desc", icon: "merge_cells", cmd: "mceTableMergeCells" }), (e = m.addMenu({ title: "table.row" })).add({ title: "table.row_desc", icon: "row_props", cmd: "mceTableRowProps" }), e.add({ title: "table.row_before_desc", icon: "row_before", cmd: "mceTableInsertRowBefore" }), e.add({ title: "table.row_after_desc", icon: "row_after", cmd: "mceTableInsertRowAfter" }), e.add({ title: "table.delete_row_desc", icon: "delete_row", cmd: "mceTableDeleteRow" }), e.addSeparator(), e.add({ title: "table.cut_row_desc", icon: "cut", cmd: "mceTableCutRow" }), e.add({ title: "table.copy_row_desc", icon: "copy", cmd: "mceTableCopyRow" }), e.add({ title: "table.paste_row_before_desc", icon: "paste", cmd: "mceTablePasteRowBefore" }).setDisabled(!clipboardRows), e.add({ title: "table.paste_row_after_desc", icon: "paste", cmd: "mceTablePasteRowAfter" }).setDisabled(!clipboardRows), (e = m.addMenu({ title: "table.col" })).add({ title: "table.col_before_desc", icon: "col_before", cmd: "mceTableInsertColBefore" }), e.add({ title: "table.col_after_desc", icon: "col_after", cmd: "mceTableInsertColAfter" }), e.add({ title: "table.delete_col_desc", icon: "delete_col", cmd: "mceTableDeleteCol" })) : m.add({ title: "table.desc", icon: "table", cmd: "mceInsertTable" }); }); }); url = ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=table"; each({ mceTableSplitCells: function(grid) { grid.split(); }, mceTableInsertRowBefore: function(grid) { grid.insertRow(!0); }, mceTableInsertRowAfter: function(grid) { grid.insertRow(); }, mceTableInsertColBefore: function(grid) { grid.insertCol(!0); }, mceTableInsertColAfter: function(grid) { grid.insertCol(); }, mceTableDeleteCol: function(grid) { grid.deleteCols(); }, mceTableDeleteRow: function(grid) { grid.deleteRows(); }, mceTableCutRow: function(grid) { clipboardRows = grid.cutRows(); }, mceTableCopyRow: function(grid) { clipboardRows = grid.copyRows(); }, mceTablePasteRowBefore: function(grid) { grid.pasteRows(clipboardRows, !0); }, mceTablePasteRowAfter: function(grid) { grid.pasteRows(clipboardRows); }, mceTableDelete: function(grid) { grid.deleteTable(); } }, function(func, name) { ed.addCommand(name, function() { var grid = createTableGrid(); grid && (func(grid), ed.execCommand("mceRepaint"), cleanup()); }); }), each({ mceInsertTable: function(val) { winMan.open({ url: url, size: "mce-modal-landscape-xlarge" }, { plugin_url: url, action: val ? val.action : 0, layout: "table" }); }, mceTableRowProps: function() { winMan.open({ url: url + "&slot=row", size: "mce-modal-landscape-xlarge" }, { plugin_url: url, layout: "row" }); }, mceTableCellProps: function() { winMan.open({ url: url + "&slot=cell", size: "mce-modal-landscape-xlarge" }, { plugin_url: url, layout: "cell" }); } }, function(func, name) { ed.addCommand(name, function(ui, val) { func(val); }); }), !1 !== ed.settings.table_tab_navigation && ed.onKeyDown.add(function(ed, e) { var cellElm, grid; 9 == e.keyCode && (cellElm = ed.dom.getParent(ed.selection.getStart(), "th,td")) && (e.preventDefault(), grid = createTableGrid(), e = e.shiftKey ? -1 : 1, ed.undoManager.add(), !grid.moveRelIdx(cellElm, e)) && 0 < e && (grid.insertRow(), grid.refresh(), grid.moveRelIdx(cellElm, e)); }), this.createControl = function(n, cm) { function createMenuGrid(cols, rows) { for (var html = '', i = 0; i < rows; i++) { html += ""; for (var x = 0; x < cols; x++) html += ''; html += ""; } return html = (html += "") + ('') + ""; } function menuGridMouseOver(e) { var e = e.target, tbody = ("TD" !== e.nodeName && (e = e.parentNode), DOM.getParent(e, "tbody")); if (tbody) { var i, rows = tbody.childNodes, tbody = e.parentNode, x = tinymce.inArray(tbody.childNodes, e), y = tinymce.inArray(rows, tbody); if (!(x < 0 || y < 0)) { for (i = 0; i < rows.length; i++) for (var cells = rows[i].childNodes, z = 0; z < cells.length; z++) x < z || y < i ? DOM.removeClass(cells[z], "selected") : DOM.addClass(cells[z], "selected"); DOM.setHTML(DOM.select("td.mceTableGridCount", n), y + 1 + " x " + (x + 1)); } } } function menuGridClick(e) { for (var el = e.target, el = ("TD" !== el.nodeName && (el = el.parentNode), DOM.getParent(el, "table")), styles = [], width = ed.getParam("table_default_width"), width = (/^[0-9\.]+$/.test(width) && (width += "px"), width && styles.push("width:" + width), ed.getParam("table_default_height")), width = (/^[0-9\.]+$/.test(width) && (width += "px"), width && styles.push("height:" + width), ed.getParam("table_default_border", "")), html = "' : " ") + ""; html += ""; } insertTableHtml(ed, html += ""), ed.addVisual(), Event.cancel(e); } return "table_insert" === n ? ((cm = cm.createSplitButton("table_insert", { title: "table.desc", cmd: "mceInsertTable", class: "mce_table" })).onRenderMenu.add(function(c, m) { var tm, sm, sb = (ed.getParam("table_buttons", 1) ? m : tm = m.addMenu({ title: "table.desc", icon: "table", cmd: "mceInsertTable" })).add({ onmouseover: menuGridMouseOver, onclick: menuGridClick, html: createMenuGrid(8, 8) }); m.onShowMenu.add(function() { var n = DOM.get(sb.id); n && (DOM.removeClass(DOM.select(".mceTableSplitMenu td", n), "selected"), DOM.setHTML(DOM.select(".mceTableSplitMenu .mceTableGridCount", n), " ")); var n = ed.selection.getNode(), p = DOM.getParent(n, "table"); tinymce.walk(m, function(o) { if (o === sb || o === tm) return !1; o.settings.cmd && o.setDisabled(!p); }, "items", m); }), ed.getParam("table_buttons", 1) || (m.add({ title: "table.del", icon: "delete_table", cmd: "mceTableDelete" }), m.addSeparator(), (sm = m.addMenu({ title: "table.cell" })).add({ title: "table.cell_desc", icon: "cell_props", cmd: "mceTableCellProps" }), sm.add({ title: "table.split_cells_desc", icon: "split_cells", cmd: "mceTableSplitCells" }), sm.add({ title: "table.merge_cells_desc", icon: "merge_cells", cmd: "mceTableMergeCells" }), (sm = m.addMenu({ title: "table.row" })).add({ title: "table.row_desc", icon: "row_props", cmd: "mceTableRowProps" }), sm.add({ title: "table.row_before_desc", icon: "row_before", cmd: "mceTableInsertRowBefore" }), sm.add({ title: "table.row_after_desc", icon: "row_after", cmd: "mceTableInsertRowAfter" }), sm.add({ title: "table.delete_row_desc", icon: "delete_row", cmd: "mceTableDeleteRow" }), sm.addSeparator(), sm.add({ title: "table.cut_row_desc", icon: "cut", cmd: "mceTableCutRow" }), sm.add({ title: "table.copy_row_desc", icon: "copy", cmd: "mceTableCopyRow" }), sm.add({ title: "table.paste_row_before_desc", icon: "paste", cmd: "mceTablePasteRowBefore" }), sm.add({ title: "table.paste_row_after_desc", icon: "paste", cmd: "mceTablePasteRowAfter" }), (sm = m.addMenu({ title: "table.col" })).add({ title: "table.col_before_desc", icon: "col_before", cmd: "mceTableInsertColBefore" }), sm.add({ title: "table.col_after_desc", icon: "col_after", cmd: "mceTableInsertColAfter" }), sm.add({ title: "table.delete_col_desc", icon: "delete_col", cmd: "mceTableDeleteCol" })); }), cm) : null; }; }); }(tinymce);plugins/table/js/table.js000060400000060060152456730070011364 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function(tinymce, tinyMCEPopup, $) { function trimSize(size) { return (size = size.replace(/([0-9\.]+)(px|%|in|cm|mm|em|ex|pt|pc)/i, "$1$2")) ? size.replace(/px$/, "") : ""; } function valueToHex(val) { return val && "#" !== val.charAt(0) ? "#" + val : val; } Wf.setStyles = function() { var key, ed = tinyMCEPopup.editor, $proxy = $("
              "), proxy = $proxy.get(0), map = ($proxy.attr("style", $("#style").val()), { "background-image": "backgroundimage", "border-spacing": "cellspacing", "border-collapse": "cellspacing", "vertical-align": "valign", "background-color": "bgcolor", float: "align", "text-align": "align" }), legacy = [ "align", "valign" ], border = ($.each([ "background-image", "width", "height", "border-spacing", "border-collapse", "vertical-align", "background-color", "text-align", "float" ], function(i, k) { var col, r, g, re, v = ed.dom.getStyle(proxy, k); return !("" != v && ($proxy.css(k, ""), "width" !== k && "height" !== k || (v = trimSize(v))) && ("background-image" === k && (v = v.replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", "gi"), "$1")), "background-color" === k && (col = v, re = new RegExp("rgb\\s*\\(\\s*([0-9]+).*,\\s*([0-9]+).*,\\s*([0-9]+).*\\)", "gi"), v = 3 == (re = col.replace(re, "$1,$2,$3").split(",")).length ? (r = parseInt(re[0], 10).toString(16), g = parseInt(re[1], 10).toString(16), re = parseInt(re[2], 10).toString(16), "#" + (1 == r.length ? "0" + r : r) + (1 == g.length ? "0" + g : g) + (1 == re.length ? "0" + re : re)) : col), "border-spacing" === k && (v = trimSize(v)), "border-collapse" === k && "collapse" === v && (v = 0), "float" !== k || "" === $("#align").val()) && (k = map[k] || k, !isHTML4 || -1 === $.inArray(k, legacy))) || void $("#" + k).val(v).trigger("change"); }), "auto" === proxy.style.marginLeft && "auto" === proxy.style.marginRight && "" === $("#align").val() && ($("#align").val("center"), $proxy.css({ "margin-left": "", "margin-right": "" })), !1), initialStyles = { width: "medium", style: "none", color: "currentcolor" }, styles = ($.each([ "width", "color", "style" ], function(i, k) { var v = ed.dom.getStyle($proxy.get(0), "border-" + k); $.each([ "top", "right", "bottom", "left" ], function(i, n) { n = "border-" + n + "-" + k, n = ed.dom.getStyle($proxy.get(0), n); ("" !== (n = initialStyles[k] === v ? "" : n) || n !== v && "" !== v) && (v = ""), "" !== n && (v = n); }), "" !== v && (border = !0, $proxy.css("border-" + k, "")), "width" == k && (v = /[0-9][a-z]/.test(v) ? parseInt(v, 10) : v), "color" == k && v && "#" === (v = Wf.String.toHex(v)).charAt(0) && (v = v.substr(1)), border && ($("#border").attr("checked", "checked").trigger("change"), "width" === k && 0 == $('option[value="' + v + '"]', "#border_width").length && $("#border_width").append(new Option(v, v)), $("#border_" + k).val(v).trigger("change")); }), ed.dom.parseStyle($proxy.attr("style"))); for (key in styles) (0 <= key.indexOf("-moz-") || 0 <= key.indexOf("-webkit-") || "border-image" === key) && delete styles[key]; $("#style").val(ed.dom.serializeStyle(styles)); }, Wf.updateStyles = function() {}; var isHTML4 = "html4" === tinyMCEPopup.editor.settings.schema, isHTML5 = "html5-strict" === tinyMCEPopup.editor.settings.schema, TableDialog = { settings: {}, init: function() { var ed = tinyMCEPopup.editor, layout = tinyMCEPopup.getWindowArg("layout", "table"); if (this.settings.file_browser || $("input.browser").removeClass("browser"), Wf.init({ classes: ed.getParam("table_classes_custom", []) }), "merge" == layout) return this.initMerge(); switch (isHTML5 && $("#axis, #abbr, #scope, #summary, #char, #charoff, #tframe, #nowrap, #rules, #cellpadding, #cellspacing").each(function() { $(this).add('label[for="' + this.id + '"]').hide(); }), layout) { case "table": this.initTable(); break; case "cell": this.initCell(); break; case "row": this.initRow(); } $(".uk-form-controls select").datalist().trigger("datalist:update"), $(".uk-datalist").trigger("datalist:update"); }, insert: function() { switch (tinyMCEPopup.getWindowArg("layout", "table")) { case "table": this.insertTable(); break; case "cell": this.updateCells(); break; case "row": this.updateRows(); break; case "merge": this.merge(); } }, initMerge: function() { $("#numcols").val(tinyMCEPopup.getWindowArg("cols", 1)), $("#numrows").val(tinyMCEPopup.getWindowArg("rows", 1)), $("#insert").button("option", "label", tinyMCEPopup.getLang("update", "Update", !0)); }, updateClasses: function(values) { values = values.replace(/(?:^|\s)mce-item-(\w+)(?!\S)/g, ""), values = $.trim(values), $("#classes").val(values).trigger("change"); }, initTable: function() { var ed = tinyMCEPopup.editor, elm = ed.dom.getParent(ed.selection.getNode(), "table"), action = (action = tinyMCEPopup.getWindowArg("action")) || (elm ? "update" : "insert"); if (isHTML4 && ($("#table_border").replaceWith(''), $("#table_border").on("click", function() { this.value = this.checked ? 1 : ""; })), elm && "insert" != action) { for (var rowsAr = elm.rows, cols = 0, i = 0; i < rowsAr.length; i++) rowsAr[i].cells.length > cols && (cols = rowsAr[i].cells.length); $("#cols").val(cols), $("#rows").val(rowsAr.length), $("#caption").prop("checked", 0 < elm.getElementsByTagName("caption").length), $.each([ "align", "width", "height", "cellpadding", "cellspacing", "id", "summary", "dir", "lang", "bgcolor", "background", "frame", "rules", "border" ], function(i, k) { var v = ed.dom.getAttrib(elm, k); if ("background" === k && "" !== v && (v = v.replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", "gi"), "$1")), "border" === k && "" !== v) return $("#table_border").val(function() { return v = parseInt(v, 10), "checkbox" === this.type && (this.checked = !!v), v; }), !0; $("#" + k).val(v); }), this.updateClasses(ed.dom.getAttrib(elm, "class")), $("#style").val(ed.dom.getAttrib(elm, "style")).trigger("change"), this.orgTableWidth = $("#width").val(), this.orgTableHeight = $("#height").val(), $("#insert .uk-button-text").text(tinyMCEPopup.getLang("update", "Update", !0)); } else Wf.setDefaults(this.settings.defaults); "update" == action && $("#cols, #rows").prop("disabled", !0), $(".uk-datalist").trigger("datalist:update"); }, initRow: function() { var self = this, ed = tinyMCEPopup.editor, dom = tinyMCEPopup.dom, elm = dom.getParent(ed.selection.getStart(), "tr"), selected = dom.select("td.mceSelected,th.mceSelected", elm), dom = elm.parentNode.nodeName.toLowerCase(); $("#style").val(ed.dom.getAttrib(elm, "style")).trigger("change"), $.each([ "align", "width", "height", "cellpadding", "cellspacing", "id", "summary", "dir", "lang", "bgcolor", "background" ], function(i, k) { var v = ed.dom.getAttrib(elm, k), dv = $("#" + k).val(); "background" === k && "" !== v && (v = v.replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", "gi"), "$1")), "" !== dv && (v = dv), selected.length && -1 !== $.inArray(k, [ "bgcolor", "background", "height", "id", "lang", "align" ]) && (v = isHTML4 ? v : ""), $("#" + k).val(v); }), this.updateClasses(ed.dom.getAttrib(elm, "class")), $("#rowtype").on("change", function() { self.setActionforRowType(); }).val(dom).trigger("change"), 0 === selected.length ? $("#insert .uk-button-text").text(tinyMCEPopup.getLang("update", "Update", !0)) : $("#action").hide(); }, initCell: function() { var ed = tinyMCEPopup.editor, dom = ed.dom, elm = dom.getParent(ed.selection.getStart(), "td,th"); dom.hasClass(elm, "mceSelected") ? $("#action").hide() : ($("#style").val(ed.dom.getAttrib(elm, "style")).trigger("change"), $.each([ "align", "valign", "width", "height", "cellpadding", "cellspacing", "id", "summary", "dir", "lang", "bgcolor", "background", "scope" ], function(i, k) { var v = ed.dom.getAttrib(elm, k), dv = $("#" + k).val(); "background" === k && "" !== v && (v = v.replace(new RegExp("url\\(['\"]?([^'\"]*)['\"]?\\)", "gi"), "$1")), "" !== dv && (v = dv), $("#" + k).val(v); }), this.updateClasses(ed.dom.getAttrib(elm, "class")), $("#celltype").val(elm.nodeName.toLowerCase()), $("#insert .uk-button-text").text(tinyMCEPopup.getLang("update", "Update", !0))); }, merge: function() { tinyMCEPopup.restoreSelection(), tinyMCEPopup.getWindowArg("onaction")({ cols: $("#numcols").val(), rows: $("#numrows").val() }), tinyMCEPopup.close(); }, getStyles: function() { var styles, dom = tinyMCEPopup.editor.dom, style = $("#style").val(); return isHTML4 || (styles = { "vertical-align": "", float: "" }, $.each([ "width", "height", "backgroundimage", "border", "bgcolor" ], function(i, k) { var v = $("#" + k).val(); if ("backgroundimage" === k && ("" !== v && (v = 'url("' + v + '")'), k = "background-image"), "bgcolor" === k && v && ("" !== v && (v = valueToHex(v)), k = "background-color"), "width" !== k && "height" !== k || v && !/\D/.test(v) && (v = parseInt(v, 10) + "px"), "border" === k) return $("#border").is(":checked") && $.each([ "width", "style", "color" ], function(i, n) { var s = $("#border_" + n).val(); "width" !== n || "" === s || /\D/.test(s) || (s = parseInt(s, 10) + "px"), "color" === n && (s = valueToHex(s)), styles["border-" + n] = s; }), !0; styles[k] = v; }), style = dom.serializeStyle($.extend(dom.parseStyle(style), styles)), style = dom.serializeStyle(dom.parseStyle(style))), style; }, insertTable: function() { var ed = tinyMCEPopup.editor, dom = ed.dom, elm = (tinyMCEPopup.restoreSelection(), ed.dom.getParent(ed.selection.getNode(), "table")), action = (action = tinyMCEPopup.getWindowArg("action")) || (elm ? "update" : "insert"), border = 0, html = "", width = $("#width").val(), height = $("#height").val(), align = $("#align").val(), cols = $("#cols").val(), rows = $("#rows").val(), cellpadding = $("#cellpadding").val(), cellspacing = $("#cellspacing").val(), frame = $("#tframe").val(), rules = $("#rules").val(), className = $("#classes").val(), id = $("#id").val(), summary = $("#summary").val(), dir = $("#dir").val(), lang = $("#lang").val(), caption = $("#caption").is(":checked"), bgColor = valueToHex($("#bgcolor").val()), style = this.getStyles(), border = $("#table_border").val(); if ($("#table_border").is(":checkbox") && (border = $("#table_border").is(":checked") ? "1" : ""), isHTML4 || (bgColor = height = width = align = ""), "update" == action) return ed.execCommand("mceBeginUndoLevel"), isHTML5 || (dom.setAttrib(elm, "cellPadding", cellpadding, !0), dom.setAttrib(elm, "cellSpacing", cellspacing, !0)), dom.setAttribs(elm, { width: width, height: height, align: align, border: border, bgColor: bgColor }), dom.setAttrib(elm, "frame", frame), dom.setAttrib(elm, "rules", rules), dom.setAttrib(elm, "class", className), dom.setAttrib(elm, "style", style), dom.setAttrib(elm, "id", id), dom.setAttrib(elm, "summary", summary), dom.setAttrib(elm, "dir", dir), dom.setAttrib(elm, "lang", lang), (action = ed.dom.select("caption", elm)[0]) && !caption && action.parentNode.removeChild(action), !action && caption && ((action = elm.ownerDocument.createElement("caption")).innerHTML = '
              ', elm.insertBefore(action, elm.firstChild)), isHTML4 || $("#align").val() && ed.formatter.apply("align" + $("#align").val(), {}, elm), ed.addVisual(), ed.nodeChanged(), ed.execCommand("mceEndUndoLevel", !1, {}, { skip_undo: !0 }), ed.execCommand("mceRepaint"), tinyMCEPopup.close(), !0; html = (html += "", caption && (html += '
              '); for (var patt, y = 0; y < rows; y++) { html += ""; for (var x = 0; x < cols; x++) html += '
              '; html += ""; } html += "", ed.execCommand("mceBeginUndoLevel"), ed.settings.fix_table_elements ? (patt = "", ed.focus(), ed.selection.setContent('
              '), tinymce.each("h1,h2,h3,h4,h5,h6,p".split(","), function(n) { patt && (patt += ","), patt += n + " ._mce_marker"; }), tinymce.each(ed.dom.select(patt), function(n) { ed.dom.split(ed.dom.getParent(n, "h1,h2,h3,h4,h5,h6,p"), n); }), dom.setOuterHTML(dom.select("br._mce_marker")[0], html)) : ed.execCommand("mceInsertContent", !1, html), tinymce.each(dom.select("table[data-mce-new]"), function(node) { var tdorth = dom.select("td,th", node); tinymce.isIE && !tinymce.isIE11 && null == node.nextSibling && (ed.settings.forced_root_block ? dom.insertAfter(dom.create(ed.settings.forced_root_block), node) : dom.insertAfter(dom.create("br", { "data-mce-bogus": "1" }), node)); try { ed.selection.setCursorLocation(tdorth[0], 0); } catch (ex) {} isHTML4 || $("#align").val() && ed.formatter.apply("align" + $("#align").val(), {}, node), dom.setAttrib(node, "data-mce-new", ""); }), ed.addVisual(), ed.execCommand("mceEndUndoLevel", !1, {}, { skip_undo: !0 }), tinyMCEPopup.close(); }, updateCell: function(td, skip_id) { var v, align, valign, width, height, bgColor, self = this, ed = tinyMCEPopup.editor, dom = ed.dom, doc = ed.getDoc(), curCellType = td.nodeName.toLowerCase(), celltype = $("#celltype").val(), cells = ed.dom.select("td.mceSelected,th.mceSelected"); if (cells.length || cells.push(td), width = $("#width").val(), height = $("#height").val(), align = $("#align").val(), valign = $("#valign").val(), bgColor = valueToHex($("#bgcolor").val()), isHTML4 || (bgColor = height = width = valign = align = ""), dom.setAttribs(td, { width: width, height: height, bgColor: bgColor, align: align, valign: valign }), $.each([ "id", "lang", "dir", "classes", "scope", "style" ], function(i, k) { if (v = $("#" + k).val(), "id" === k && skip_id) return !0; var elm, value; "style" === k && (v = self.getStyles()), elm = td, k = k = "classes" === k ? "class" : k, value = v, 1 !== cells.length && !tinymce.is(value) || dom.setAttrib(elm, k, value); }), isHTML4 || ($("#align").val() && ed.formatter.apply("align" + $("#align").val(), {}, td), $("#valign").val() && ed.formatter.apply("valign" + $("#valign").val(), {}, td)), curCellType != celltype) { for (var newCell = doc.createElement(celltype), c = 0; c < td.childNodes.length; c++) newCell.appendChild(td.childNodes[c].cloneNode(1)); for (var a = 0; a < td.attributes.length; a++) ed.dom.setAttrib(newCell, td.attributes[a].name, ed.dom.getAttrib(td, td.attributes[a].name)); td.parentNode.replaceChild(newCell, td), td = newCell; } return td; }, updateCells: function() { var el, tdElm, trElm, tableElm, self = this, ed = tinyMCEPopup.editor, inst = ed; if (tinyMCEPopup.restoreSelection(), el = ed.selection.getStart(), tdElm = ed.dom.getParent(el, "td,th"), trElm = ed.dom.getParent(el, "tr"), tableElm = ed.dom.getParent(el, "table"), ed.dom.hasClass(tdElm, "mceSelected")) tinymce.each(ed.dom.select("td.mceSelected,th.mceSelected"), function(td) { self.updateCell(td); }); else switch (ed.execCommand("mceBeginUndoLevel"), $("#action").val()) { case "cell": var celltype = $("#celltype").val(), scope = $("#scope").val(); if (ed.getParam("accessibility_warnings", 1)) return void ("th" == celltype && "" == scope ? tinyMCEPopup.confirm(ed.getLang("table_dlg.missing_scope", "Missing Scope", !0), doUpdate) : doUpdate(!0)); this.updateCell(tdElm); break; case "row": var cell = trElm.firstChild; for ("TD" != cell.nodeName && "TH" != cell.nodeName && (cell = this.nextCell(cell)); cell = this.updateCell(cell, !0), null != (cell = this.nextCell(cell)); ); break; case "all": for (var rows = tableElm.getElementsByTagName("tr"), i = 0; i < rows.length; i++) { cell = rows[i].firstChild; for ("TD" != cell.nodeName && "TH" != cell.nodeName && (cell = this.nextCell(cell)); cell = this.updateCell(cell, !0), null != (cell = this.nextCell(cell)); ); } } function doUpdate(state) { state && (self.updateCell(tdElm), ed.addVisual(), ed.nodeChanged(), inst.execCommand("mceEndUndoLevel"), tinyMCEPopup.close()); } ed.addVisual(), ed.nodeChanged(), inst.execCommand("mceEndUndoLevel"), tinyMCEPopup.close(); }, updateRow: function(tr, skip_id, skip_parent) { var v, self = this, ed = tinyMCEPopup.editor, dom = ed.dom, doc = ed.getDoc(), curRowType = tr.parentNode.nodeName.toLowerCase(), rowtype = $("#rowtype").val(), rows = dom.getParent(ed.selection.getStart(), "table").rows; if (rows.length || rows.push(tr), dom.setAttribs(tr, { height: "", align: "", valign: "", bgColor: "" }), $.each([ "id", "lang", "dir", "classes", "scope", "style" ], function(i, k) { if (v = $("#" + k).val(), "id" === k && skip_id) return !0; var elm, value; "style" === k && (v = self.getStyles()), elm = tr, k = k = "classes" === k ? "class" : k, value = v, 1 !== rows.length && !tinymce.is(value) || dom.setAttrib(elm, k, value); }), isHTML4 || $("#align").val() && ed.formatter.apply("align" + $("#align").val(), {}, tr), curRowType != rowtype && !skip_parent) { for (var curRowType = tr.cloneNode(1), theTable = dom.getParent(tr, "table"), dest = rowtype, newParent = null, i = 0; i < theTable.childNodes.length; i++) theTable.childNodes[i].nodeName.toLowerCase() == dest && (newParent = theTable.childNodes[i]); null == newParent && (newParent = doc.createElement(dest), "thead" == dest ? "CAPTION" == theTable.firstChild.nodeName ? ed.dom.insertAfter(newParent, theTable.firstChild) : theTable.insertBefore(newParent, theTable.firstChild) : theTable.appendChild(newParent)), newParent.appendChild(curRowType), tr.parentNode.removeChild(tr), tr = curRowType; skip_parent = ed.dom.select("td", tr); tinymce.each(skip_parent, function(cell) { ed.dom.rename(cell, "th"); }); } }, updateRows: function() { var trElm, tableElm, self = this, ed = tinyMCEPopup.editor, dom = ed.dom, action = $("#action").val(); if (tinyMCEPopup.restoreSelection(), trElm = dom.getParent(ed.selection.getStart(), "tr"), tableElm = dom.getParent(ed.selection.getStart(), "table"), 0 < dom.select("td.mceSelected,th.mceSelected", trElm).length) tinymce.each(tableElm.rows, function(tr) { for (var i = 0; i < tr.cells.length; i++) if (dom.hasClass(tr.cells[i], "mceSelected")) return void self.updateRow(tr, !0); }); else switch (ed.execCommand("mceBeginUndoLevel"), action) { case "row": this.updateRow(trElm); break; case "all": for (var rows = tableElm.getElementsByTagName("tr"), i = 0; i < rows.length; i++) this.updateRow(rows[i], !0); break; case "odd": case "even": for (rows = tableElm.getElementsByTagName("tr"), i = 0; i < rows.length; i++) (i % 2 == 0 && "odd" == action || i % 2 != 0 && "even" == action) && this.updateRow(rows[i], !0, !0); } ed.addVisual(), ed.nodeChanged(), ed.execCommand("mceEndUndoLevel"), tinyMCEPopup.close(); }, makeAttrib: function(attrib, value) { return "" == (value = void 0 !== value && null != value ? value : $("#" + attrib).val()) ? "" : " " + attrib + '="' + (value = (value = (value = (value = value.replace(/&/g, "&")).replace(/\"/g, """)).replace(//g, ">")) + '"'; }, nextCell: function(elm) { for (;null != (elm = elm.nextSibling); ) if ("TD" == elm.nodeName || "TH" == elm.nodeName) return elm; return null; }, isCssSize: function(value) { return /^[0-9.]+(%|in|cm|mm|em|ex|pt|pc|px)$/.test(value); }, cssSize: function(value, def) { return value = tinymce.trim(value || def), this.isCssSize(value) ? value : parseInt(value, 10) + "px"; }, setActionforRowType: function() { "tbody" === $("#rowtype").val() ? $("#action").prop("disabled", !1) : $("#action").val("row").prop("disabled", !0); } }; tinyMCEPopup.onInit.add(TableDialog.init, TableDialog), window.TableDialog = TableDialog; }(tinymce, tinyMCEPopup, jQuery);plugins/colorpicker/plugin.js000060400000001247152456730070012406 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("colorpicker", function(ed, url) { ed.addCommand("mceColorPicker", function(ui, v) { ed.windowManager.open({ url: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=colorpicker", size: "mce-modal-portrait-320", close_previous: !1 }, { input_color: v.color, func: v.func }); }); });plugins/colorpicker/js/colorpicker.js000060400000003230152456730070014032 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function($) { var ColorPicker = { settings: {}, init: function() { var ed = tinyMCEPopup.editor, color = tinyMCEPopup.getWindowArg("input_color") || "#FFFFFF", doc = ed.getDoc(), stylesheets = []; doc.styleSheets.length && $.each(doc.styleSheets, function(i, s) { s.href && -1 == s.href.indexOf("tinymce") && stylesheets.push(s); }), $("#tmp_color").val(color).colorpicker($.extend(this.settings, { dialog: !0, stylesheets: stylesheets, custom_colors: ed.getParam("colorpicker_custom_colors"), labels: { name: ed.getLang("colorpicker.name", "Name") } })).on("colorpicker:insert", function() { return ColorPicker.insert(); }).on("colorpicker:close", function() { return tinyMCEPopup.close(); }), $("button#insert").button({ icons: { primary: "uk-icon-check" } }), $("#jce").css("display", "block"); }, insert: function() { var color = $("#colorpicker_color").val(), f = tinyMCEPopup.getWindowArg("func"), color = color && "#" + color; tinyMCEPopup.restoreSelection(), f && f(color), tinyMCEPopup.close(); } }; tinyMCEPopup.onInit.add(ColorPicker.init, ColorPicker); }(jQuery);plugins/colorpicker/css/colorpicker.css000060400000000064152456730070014364 0ustar00#colorpicker_picker div.farbtastic{margin:10px auto}plugins/importcss/plugin.js000060400000021460152456730070012114 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, DOM = tinymce.DOM, PreviewCss = tinymce.util.PreviewCss; var rgba = {}, luma = {}; function getLuminance(val) { var RsRGB, GsRGB, col; return luma[val] || (RsRGB = (col = function(val) { var r, b, g, a, values, match; return rgba[val] || (g = b = r = 0, -(a = 1) !== val.indexOf("#") ? (3 === (val = val.substr(1)).length && (val += val), r = parseInt(val.substring(0, 2), 16), g = parseInt(val.substring(2, 4), 16), b = parseInt(val.substring(4, 6), 16), 6 < val.length && (a = +((a = parseInt(val.substring(6, 8), 16)) / 255).toFixed(2))) : (val = val.replace(/\s/g, ""), (values = (match = /^(?:rgb|rgba)\(([^\)]*)\)$/.exec(val)) ? match[1].split(",").map(function(x, i) { return parseFloat(x); }) : values) && (r = values[0], g = values[1], b = values[2], 4 === values.length) && (a = values[3] || 1)), rgba[val] = { r: r, g: g, b: b, a: a }), rgba[val]; }(val)).r / 255, GsRGB = col.g / 255, col = col.b / 255, RsRGB = RsRGB <= .03928 ? RsRGB / 12.92 : Math.pow((.055 + RsRGB) / 1.055, 2.4), GsRGB = GsRGB <= .03928 ? GsRGB / 12.92 : Math.pow((.055 + GsRGB) / 1.055, 2.4), col = col <= .03928 ? col / 12.92 : Math.pow((.055 + col) / 1.055, 2.4), luma[val] = .2126 * RsRGB + .7152 * GsRGB + .0722 * col), luma[val]; } function isReadable(color1, color2, wcag2, limit) { color1 = getLuminance(color1), color2 = getLuminance(color2), color1 = (Math.max(color1, color2) + .05) / (Math.min(color1, color2) + .05); return wcag2 = wcag2 || 4.5, limit = limit || 21, color1 >= parseFloat(wcag2) && color1 < parseFloat(limit); } tinymce.PluginManager.add("importcss", function(ed, url) { var self = this; function setGuideLinesColor() { var gray = [ "#000000", "#080808", "#101010", "#181818", "#202020", "#282828", "#303030", "#383838", "#404040", "#484848", "#505050", "#585858", "#606060", "#686868", "#696969", "#707070", "#787878", "#808080", "#888888", "#909090", "#989898", "#a0a0a0", "#a8a8a8", "#a9a9a9", "#b0b0b0", "#b8b8b8", "#bebebe", "#c0c0c0", "#c8c8c8", "#d0d0d0", "#d3d3d3", "#d8d8d8", "#dcdcdc", "#e0e0e0", "#e8e8e8", "#f0f0f0", "#f5f5f5", "#f8f8f8", "#ffffff" ], blue = [ "#0d47a1", "#1565c0", "#1976d2", "#1e88e5", "#2196f3", "#42a5f5", "#64b5f6", "#90caf9", "#bbdefb", "#e3f2fd" ], guidelines = "#787878", control = "#1e88e5", bodybg = ed.dom.getStyle(ed.getBody(), "background-color", !0), color = ed.dom.getStyle(ed.getBody(), "color", !0); if (bodybg) { ed._hasGuidelines = !0; for (var i = 0; i < gray.length; i++) if (isReadable(gray[i], bodybg, 4.5, 5) && ed.dom.toHex(color) !== ed.dom.toHex(gray[i])) { guidelines = gray[i]; break; } for (var css, i = 0; i < blue.length; i++) if (isReadable(blue[i], bodybg, 4.5, 5)) { control = blue[i]; break; } (guidelines || control) && (css = ":root{", guidelines && (css = css + "--mce-guidelines: " + guidelines + ";--mce-visualchars: #a8a8a8;"), css += "--mce-placeholder: #efefef;", control && (css = css + "--mce-control-selection: " + control + ";--mce-control-selection-bg: #b4d7ff;"), ed.dom.addStyle(css += "}")); } } ed.onImportCSS = new tinymce.util.Dispatcher(), ed.onImportCSS.add(function() { tinymce.is(ed.settings.importcss_classes) || self.get(); }), ed.onInit.add(function() { var hex, bodybg, color; ed.onImportCSS.dispatch(), "auto" !== ed.settings.content_style_reset || ed.dom.hasClass(ed.getBody(), "mceContentReset") || (bodybg = ed.dom.getStyle(ed.getBody(), "background-color", !0), color = ed.dom.getStyle(ed.getBody(), "color", !0), bodybg && color && ((hex = ed.dom.toHex(bodybg)) == ed.dom.toHex(color) && "#000000" === hex || isReadable(color, bodybg, 3) || ed.dom.addClass(ed.getBody(), "mceContentReset"))), setGuideLinesColor(); }), ed.onFocus.add(function(ed) { ed._hasGuidelines || setGuideLinesColor(); }), this.get = function() { var self = this, doc = ed.getDoc(), href = "", rules = [], fontface = [], filtered = {}, classes = []; var bodyRx = !!ed.settings.body_class && new RegExp(".(" + ed.settings.body_class.split(" ").join("|") + ")"); function parseCSS(stylesheet) { each(stylesheet.imports, function(r) { var v; 0 < r.href.indexOf("://fonts.googleapis.com") ? (v = "@import url(" + r.href + ");", -1 === self.fontface.indexOf(v) && self.fontface.unshift(v)) : parseCSS(r); }); try { if (rules = stylesheet.cssRules || stylesheet.rules, !(href = stylesheet.href)) return; if (url = href, -1 !== /\/(tinymce|plugins\/jce)\//.match(url) && -1 !== url.indexOf("content.css")) return; href = href.substr(0, href.lastIndexOf("/") + 1), ed.hasStyleSheets = !0; } catch (e) {} var url; each(rules, function(r) { switch (r.type || 1) { case 1: if (!function(href) { var styleselect = ed.getParam("styleselect_stylesheets"); return !styleselect || (void 0 === filtered[href] && (filtered[href] = -1 !== href.indexOf(styleselect)), filtered[href]); }(stylesheet.href)) return !0; r.selectorText && each(r.selectorText.split(","), function(v) { var value; v = v.trim(), /\.mce[-A-Za-z0-9]/.test(v) || /\.wf[e]?-/.test(v) || (value = v, bodyRx && bodyRx.test(value)) || /\.[\w\-\:]+$/.test(v) && classes.push(v); }); break; case 3: 0 < r.href.indexOf("//fonts.googleapis.com") && (v = "@import url(" + r.href + ");", -1 === fontface.indexOf(v)) && fontface.unshift(v), -1 === r.href.indexOf("//") && parseCSS(r.styleSheet); break; case 5: var v; r.cssText && !1 === /(fontawesome|glyphicons|icomoon)/i.test(r.cssText) && (u = r.cssText, p = href, v = u.replace(/url\(["']?(.+?)["']?\)/gi, function(a, b) { return b.indexOf("://") < 0 ? 'url("' + p + b + '")' : a; }), -1 === fontface.indexOf(v)) && fontface.push(v); } var u, p; }); } if (!classes.length) try { each(doc.styleSheets, function(styleSheet) { parseCSS(styleSheet); }); } catch (ex) {} if (!fontface.length) try { var setCss, head = DOM.doc.getElementsByTagName("head")[0], style = DOM.create("style", { type: "text/css" }), css = self.fontface.join("\n"); style.styleSheet ? (setCss = function() { try { style.styleSheet.cssText = css; } catch (e) {} }, style.styleSheet.disabled ? setTimeout(setCss, 10) : setCss()) : style.appendChild(DOM.doc.createTextNode(css)), head.appendChild(style); } catch (e) {} if (classes.length) return classes = classes.filter(function(val, ind, arr) { return arr.indexOf(val) === ind; }), ed.getParam("styleselect_sort", 1) && classes.sort(), ed.settings.importcss_classes = tinymce.map(classes, function(val) { var selectorText = (selectorText = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText = val)) && "body" !== selectorText[1] ? selectorText[2].substr(1).split(".").join(" ") : "", style = PreviewCss.getCssText(ed, { classes: selectorText.split(" ") }); return { selector: val, class: selectorText, style: style }; }), PreviewCss.reset(), ed.settings.importcss_classes; }; }); }();plugins/joomla/plugin.js000060400000012066152456730070011354 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var Joomla = window.Joomla || null, each = tinymce.each, DOM = tinymce.DOM; tinymce.PluginManager.add("joomla", function(ed, url) { this.createControl = function(n, cm) { var plugins, ctrl; return "joomla" === n && ((n = ed.settings.joomla_xtd_buttons || {})[ed.id] || n.__jce__ || n.ckeditor) && (plugins = n[ed.id] || n.__jce__ || n.ckeditor || []).length ? (ctrl = cm.createSplitButton("joomla", { title: "joomla.buttons", icon: "joomla" }), function(ed) { var ckModal = DOM.select('.modal[id^="ckeditor_"][id$="_modal"]'); each(ckModal, function(modal) { var newModal = modal.cloneNode(!0), id = newModal.id, url = newModal.getAttribute("data-url"), ifr = newModal.getAttribute("data-iframe"), ifr = (url && id && (id = id.replace("ckeditor_", ed.id + "_"), url = url.replace(/=ckeditor\b/g, "=" + ed.id)), DOM.create("div", {}, DOM.decode(ifr))), iframe = ifr.firstChild; iframe && iframe.setAttribute("src", url), newModal.setAttribute("id", id), newModal.setAttribute("data-url", url), newModal.setAttribute("data-iframe", ifr.innerHTML), newModal.innerHTML = newModal.innerHTML.replace(/'ckeditor'/g, `'${ed.id}'`), document.body.appendChild(newModal), Joomla.initialiseModal(newModal), DOM.remove(modal); }); }(ed), ctrl.onRenderMenu.add(function(ctrl, menu) { var ed = ctrl.editor, vp = ed.dom.getViewPort(), jModalCloseCore = (each(plugins, function(plg, name) { var href = (href = plg.href || "") && (href = (href = ed.dom.decode(href)).replace(/(__jce__|ckeditor)/gi, ed.id)).replace(/(e_name|editor)=([\w_]+)/gi, "$1=" + ed.id), item = (plg.id = plg.id.replace(/(__jce__|ckeditor)/gi, ed.id), menu.add({ id: ed.dom.uniqueId(), title: plg.title, icon: plg.icon, svg: plg.svg || "", onclick: function(e) { var buttons = [ { id: "cancel", title: ed.getLang("cancel", "Cancel") } ]; if (ed.lastSelectionBookmark = ed.selection.getBookmark(1), href) { plg.options && plg.options.confirmCallback && buttons.unshift({ id: "confirm", title: plg.options.confirmText || ed.getLang("insert", "Insert"), classes: "primary", onsubmit: function(e) { new Function(plg.options.confirmCallback).apply(); } }); var modal = DOM.get(plg.id + "_modal"); if (modal) modal.open(); else if (plg.action) try { ed.editorXtdButtons(plg); } catch (e) { console.log("This option is not supported"); } else ed.windowManager.open({ file: href, title: plg.title, width: Math.max(vp.w - 40, 896), height: Math.max(vp.h - 40, 707), size: "mce-modal-landscape-full", addver: !1, buttons: buttons }), Joomla && Joomla.Modal && Joomla.Modal.setCurrent(ed.windowManager); } return plg.onclick && new Function(plg.onclick).apply(), item.setSelected(!1), !1; } })); }), function() {}), SBoxClose = (window.jModalClose && (jModalCloseCore = window.jModalClose), window.jModalClose = function() { var wm = ed.windowManager; return wm.count ? wm.close() : jModalCloseCore(); }, function() {}); window.SqueezeBox ? SBoxClose = window.SqueezeBox.close : window.SqueezeBox = {}, window.SqueezeBox.close = function() { var wm = ed.windowManager; return wm.count ? wm.close() : SBoxClose(); }; }), ed.onRemove.add(function() { ctrl.destroy(); }), ctrl) : null; }; }); }();plugins/spellchecker/plugin.js000060400000030350152456730070012533 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, DOM = tinymce.DOM, counter = 0; tinymce.PluginManager.add("spellchecker", function(ed, url) { var self = this, languages = (self.menu = null, self.native_spellchecker = "browser" == ed.getParam("spellchecker_engine", "browser"), self.native_spellchecker && ed.getParam("spellchecker_suggestions", !0) && ed.onContextMenu.addToTop(function(ed, e) { if (self.active) return !1; }), ed.addCommand("mceSpellCheck", function() { self.native_spellchecker ? (ed.getBody().spellcheck = self.active = !self.active, ed.focus()) : self.active ? done() : (ed.setProgressState(1), sendRPC("checkWords", [ self.selectedLang, function() { var wl = [], tx = "", lo = {}, rawWords = []; walk(ed.getBody(), function(n) { 3 == n.nodeType && (tx += n.nodeValue + " "); }), rawWords = ed.getParam("spellchecker_word_pattern") ? tx.match("(" + ed.getParam("spellchecker_word_pattern") + ")", "gi") : (tx = tx.replace(new RegExp("([0-9]|[" + getSeparators() + "])", "g"), " "), tx = tinymce.trim(tx.replace(/(\s+)/g, " ")), tx.split(" ")); return each(rawWords, function(v) { lo[v] || (wl.push(v), lo[v] = 1); }), wl; }() ], function(r) { 0 < r.length ? (self.active = 1, function(wl) { var dom = ed.dom, doc = ed.getDoc(), se = ed.selection, r = se.getRng(!0), nl = [], wl = wl.join("|"), re = getSeparators(), rx = new RegExp("(^|[" + re + "])(" + wl + ")(?=[" + re + "]|$)", "g"); walk(ed.getBody(), function(n) { 3 == n.nodeType && nl.push(n); }), each(nl, function(n) { var node, elem, txt, pos, v = n.nodeValue; if (rx.lastIndex = 0, rx.test(v)) { if (v = dom.encode(v), elem = dom.create("span", { class: "mce-item-hidden" }), tinymce.isIE) { for (v = v.replace(rx, "$1$2"); -1 != (pos = v.indexOf("")); ) (txt = v.substring(0, pos)).length && (node = doc.createTextNode(dom.decode(txt)), elem.appendChild(node)), pos = (v = v.substring(pos + 10)).indexOf(""), txt = v.substring(0, pos), v = v.substring(pos + 11), elem.appendChild(dom.create("span", { class: "mce-item-hiddenspellword" }, txt)); v.length && (node = doc.createTextNode(dom.decode(v)), elem.appendChild(node)); } else elem.innerHTML = v.replace(rx, '$1$2'); dom.replace(elem, n); } }), se.setRng(r); }(r), ed.setProgressState(0), ed.nodeChanged()) : (ed.setProgressState(0), ed.getParam("spellchecker_report_no_misspellings", !0) && ed.windowManager.alert("spellchecker.no_mpell")); })); }), ed.onNodeChange.add(function(ed, cm) { cm.setActive("spellchecker", !!self.active); }), self.native_spellchecker || (ed.getParam("spellchecker_suggestions", !0) && (ed.onClick.add(showMenu, self), ed.onContextMenu.add(showMenu, self)), ed.onBeforeGetContent.add(function() { self.active && removeWords(); }), ed.onNodeChange.add(function(ed, cm) { cm.setActive("spellchecker", !!self.active); }), ed.onSetContent.add(function() { done(); }), ed.onBeforeGetContent.add(function() { done(); }), ed.onBeforeExecCommand.add(function(ed, cmd) { "mceFullScreen" == cmd && done(); })), {}); function updateMenu(mi) { mi.setSelected(1), this.selectedItem.setSelected(0), this.selectedItem = mi; } function walk(n, f) { var w, d = ed.getDoc(); if (d.createTreeWalker) for (w = d.createTreeWalker(n, NodeFilter.SHOW_TEXT, null, !1); null != (n = w.nextNode()); ) f.call(this, n); else tinymce.walk(n, f, "childNodes"); } function getSeparators() { for (var re = "", str = ed.getParam("spellchecker_word_separator_chars", '\\s!"#$%&()*+,-./:;<=>?@[]^_{|}\xdf\xa9\xb4\xc6\xb1\u2202\u2211\u220f\xaa\xba\u03a9\xe6\xf8\u25ca\u02dc\xa7\u201d\u201c'), i = 0; i < str.length; i++) re += "\\" + str.charAt(i); return re; } function removeWords(w) { var dom = ed.dom, se = ed.selection, r = se.getRng(!0); each(dom.select("span").reverse(), function(n) { !n || !dom.hasClass(n, "mce-item-hiddenspellword") && !dom.hasClass(n, "mce-item-hidden") || w && dom.decode(n.innerHTML) != w || dom.remove(n, 1); }), se.setRng(r); } function showMenu(ed, e) { var p1, m = self.menu, dom = ed.dom, vp = dom.getViewPort(ed.getWin()), wordSpan = e.target; if (e = 0, m || (m = ed.controlManager.createDropMenu("spellcheckermenu", { keyboard_focus: !0 }), self.menu = m), dom.hasClass(wordSpan, "mce-item-hiddenspellword")) return m.removeAll(), m.add({ title: "spellchecker.wait", class: "mceMenuItemTitle" }).setDisabled(1), sendRPC("getSuggestions", [ self.selectedLang, dom.decode(wordSpan.innerHTML) ], function(r) { var ignoreRpc; m.removeAll(), 0 < r.length ? (m.add({ title: "spellchecker.sug", class: "mceMenuItemTitle" }).setDisabled(1), each(r, function(v) { m.add({ title: v, onclick: function() { dom.replace(ed.getDoc().createTextNode(v), wordSpan), checkDone(); } }); })) : m.add({ title: "spellchecker.no_sug", class: "mceMenuItemTitle" }).setDisabled(1), ed.getParam("show_ignore_words", !0) && (m.addSeparator(), ignoreRpc = ed.getParam("spellchecker_enable_ignore_rpc", ""), m.add({ title: "spellchecker.ignore_word", onclick: function() { var word = wordSpan.innerHTML; dom.remove(wordSpan, 1), checkDone(), ignoreRpc && (ed.setProgressState(1), sendRPC("ignoreWord", [ self.selectedLang, word ], function(r) { ed.setProgressState(0); })); } }), m.add({ title: "spellchecker.ignore_words", onclick: function() { var word = wordSpan.innerHTML; removeWords(dom.decode(word)), checkDone(), ignoreRpc && (ed.setProgressState(1), sendRPC("ignoreWords", [ self.selectedLang, word ], function(r) { ed.setProgressState(0); })); } })), ed.getParam("spellchecker_enable_learn_rpc") && m.add({ title: "spellchecker.learn_word", onclick: function() { var word = wordSpan.innerHTML; dom.remove(wordSpan, 1), checkDone(), ed.setProgressState(1), sendRPC("learnWord", [ self.selectedLang, word ], function(r) { ed.setProgressState(0); }); } }), m.update(); }), p1 = DOM.getPos(ed.getContentAreaContainer()), m.settings.offset_x = p1.x, m.settings.offset_y = p1.y, ed.selection.select(wordSpan), p1 = dom.getPos(wordSpan), m.showMenu(p1.x, p1.y + wordSpan.offsetHeight - vp.y), tinymce.dom.Event.cancel(e); m.hideMenu(); } function checkDone() { var o, dom = ed.dom; each(dom.select("span"), function(n) { if (n && dom.hasClass(n, "mce-item-hiddenspellword")) return !(o = !0); }), o || done(); } function done() { var la = this.active; this.active && (removeWords(), this.menu && this.menu.hideMenu(), la && ed.nodeChanged(), this.active = !1); } function sendRPC(m, p, cb) { m = { id: function() { for (var guid = new Date().getTime().toString(32), i = 0; i < 5; i++) guid += Math.floor(65535 * Math.random()).toString(32); return "wf_" + guid + (counter++).toString(32); }(), method: m, params: p }; tinymce.util.XHR.send({ url: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.rpc&plugin=spellchecker&" + ed.settings.query, data: "json=" + JSON.stringify(m), content_type: "application/x-www-form-urlencoded", success: function(o) { var c, e; try { c = JSON.parse(o); } catch (e) { c = { error: "JSON Parse error" }; } !c || c.error ? (ed.setProgressState(0), e = c.error || "JSON Parse error", ed.windowManager.alert(e.errstr || "Error response: " + e)) : cb.call(self, c.result || ""); }, error: function(x) { ed.setProgressState(0), ed.windowManager.alert("Error response: " + x); } }); } each(ed.getParam("spellchecker_languages", "+English=en,Danish=da,Dutch=nl,Finnish=fi,French=fr,German=de,Italian=it,Polish=pl,Portuguese=pt,Spanish=es,Swedish=sv", "hash"), function(v, k) { 0 === k.indexOf("+") && (k = k.substring(1), self.selectedLang = v), languages[k] = v; }), ed.onInit.add(function() { self.native_spellchecker && ed.getParam("spellchecker_browser_state", 0) && (ed.getBody().spellcheck = self.active = !self.active); }), this.createControl = function(n, cm) { var self = this; if ("spellchecker" == n) return self.native_spellchecker ? cm.createButton(n, { title: "spellchecker.desc", cmd: "mceSpellCheck", scope: self }) : ((cm = cm.createSplitButton(n, { title: "spellchecker.desc", cmd: "mceSpellCheck", scope: self })).onRenderMenu.add(function(c, m) { m.add({ title: "spellchecker.langs", class: "mceMenuItemTitle" }).setDisabled(1), self.menuItems = {}, each(languages, function(v, k) { var mi, o = { onclick: function() { v != self.selectedLang && (updateMenu(mi), self.selectedLang = v); } }; o.title = k, (mi = m.add(o)).setSelected(v == self.selectedLang), self.menuItems[v] = mi, v == self.selectedLang && (self.selectedItem = mi); }); }), cm); }, this.setLanguage = function(lang) { if (lang != this.selectedLang) { if (0 === tinymce.grep(this.languages, function(v) { return v === lang; }).length) throw "Unknown language: " + lang; this.selectedLang = lang, this.menuItems && updateMenu(this.menuItems[lang]), this.active && done(); } }; }); }();plugins/spellchecker/img/wline.gif000060400000000056152456730070013260 0ustar00GIF89a**!,Df;plugins/browser/plugin.js000060400000001475152456730070011560 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("browser", function(ed, url) { var self = this; ed.addCommand("mceFileBrowser", function(ui, args, win) { self.open(args, win); }), this.open = function(args, win) { return args = args || {}, ed.windowManager.open({ file: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=browser" + (args.caller ? "." + args.caller : "") + (args.filter ? "&filter=" + args.filter : ""), close_previous: "no", size: "mce-modal-landscape-full" }, args), !1; }; });plugins/browser/css/browser.min.css000060400000000260152456730070013462 0ustar00.ui-browser{left:0;right:0}.ui-modal-footer{border:1px solid #ddd}.ui-inline-help .ui-modal-dialog{top:0;height:100%}.ui-inline-help iframe{height:calc(100% - 41px);width:100%}plugins/browser/js/popup.min.js000060400000002211152456730070012610 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ var tinyMCE = window.tinymce || window.parent.tinymce, tinyMCEPopup = { getParam: function(n, dv) { return this.editor.getParam(n, dv); }, getLang: function(n, dv) { return this.editor.getLang(n, dv); }, getWindowArg: function(n, dv) { n = this.editor.windowManager.params[n]; return void 0 !== n ? n : dv; }, close: function() { return this.editor.windowManager.close(); } }; tinyMCEPopup.editor = tinyMCE, jQuery(document).ready(function($) { var el, win = window.parent, s = tinyMCEPopup.editor.settings; s.element && (el = win.document.getElementById(s.element)) && (tinyMCEPopup.editor.windowManager.params.value = el.value), s.callback && "function" == typeof (win = win[s.callback]) && (tinyMCEPopup.editor.windowManager.params.callback = win), el || s.callback || s.element || $("#cancel, #insert").hide(); });plugins/browser/js/browser.js000060400000003576152456730070012365 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function($) { function insert() { var win = tinyMCEPopup.getWindowArg("window"), callback = tinyMCEPopup.getWindowArg("callback"); if (!callback) return tinyMCEPopup.close(); $("[data-filebrowser]").trigger("filebrowser:insert", function(selected, data) { data.length || (data = [ { title: "", url: "" } ]), "string" == typeof callback && (selectFile(data[0]), win.document.getElementById(callback).value = $("[data-filebrowser]").val()), "function" == typeof callback && callback(selected, data), tinyMCEPopup.close(); }); } function selectFile(file) { file = (file = file.url || "").replace(/^\//, ""); $("[data-filebrowser]").val(file); } $(document).ready(function() { $("#insert").on("click", function(e) { e.preventDefault(), insert(); }), $("#cancel").on("click", function(e) { e.preventDefault(), tinyMCEPopup.close(); }); var ed = tinyMCEPopup.editor, src = tinyMCEPopup.getWindowArg("value"); Wf.init(), src && -1 != src.indexOf("#joomlaImage") && (src = src.substring(0, src.indexOf("#"))), (src = /(:\/\/|www|index.php(.*)\?option)/gi.test(src) ? "" : src) && (src = ed.convertURL(src), $(".uk-button-text", "#insert").text(tinyMCEPopup.getLang("update", "Update", !0))), $("[data-filebrowser]").val(src).filebrowser().on("filebrowser:onfileclick", function(e, file, data) { selectFile(data); }).on("filebrowser:onfileinsert", function(e, file, data) { insert(); }); }); }(jQuery);plugins/nonbreaking/plugin.js000060400000001731152456730070012365 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("nonbreaking", function(ed, url) { ed.addCommand("mceNonBreaking", function() { ed.execCommand("mceInsertContent", !1, ed.plugins.visualchars && ed.plugins.visualchars.state ? ' ' : " "); }), ed.addButton("nonbreaking", { title: "nonbreaking.desc", cmd: "mceNonBreaking" }), ed.getParam("nonbreaking_force_tab") && ed.onKeyDown.add(function(ed, e) { 9 == e.keyCode && (e.preventDefault(), ed.execCommand("mceNonBreaking"), ed.execCommand("mceNonBreaking"), ed.execCommand("mceNonBreaking")); }), ed.addShortcut("ctrl+shift+32", "nonbreaking.desc", "mceNonBreaking"); });plugins/figure/plugin.js000060400000014246152456730070011356 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var VK = tinymce.VK, Node = tinymce.html.Node, each = tinymce.each, blocks = []; tinymce.PluginManager.add("figure", function(ed, url) { ed.onPreInit.add(function(ed) { function setClipboardData(ed, e) { var node, content, clipboardData = e.clipboardData; clipboardData && (node = ed.dom.getParent(ed.selection.getNode(), "figure")) && (ed.selection.select(node), content = { html: content = ed.selection.getContent({ contextual: !0 }), text: content.toString() }, clipboardData.clearData(), clipboardData.setData("text/html", content.html), clipboardData.setData("text/plain", content.text), "cut" == e.type) && ed.dom.remove(node); } ed.parser.addNodeFilter("figure", function(nodes, name) { for (var figcaption, node, i = nodes.length; i--; ) 0 === (node = nodes[i]).getAll("figcaption").length && ((figcaption = new Node("figcaption", 1)).attr("data-mce-empty", ed.getLang("figcaption.default", "Write a caption...")), figcaption.attr("contenteditable", !0), node.append(figcaption)), node.attr("data-mce-image", "1"), node.attr("contenteditable", "false"), each(node.getAll("img"), function(img) { img.attr("data-mce-contenteditable", "true"); }), !1 !== ed.settings.figure_data_attribute && node.attr("data-wf-figure", "1"); }), ed.parser.addNodeFilter("figcaption", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).firstChild || node.attr("data-mce-empty", ed.getLang("figcaption.default", "Write a caption...")), node.attr("contenteditable", "true"); }), ed.serializer.addNodeFilter("figure", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).attr("contenteditable", null), each(node.getAll("img"), function(img) { img.attr("data-mce-contenteditable", null); }); }), ed.serializer.addNodeFilter("figcaption", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).firstChild ? node.attr("contenteditable", null) : node.remove(); }), ed.serializer.addAttributeFilter("data-mce-image", function(nodes, name) { for (var i = nodes.length; i--; ) nodes[i].attr(name, null); }), each(ed.schema.getBlockElements(), function(v, k) { if (/\W/.test(k)) return !0; blocks.push(k.toLowerCase()); }), ed.formatter.register("figure", { block: "figure", remove: "all", ceFalseOverride: !0, deep: !1, onformat: function(elm, fmt, vars, node) { vars = vars || {}, ed.dom.select("img,video,iframe", elm) && (ed.dom.setAttribs(elm, { "data-mce-image": 1, contenteditable: !1 }), ed.dom.setAttrib(ed.dom.select("img", elm), "data-mce-contenteditable", "true"), ed.dom.add(elm, "figcaption", { "data-mce-empty": ed.getLang("figcaption.default", "Write a caption..."), contenteditable: !0 }, vars.caption || ""), !1 !== ed.settings.figure_data_attribute) && ed.dom.setAttribs(elm, { "data-wf-figure": "1" }); }, onremove: function(node) { ed.dom.remove(ed.dom.select("figcaption", node)), ed.dom.remove(ed.dom.getParent("figure", node), 1); } }), ed.onBeforeExecCommand.add(function(ed, cmd, ui, v, o) { var parent, se = ed.selection, n = se.getNode(); switch (cmd) { case "JustifyRight": case "JustifyLeft": case "JustifyCenter": n && ed.dom.is(n, "img,span[data-mce-object]") && (parent = ed.dom.getParent(n, "FIGURE")) && (se.select(parent), ed.execCommand(cmd, !1), o.terminate = !0); } }), ed.onClick.add(function(ed, e) { "IMG" === e.target.nodeName && VK.metaKeyPressed(e) && (e = ed.dom.getParent(e.target, "figure")) && (ed.selection.select(e), ed.nodeChanged()); }), ed.onNodeChange.add(function(ed, cm, n) { "FIGURE" !== n.nodeName && ed.dom.removeAttrib(ed.dom.select("figure"), "data-mce-selected"); }), ed.onCopy.add(setClipboardData), ed.onCut.add(setClipboardData), ed.onKeyDown.add(function(ed, e) { var container, offset, isDelete = e.keyCode == VK.DELETE; if (!e.isDefaultPrevented() && (isDelete || e.keyCode == VK.BACKSPACE) && !VK.modifierPressed(e) && (container = (isDelete = ed.selection.getRng()).startContainer, offset = isDelete.startOffset, isDelete = isDelete.collapsed, container = ed.dom.getParent(container, "FIGURE"))) { var node = ed.selection.getNode(); if ("IMG" === node.nodeName) ed.dom.remove(container), ed.nodeChanged(), e.preventDefault(); else if ("FIGCAPTION" != node.nodeName || node.nodeValue && 0 !== node.nodeValue.length || 0 !== node.childNodes.length || e.preventDefault(), 3 === node.nodeType && !isDelete && !offset) { var figcaption = ed.dom.getParent(node, "FIGCAPTION"); if (figcaption) { for (;figcaption.firstChild; ) figcaption.removeChild(figcaption.firstChild); e.preventDefault(); } } } }); }); }); }();plugins/style/css/style.css000060400000000000152456730070012022 0ustar00plugins/style/js/style.js000060400000103441152456730070011507 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function(tinymce, tinyMCEPopup, $) { function selectByValue(field_name, value, add_custom, ignore_case) { value = value || ""; var sel = document.getElementById(field_name); if (sel) { sel.list && (sel.value = value, sel = sel.list); for (var option, found = !1, i = 0; i < sel.options.length; i++) (option = sel.options[i]).value == value || ignore_case && option.value.toLowerCase() == value.toLowerCase() ? found = option.selected = !0 : option.selected = !1; !found && add_custom && "" != value && ((option = new Option(value, value)).selected = !0, sel.appendChild(option), sel.selectedIndex = sel.options.length - 1); } } function addSelectValue(field_name, name, value) { field_name = (field_name = document.getElementById(field_name)).list || field_name, name = new Option(name, value); field_name.appendChild(name); } function getColor(n) { n = $(n).val(); return -1 !== n.indexOf("#") ? n : "#" + n; } var StyleDialog = { settings: {}, defaults: { Fonts: "Arial, Helvetica, sans-serif=Arial, Helvetica, sans-serif;Times New Roman, Times, serif=Times New Roman, Times, serif;Courier New, Courier, mono=Courier New, Courier, mono;Times New Roman, Times, serif=Times New Roman, Times, serif;Georgia, Times New Roman, Times, serif=Georgia, Times New Roman, Times, serif;Verdana, Arial, Helvetica, sans-serif=Verdana, Arial, Helvetica, sans-serif;Geneva, Arial, Helvetica, sans-serif=Geneva, Arial, Helvetica, sans-serif", Sizes: "9;10;12;14;16;18;24;xx-small;x-small;small;medium;large;x-large;xx-large;smaller;larger", Measurement: "+pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%", SpacingMeasurement: "pixels=px;points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;+ems=em;exs=ex;%", IndentMeasurement: "pixels=px;+points=pt;inches=in;centimetres=cm;millimetres=mm;picas=pc;ems=em;exs=ex;%", Weight: "normal;bold;bolder;lighter;100;200;300;400;500;600;700;800;900", TextStyle: "normal;italic;oblique", Variant: "normal;small-caps", LineHeight: "normal", Attachment: "fixed;scroll", Repeat: "no-repeat;repeat;repeat-x;repeat-y", PosH: "left;center;right", PosV: "top;center;bottom", VAlign: "baseline;sub;super;top;text-top;middle;bottom;text-bottom", Display: "inline;block;list-item;run-in;compact;marker;table;inline-table;table-row-group;table-header-group;table-footer-group;table-row;table-column-group;table-column;table-cell;table-caption;none", BorderStyle: "none;solid;dashed;dotted;double;groove;ridge;inset;outset", BorderWidth: "thin;medium;thick", ListType: "disc;circle;square;decimal;lower-roman;upper-roman;lower-alpha;upper-alpha;none" }, aggregateStyles: function(allStyles) { var mergedStyles = {}; return tinymce.each(allStyles, function(style) { if ("" !== style) { var name, parsedStyles = tinyMCEPopup.editor.dom.parseStyle(style); for (name in parsedStyles) parsedStyles.hasOwnProperty(name) && (void 0 === mergedStyles[name] ? mergedStyles[name] = parsedStyles[name] : "text-decoration" === name && -1 === mergedStyles[name].indexOf(parsedStyles[name]) && (mergedStyles[name] = mergedStyles[name] + " " + parsedStyles[name])); } }), mergedStyles; }, init: function() { var self = this, ed = tinyMCEPopup.editor, ce = document.getElementById("container"); this.settings.file_browser || $(".browser").removeClass("browser"), this.existingStyles = this.aggregateStyles(tinyMCEPopup.getWindowArg("styles")), ce.style.cssText = ed.dom.serializeStyle(this.existingStyles), this.applyActionIsInsert = ed.getParam("edit_css_style_insert_span", !1), $("#insert").on("click", function(e) { e.preventDefault(), self.updateAction(); }), $("#apply").on("click", function(e) { e.preventDefault(), self.applyAction(); }), $("#toggle_insert_span").prop("checked", this.applyActionIsInsert), this.fillSelect("text_font", "style_font", ed.getParam("theme_fonts", this.defaults.Fonts), ";", !0), this.fillSelect("text_size", "style_font_size", this.defaults.Sizes, ";", !0), this.fillSelect("text_size_measurement", "style_font_size_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("text_case", "style_text_case", "capitalize;uppercase;lowercase", ";", !0), this.fillSelect("text_weight", "style_font_weight", this.defaults.Weight, ";", !0), this.fillSelect("text_style", "style_font_style", this.defaults.TextStyle, ";", !0), this.fillSelect("text_variant", "style_font_variant", this.defaults.Variant, ";", !0), this.fillSelect("text_lineheight", "style_font_line_height", this.defaults.LineHeight, ";", !0), this.fillSelect("text_lineheight_measurement", "style_font_line_height_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("background_attachment", "style_background_attachment", this.defaults.Attachment, ";", !0), this.fillSelect("background_repeat", "style_background_repeat", this.defaults.Repeat, ";", !0), this.fillSelect("background_hpos_measurement", "style_background_hpos_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("background_vpos_measurement", "style_background_vpos_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("background_hpos", "style_background_hpos", this.defaults.PosH, ";", !0), this.fillSelect("background_vpos", "style_background_vpos", this.defaults.PosV, ";", !0), this.fillSelect("block_wordspacing", "style_wordspacing", "normal", ";", !0), this.fillSelect("block_wordspacing_measurement", "style_wordspacing_measurement", this.defaults.SpacingMeasurement, ";", !0), this.fillSelect("block_letterspacing", "style_letterspacing", "normal", ";", !0), this.fillSelect("block_letterspacing_measurement", "style_letterspacing_measurement", this.defaults.SpacingMeasurement, ";", !0), this.fillSelect("block_vertical_alignment", "style_vertical_alignment", this.defaults.VAlign, ";", !0), this.fillSelect("block_text_align", "style_text_align", "left;right;center;justify", ";", !0), this.fillSelect("block_whitespace", "style_whitespace", "normal;pre;pre-wrap;pre-line;nowrap", ";", !0), this.fillSelect("block_display", "style_display", this.defaults.Display, ";", !0), this.fillSelect("block_text_indent_measurement", "style_text_indent_measurement", this.defaults.IndentMeasurement, ";", !0), this.fillSelect("box_width_measurement", "style_box_width_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_height_measurement", "style_box_height_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_float", "style_float", "left;right;none", ";", !0), this.fillSelect("box_clear", "style_clear", "left;right;both;none", ";", !0), this.fillSelect("box_padding_left_measurement", "style_padding_left_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_padding_top_measurement", "style_padding_top_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_padding_bottom_measurement", "style_padding_bottom_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_padding_right_measurement", "style_padding_right_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_margin_left_measurement", "style_margin_left_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_margin_top_measurement", "style_margin_top_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_margin_bottom_measurement", "style_margin_bottom_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("box_margin_right_measurement", "style_margin_right_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("border_style_top", "style_border_style_top", this.defaults.BorderStyle, ";", !0), this.fillSelect("border_style_right", "style_border_style_right", this.defaults.BorderStyle, ";", !0), this.fillSelect("border_style_bottom", "style_border_style_bottom", this.defaults.BorderStyle, ";", !0), this.fillSelect("border_style_left", "style_border_style_left", this.defaults.BorderStyle, ";", !0), this.fillSelect("border_width_top", "style_border_width_top", this.defaults.BorderWidth, ";", !0), this.fillSelect("border_width_right", "style_border_width_right", this.defaults.BorderWidth, ";", !0), this.fillSelect("border_width_bottom", "style_border_width_bottom", this.defaults.BorderWidth, ";", !0), this.fillSelect("border_width_left", "style_border_width_left", this.defaults.BorderWidth, ";", !0), this.fillSelect("border_width_top_measurement", "style_border_width_top_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("border_width_right_measurement", "style_border_width_right_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("border_width_bottom_measurement", "style_border_width_bottom_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("border_width_left_measurement", "style_border_width_left_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("list_type", "style_list_type", this.defaults.ListType, ";", !0), this.fillSelect("list_position", "style_list_position", "inside;outside", ";", !0), this.fillSelect("positioning_type", "style_positioning_type", "absolute;relative;static", ";", !0), this.fillSelect("positioning_visibility", "style_positioning_visibility", "inherit;visible;hidden", ";", !0), this.fillSelect("positioning_width_measurement", "style_positioning_width_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_height_measurement", "style_positioning_height_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_overflow", "style_positioning_overflow", "visible;hidden;scroll;auto", ";", !0), this.fillSelect("positioning_placement_top_measurement", "style_positioning_placement_top_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_placement_right_measurement", "style_positioning_placement_right_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_placement_bottom_measurement", "style_positioning_placement_bottom_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_placement_left_measurement", "style_positioning_placement_left_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_clip_top_measurement", "style_positioning_clip_top_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_clip_right_measurement", "style_positioning_clip_right_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_clip_bottom_measurement", "style_positioning_clip_bottom_measurement", this.defaults.Measurement, ";", !0), this.fillSelect("positioning_clip_left_measurement", "style_positioning_clip_left_measurement", this.defaults.Measurement, ";", !0), this.setupFormData(), this.showDisabledControls(), Wf.init(), $(".uk-form-controls select").datalist().trigger("datalist:update"), $(".uk-datalist").trigger("datalist:update"); }, setupFormData: function() { var v, ed = tinyMCEPopup.editor, ce = document.getElementById("container"); selectByValue("text_font", ce.style.fontFamily, !0, !0), selectByValue("text_size", this.getNum(ce.style.fontSize), !0, !0), selectByValue("text_size_measurement", this.getMeasurement(ce.style.fontSize)), selectByValue("text_weight", ce.style.fontWeight, !0, !0), selectByValue("text_style", ce.style.fontStyle, !0, !0), selectByValue("text_lineheight", this.getNum(ce.style.lineHeight), !0, !0), selectByValue("text_lineheight_measurement", this.getMeasurement(ce.style.lineHeight)), selectByValue("text_case", ce.style.textTransform, !0, !0), selectByValue("text_variant", ce.style.fontVariant, !0, !0), $("#text_color").val(ed.dom.toHex(ce.style.color)), $("#text_underline").prop("checked", this.inStr(ce.style.textDecoration, "underline")), $("#text_overline").prop("checked", this.inStr(ce.style.textDecoration, "overline")), $("#text_linethrough").prop("checked", this.inStr(ce.style.textDecoration, "line-through")), $("#text_blink").prop("checked", this.inStr(ce.style.textDecoration, "blink")), $("#text_none").prop("checked", this.inStr(ce.style.textDecoration, "none")), this.updateTextDecorations(), $("#background_color").val(ed.dom.toHex(ce.style.backgroundColor)), $("#background_image").val(ce.style.backgroundImage.replace(new RegExp("url\\('?([^']*)'?\\)", "gi"), function(a, b) { return ed.convertURL(b); })), selectByValue("background_repeat", ce.style.backgroundRepeat, !0, !0), selectByValue("background_attachment", ce.style.backgroundAttachment, !0, !0), selectByValue("background_hpos", this.getNum(this.getVal(ce.style.backgroundPosition, 0)), !0, !0), selectByValue("background_hpos_measurement", this.getMeasurement(this.getVal(ce.style.backgroundPosition, 0))), selectByValue("background_vpos", this.getNum(this.getVal(ce.style.backgroundPosition, 1)), !0, !0), selectByValue("background_vpos_measurement", this.getMeasurement(this.getVal(ce.style.backgroundPosition, 1))), selectByValue("block_wordspacing", this.getNum(ce.style.wordSpacing), !0, !0), selectByValue("block_wordspacing_measurement", this.getMeasurement(ce.style.wordSpacing)), selectByValue("block_letterspacing", this.getNum(ce.style.letterSpacing), !0, !0), selectByValue("block_letterspacing_measurement", this.getMeasurement(ce.style.letterSpacing)), selectByValue("block_vertical_alignment", ce.style.verticalAlign, !0, !0), selectByValue("block_text_align", ce.style.textAlign, !0, !0), $("#block_text_indent").val(this.getNum(ce.style.textIndent)), selectByValue("block_text_indent_measurement", this.getMeasurement(ce.style.textIndent)), selectByValue("block_whitespace", ce.style.whiteSpace, !0, !0), selectByValue("block_display", ce.style.display, !0, !0), $("#box_width").val(this.getNum(ce.style.width)), selectByValue("box_width_measurement", this.getMeasurement(ce.style.width)), $("#box_height").val(this.getNum(ce.style.height)), selectByValue("box_height_measurement", this.getMeasurement(ce.style.height)), selectByValue("box_float", ce.style.cssFloat || ce.style.styleFloat, !0, !0), selectByValue("box_clear", ce.style.clear, !0, !0), this.setupBox(ce, "box_padding", "padding", ""), this.setupBox(ce, "box_margin", "margin", ""), this.setupBox(ce, "border_style", "border", "Style"), this.setupBox(ce, "border_width", "border", "Width"), this.setupBox(ce, "border_color", "border", "Color"), $.each([ "top", "right", "bottom", "left" ], function(i, k) { $("#border_color_" + k).val(function() { return ed.dom.toHex(this.value); }); }), selectByValue("list_type", ce.style.listStyleType, !0, !0), selectByValue("list_position", ce.style.listStylePosition, !0, !0), $("#list_bullet_image").val(ce.style.listStyleImage.replace(new RegExp("url\\('?([^']*)'?\\)", "gi"), "$1")), selectByValue("positioning_type", ce.style.position, !0, !0), selectByValue("positioning_visibility", ce.style.visibility, !0, !0), selectByValue("positioning_overflow", ce.style.overflow, !0, !0), $("#positioning_zindex").val(ce.style.zIndex || ""), $("#positioning_width").val(this.getNum(ce.style.width)), selectByValue("positioning_width_measurement", this.getMeasurement(ce.style.width)), $("#positioning_height").val(this.getNum(ce.style.height)), selectByValue("positioning_height_measurement", this.getMeasurement(ce.style.height)), this.setupBox(ce, "positioning_placement", "", "", [ "top", "right", "bottom", "left" ]), ce = (ce = ce.style.clip.replace(new RegExp("rect\\('?([^']*)'?\\)", "gi"), "$1")).replace(/,/g, " "), this.hasEqualValues([ this.getVal(ce, 0), this.getVal(ce, 1), this.getVal(ce, 2), this.getVal(ce, 3) ]) ? ($("#positioning_clip_top").val(this.getNum(this.getVal(ce, 0))), selectByValue("positioning_clip_top_measurement", this.getMeasurement(this.getVal(ce, 0))), v = $("#positioning_clip_left").val(), $("#positioning_clip_right").val(v), $("#positioning_clip_bottom").val(v)) : ($("#positioning_clip_top").val(this.getNum(this.getVal(ce, 0))), selectByValue("positioning_clip_top_measurement", this.getMeasurement(this.getVal(ce, 0))), $("#positioning_clip_right").val(this.getNum(this.getVal(ce, 1))), selectByValue("positioning_clip_right_measurement", this.getMeasurement(this.getVal(ce, 1))), $("#positioning_clip_bottom").val(this.getNum(this.getVal(ce, 2))), selectByValue("positioning_clip_bottom_measurement", this.getMeasurement(this.getVal(ce, 2))), $("#positioning_clip_left").val(this.getNum(this.getVal(ce, 3))), selectByValue("positioning_clip_left_measurement", this.getMeasurement(this.getVal(ce, 3)))); }, getMeasurement: function(s) { return s.replace(/^([0-9.]+)(.*)$/, "$2"); }, getNum: function(s) { return new RegExp("^(?:[0-9.]+)(?:[a-z%]+)$", "gi").test(s) ? s.replace(/[^0-9.]/g, "") : s; }, inStr: function(s, n) { return new RegExp(n, "gi").test(s); }, getVal: function(s, i) { s = s.split(" "); return 1 < s.length ? s[i] : ""; }, setValue: function(n, v) { var el = document.getElementById(n); "select" == el.type ? selectByValue(n, v, !0, !0) : el.value = v; }, setProp: function(n, p, v) { n = document.getElementById(n); $(n).prop(p, v); }, setupBox: function(ce, fp, pr, sf, b) { this.isSame(ce, pr, sf, b = void 0 === b ? [ "Top", "Right", "Bottom", "Left" ] : b) ? (this.setProp(fp + "_same", "checked", !0), this.setValue(fp + "_top", this.getNum(ce.style[pr + b[0] + sf])), this.setProp(fp + "_top", "disabled", !1), this.setValue(fp + "_right", ""), this.setProp(fp + "_right", "disabled", !0), this.setValue(fp + "_bottom", ""), this.setProp(fp + "_bottom", "disabled", !0), this.setValue(fp + "_left", ""), this.setProp(fp + "_left", "disabled", !0), $("#" + fp + "_top_measurement").get(0) && (selectByValue(fp + "_top_measurement", this.getMeasurement(ce.style[pr + b[0] + sf])), this.setProp(fp + "_left_measurement", "disabled", !0), this.setProp(fp + "_bottom_measurement", "disabled", !0), this.setProp(fp + "_right_measurement", "disabled", !0))) : (this.setProp(fp + "_same", "checked", !1), this.setValue(fp + "_top", this.getNum(ce.style[pr + b[0] + sf])), this.setProp(fp + "_top", "disabled", !1), this.setValue(fp + "_right", this.getNum(ce.style[pr + b[1] + sf])), this.setProp(fp + "_right", "disabled", !1), this.setValue(fp + "_bottom", this.getNum(ce.style[pr + b[2] + sf])), this.setProp(fp + "_bottom", "disabled", !1), this.setValue(fp + "_left", this.getNum(ce.style[pr + b[3] + sf])), this.setProp(fp + "_left", "disabled", !1), $("#" + fp + "_top_measurement").get(0) && (selectByValue(fp + "_top_measurement", this.getMeasurement(ce.style[pr + b[0] + sf])), selectByValue(fp + "_right_measurement", this.getMeasurement(ce.style[pr + b[1] + sf])), selectByValue(fp + "_bottom_measurement", this.getMeasurement(ce.style[pr + b[2] + sf])), selectByValue(fp + "_left_measurement", this.getMeasurement(ce.style[pr + b[3] + sf])), this.setProp(fp + "_left_measurement", "disabled", !1), this.setProp(fp + "_bottom_measurement", "disabled", !1), this.setProp(fp + "_right_measurement", "disabled", !1))); }, isSame: function(e, pr, sf, b) { var i, x, a = []; for (a[0] = e.style[pr + (b = void 0 === b ? [ "Top", "Right", "Bottom", "Left" ] : b)[0] + (sf = void 0 !== sf && null != sf ? sf : "")], a[1] = e.style[pr + b[1] + sf], a[2] = e.style[pr + b[2] + sf], a[3] = e.style[pr + b[3] + sf], i = 0; i < a.length; i++) { if (null == a[i]) return !1; for (x = 0; x < a.length; x++) if (a[x] != a[i]) return !1; } return !0; }, hasEqualValues: function(a) { for (var x, i = 0; i < a.length; i++) { if (null == a[i]) return !1; for (x = 0; x < a.length; x++) if (a[x] != a[i]) return !1; } return !0; }, toggleApplyAction: function() { this.applyActionIsInsert = !this.applyActionIsInsert; }, applyAction: function() { var nodes, ce = document.getElementById("container"), ed = tinyMCEPopup.editor, ce = (this.generateCSS(), tinyMCEPopup.restoreSelection(), tinyMCEPopup.editor.dom.parseStyle(ce.style.cssText)); this.applyActionIsInsert ? (ed.formatter.register("plugin_style", { inline: "span", styles: this.existingStyles }), ed.formatter.remove("plugin_style"), ed.formatter.register("plugin_style", { inline: "span", styles: ce }), ed.formatter.apply("plugin_style")) : (nodes = tinyMCEPopup.getWindowArg("applyStyleToBlocks") ? ed.selection.getSelectedBlocks() : ed.selection.getNode(), ed.dom.setAttrib(nodes, "style", tinyMCEPopup.editor.dom.serializeStyle(ce))), ed.undoManager.add(), ed.nodeChanged(); }, updateAction: function() { this.applyAction(), tinyMCEPopup.close(); }, generateCSS: function() { var s, t, ce = document.getElementById("container"); ce.style.cssText = "", ce.style.fontFamily = $("#text_font").val(), ce.style.fontSize = $("#text_size").val() + (this.isNum($("#text_size").val()) ? $("#text_size_measurement").val() || "px" : ""), ce.style.fontStyle = $("#text_style").val(), ce.style.lineHeight = $("#text_lineheight").val() + (this.isNum($("#text_lineheight").val()) ? $("#text_lineheight_measurement").val() : ""), ce.style.textTransform = $("#text_case").val(), ce.style.fontWeight = $("#text_weight").val(), ce.style.fontVariant = $("#text_variant").val(), ce.style.color = getColor("#text_color"), s = "", s = 0 < (s = (s = (s = (s += $("#text_underline").prop("checked") ? " underline" : "") + ($("#text_overline").prop("checked") ? " overline" : "")) + ($("#text_linethrough").prop("checked") ? " line-through" : "")) + ($("#text_blink").prop("checked") ? " blink" : "")).length ? s.substring(1) : s, $("#text_none").prop("checked") && (s = "none"), ce.style.textDecoration = s, ce.style.backgroundColor = getColor("#background_color"), ce.style.backgroundImage = "" != $("#background_image").val() ? "url(" + $("#background_image").val() + ")" : "", ce.style.backgroundRepeat = $("#background_repeat").val(), ce.style.backgroundAttachment = $("#background_attachment").val(), "" != $("#background_hpos").val() && (s = "", s = (s += $("#background_hpos").val() + (this.isNum($("#background_hpos").val()) ? $("#background_hpos_measurement").val() : "") + " ") + ($("#background_vpos").val() + (this.isNum($("#background_vpos").val()) ? $("#background_vpos_measurement").val() : "")), ce.style.backgroundPosition = s), ce.style.wordSpacing = $("#block_wordspacing").val() + (this.isNum($("#block_wordspacing").val()) ? $("#block_wordspacing_measurement").val() : ""), ce.style.letterSpacing = $("#block_letterspacing").val() + (this.isNum($("#block_letterspacing").val()) ? $("#block_letterspacing_measurement").val() : ""), ce.style.verticalAlign = $("#block_vertical_alignment").val(), ce.style.textAlign = $("#block_text_align").val(), ce.style.textIndent = $("#block_text_indent").val() + (this.isNum($("#block_text_indent").val()) ? $("#block_text_indent_measurement").val() : ""), ce.style.whiteSpace = $("#block_whitespace").val(), ce.style.display = $("#block_display").val(), ce.style.width = $("#box_width").val() + (this.isNum($("#box_width").val()) ? $("#box_width_measurement").val() : ""), ce.style.height = $("#box_height").val() + (this.isNum($("#box_height").val()) ? $("#box_height_measurement").val() : ""), tinymce.isIE ? ce.style.styleFloat = $("#box_float").val() : ce.style.cssFloat = $("#box_float").val(), ce.style.clear = $("#box_clear").val(), $("#box_padding_same").prop("checked") ? ce.style.padding = $("#box_padding_top").val() + (this.isNum($("#box_padding_top").val()) ? $("#box_padding_top_measurement").val() : "") : (ce.style.paddingTop = $("#box_padding_top").val() + (this.isNum($("#box_padding_top").val()) ? $("#box_padding_top_measurement").val() : ""), ce.style.paddingRight = $("#box_padding_right").val() + (this.isNum($("#box_padding_right").val()) ? $("#box_padding_right_measurement").val() : ""), ce.style.paddingBottom = $("#box_padding_bottom").val() + (this.isNum($("#box_padding_bottom").val()) ? $("#box_padding_bottom_measurement").val() : ""), ce.style.paddingLeft = $("#box_padding_left").val() + (this.isNum($("#box_padding_left").val()) ? $("#box_padding_left_measurement").val() : "")), $("#box_margin_same").prop("checked") ? ce.style.margin = $("#box_margin_top").val() + (this.isNum($("#box_margin_top").val()) ? $("#box_margin_top_measurement").val() : "") : (ce.style.marginTop = $("#box_margin_top").val() + (this.isNum($("#box_margin_top").val()) ? $("#box_margin_top_measurement").val() : ""), ce.style.marginRight = $("#box_margin_right").val() + (this.isNum($("#box_margin_right").val()) ? $("#box_margin_right_measurement").val() : ""), ce.style.marginBottom = $("#box_margin_bottom").val() + (this.isNum($("#box_margin_bottom").val()) ? $("#box_margin_bottom_measurement").val() : ""), ce.style.marginLeft = $("#box_margin_left").val() + (this.isNum($("#box_margin_left").val()) ? $("#box_margin_left_measurement").val() : "")), $("#border_style_same").prop("checked") ? ce.style.borderStyle = $("#border_style_top").val() : (ce.style.borderTopStyle = $("#border_style_top").val(), ce.style.borderRightStyle = $("#border_style_right").val(), ce.style.borderBottomStyle = $("#border_style_bottom").val(), ce.style.borderLeftStyle = $("#border_style_left").val()), $("#border_width_same").prop("checked") ? ce.style.borderWidth = $("#border_width_top").val() + (this.isNum($("#border_width_top").val()) ? $("#border_width_top_measurement").val() : "") : (ce.style.borderTopWidth = $("#border_width_top").val() + (this.isNum($("#border_width_top").val()) ? $("#border_width_top_measurement").val() : ""), ce.style.borderRightWidth = $("#border_width_right").val() + (this.isNum($("#border_width_right").val()) ? $("#border_width_right_measurement").val() : ""), ce.style.borderBottomWidth = $("#border_width_bottom").val() + (this.isNum($("#border_width_bottom").val()) ? $("#border_width_bottom_measurement").val() : ""), ce.style.borderLeftWidth = $("#border_width_left").val() + (this.isNum($("#border_width_left").val()) ? $("#border_width_left_measurement").val() : "")), $("#border_color_same").prop("checked") ? ce.style.borderColor = getColor("#border_color_top") : (ce.style.borderTopColor = getColor("#border_color_top"), ce.style.borderRightColor = getColor("#border_color_right"), ce.style.borderBottomColor = getColor("#border_color_bottom"), ce.style.borderLeftColor = getColor("#border_color_left")), ce.style.listStyleType = $("#list_type").val(), ce.style.listStylePosition = $("#list_position").val(), ce.style.listStyleImage = "" != $("#list_bullet_image").val() ? "url(" + $("#list_bullet_image").val() + ")" : "", ce.style.position = $("#positioning_type").val(), ce.style.visibility = $("#positioning_visibility").val(), "" == ce.style.width && (ce.style.width = $("#positioning_width").val() + (this.isNum($("#positioning_width").val()) ? $("#positioning_width_measurement").val() : "")), "" == ce.style.height && (ce.style.height = $("#positioning_height").val() + (this.isNum($("#positioning_height").val()) ? $("#positioning_height_measurement").val() : "")), ce.style.zIndex = $("#positioning_zindex").val(), ce.style.overflow = $("#positioning_overflow").val(), $("#positioning_placement_same").prop("checked") ? (s = $("#positioning_placement_top").val() + (this.isNum($("#positioning_placement_top").val()) ? $("#positioning_placement_top_measurement").val() : ""), ce.style.top = s, ce.style.right = s, ce.style.bottom = s, ce.style.left = s) : (ce.style.top = $("#positioning_placement_top").val() + (this.isNum($("#positioning_placement_top").val()) ? $("#positioning_placement_top_measurement").val() : ""), ce.style.right = $("#positioning_placement_right").val() + (this.isNum($("#positioning_placement_right").val()) ? $("#positioning_placement_right_measurement").val() : ""), ce.style.bottom = $("#positioning_placement_bottom").val() + (this.isNum($("#positioning_placement_bottom").val()) ? $("#positioning_placement_bottom_measurement").val() : ""), ce.style.left = $("#positioning_placement_left").val() + (this.isNum($("#positioning_placement_left").val()) ? $("#positioning_placement_left_measurement").val() : "")), $("#positioning_clip_same").prop("checked") ? "rect(auto auto auto auto)" != (s = (s = (s = "rect(") + ((t = this.isNum($("#positioning_clip_top").val()) ? $("#positioning_clip_top").val() + $("#positioning_clip_top_measurement").val() : "auto") + " ") + (t + " ")) + (t + " ") + (t + ")")) && (ce.style.clip = s) : (s = "rect(", "rect(auto auto auto auto)" != (s = (s = (s = (s += (this.isNum($("#positioning_clip_top").val()) ? $("#positioning_clip_top").val() + $("#positioning_clip_top_measurement").val() : "auto") + " ") + ((this.isNum($("#positioning_clip_right").val()) ? $("#positioning_clip_right").val() + $("#positioning_clip_right_measurement").val() : "auto") + " ")) + ((this.isNum($("#positioning_clip_bottom").val()) ? $("#positioning_clip_bottom").val() + $("#positioning_clip_bottom_measurement").val() : "auto") + " ")) + (this.isNum($("#positioning_clip_left").val()) ? $("#positioning_clip_left").val() + $("#positioning_clip_left_measurement").val() : "auto") + ")") && (ce.style.clip = s)); }, isNum: function(s) { return new RegExp("[0-9]+", "g").test(s); }, showDisabledControls: function() {}, fillSelect: function(s, param, dval, sep, em) { var i, ar, p, se; for (sep = void 0 === sep ? ";" : sep, em && addSelectValue(s, "", ""), ar = tinyMCEPopup.getParam(param, dval).split(sep), i = 0; i < ar.length; i++) se = !1, "+" == ar[i].charAt(0) && (ar[i] = ar[i].substring(1), se = !0), 1 < (p = ar[i].split("=")).length ? (addSelectValue(s, p[0], p[1]), se && selectByValue(s, p[1])) : (addSelectValue(s, p[0], p[0]), se && selectByValue(s, p[0])); }, toggleSame: function(ce, pre) { ce = ce.checked; $("#" + pre + "_right, #" + pre + "_bottom, #" + pre + "_left").attr("disabled", ce).toggleClass("disabled", ce).trigger("change"), $("#" + pre + "_right_measurement, #" + pre + "_bottom_measurement, #" + pre + "_left_measurement").attr("disabled", ce).toggleClass("disabled", ce).trigger("change"); }, synch: function(fr, to) { $("#" + to).val($("#" + fr).val()), document.getElementById[fr + "_measurement"] && selectByValue(to + "_measurement", $("#" + fr + "_measurement").val()); }, updateTextDecorations: function() { var noneChecked = $("#text_none").is(":checked"); $("#text_underline, #text_overline, #text_linethrough, #text_blink").each(function() { $(this).prop("disabled", noneChecked), noneChecked && $(this).prop("checked", !1); }); } }; tinyMCEPopup.onInit.add(StyleDialog.init, StyleDialog), window.StyleDialog = StyleDialog; }(tinymce, tinyMCEPopup, jQuery);plugins/style/plugin.js000060400000002775152456730070011241 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("style", function(ed, url) { function isRootNode(node) { return node == ed.dom.getRoot(); } window.matchMedia("(max-width: 600px)").matches || (ed.addCommand("mceStyleProps", function() { var applyStyleToBlocks = !1, blocks = ed.selection.getSelectedBlocks(), styles = []; 1 === blocks.length ? styles.push(ed.selection.getNode().style.cssText) : (tinymce.each(blocks, function(block) { styles.push(ed.dom.getAttrib(block, "style")); }), applyStyleToBlocks = !0), ed.windowManager.open({ file: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=style", size: "mce-modal-landscape-xxlarge" }, { applyStyleToBlocks: applyStyleToBlocks, plugin_url: url, styles: styles }); }), ed.addCommand("mceSetElementStyle", function(ui, v) { var node = ed.selection.getNode(); node && (ed.dom.setAttrib(node, "style", v), ed.execCommand("mceRepaint")); }), ed.onNodeChange.add(function(ed, cm, n) { cm.setDisabled("style", isRootNode(n) || n.hasAttribute("data-mce-bogus")); }), ed.addButton("style", { title: "style.desc", cmd: "mceStyleProps" })); });plugins/upload/plugin.js000060400000034377152456730070011370 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, JSON = tinymce.util.JSON, RangeUtils = tinymce.dom.RangeUtils, Uuid = tinymce.util.Uuid, Env = tinymce.util.Env; tinymce.PluginManager.add("upload", function(ed, url) { var plugins = [], files = []; ed.onPreInit.add(function() { function bindUploadEvents(ed) { each(ed.dom.select(".mce-item-upload-marker", ed.getBody()), function(n) { 0 == plugins.length ? ed.dom.remove(n) : bindUploadMarkerEvents(n); }); } each(ed.plugins, function(plg, name) { var data; tinymce.is(plg.getUploadConfig, "function") && (data = plg.getUploadConfig()).inline && data.filetypes && plugins.push(plg); }), ed.onBeforeSetContent.add(function(ed, o) { o.content = o.content.replace(/<\/media>/g, " "); }), ed.onPostProcess.add(function(ed, o) { o.content = o.content.replace(/( |\u00a0)<\/media>/g, ""); }), ed.schema.addValidElements("+media[type|width|height|class|style|title|*]"), ed.serializer.addAttributeFilter("data-mce-marker", function(nodes, name, args) { for (var i = nodes.length; i--; ) nodes[i].remove(); }), ed.parser.addNodeFilter("img,media", function(nodes) { for (var node, i = nodes.length; i--; ) !function(node) { if ("media" === node.name) return 1; if ("img" === node.name) { if (node.attr("data-mce-upload-marker")) return 1; node = node.attr("class"); if (node && -1 != node.indexOf("upload-placeholder")) return 1; } }(node = nodes[i]) || (0 == plugins.length ? node.remove() : function(node) { var src = node.attr("src") || "", style = {}, cls = []; node.attr("alt") || /data:image/.test(src) || (src = src.substring(src.length, src.lastIndexOf("/") + 1), node.attr("alt", src)); node.attr("style") && (style = ed.dom.styles.parse(node.attr("style"))); node.attr("hspace") && (style["margin-left"] = style["margin-right"] = node.attr("hspace")); node.attr("vspace") && (style["margin-top"] = style["margin-bottom"] = node.attr("vspace")); node.attr("align") && (style.float = node.attr("align")); node.attr("class") && (cls = node.attr("class").replace(/\s*upload-placeholder\s*/, "").split(" ")); cls.push("mce-item-upload"), cls.push("mce-item-upload-marker"), "media" === node.name && (node.name = "img", node.shortEnded = !0); node.attr({ src: Env.transparentSrc, class: tinymce.trim(cls.join(" ")) }); src = ed.dom.create("span", { style: style }); (cls = ed.dom.getAttrib(src, "style")) && node.attr({ style: cls, "data-mce-style": cls }); }(node)); }), ed.serializer.addNodeFilter("img", function(nodes) { for (var node, cls, i = nodes.length; i--; ) (cls = (node = nodes[i]).attr("class")) && /mce-item-upload-marker/.test(cls) && (cls = cls.replace(/(?:^|\s)(mce-item-)(?!)(upload|upload-marker|upload-placeholder)(?!\S)/g, ""), node.attr({ "data-mce-src": "", src: "", class: tinymce.trim(cls) }), node.name = "media", node.shortEnded = !1, node.attr("alt", null), node.attr("data-mce-upload-marker", null)); }), ed.onSetContent.add(function() { bindUploadEvents(ed); }), ed.onFullScreen && ed.onFullScreen.add(function(editor) { bindUploadEvents(editor); }); }), ed.onInit.add(function() { function cancelEvent(e) { e.preventDefault(), e.stopPropagation(); } 0 == plugins.length ? (ed.dom.bind(ed.getBody(), "dragover", function(e) { var dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && dataTransfer.files.length && e.preventDefault(); }), ed.dom.bind(ed.getBody(), "drop", function(e) { var dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && dataTransfer.files.length && e.preventDefault(); })) : (ed.theme && ed.theme.onResolveName && ed.theme.onResolveName.add(function(theme, o) { var n = o.node; n && "IMG" === n.nodeName && /mce-item-upload/.test(n.className) && (o.name = "placeholder"); }), ed.dom.bind(ed.getBody(), "dragover", function(e) { e.dataTransfer.dropEffect = tinymce.VK.metaKeyPressed(e) ? "copy" : "move"; }), ed.dom.bind(ed.getBody(), "drop", function(e) { var rng, dataTransfer = e.dataTransfer; dataTransfer && dataTransfer.files && dataTransfer.files.length && (each(dataTransfer.files, function(file) { rng || (rng = RangeUtils.getCaretRangeFromPoint(e.clientX, e.clientY, ed.getDoc())) && ed.selection.setRng(rng), addFile(file); }), cancelEvent(e)), files.length && each(files, function(file) { uploadFile(file); }), tinymce.isGecko && "IMG" == e.target.nodeName && cancelEvent(e); })); }); var noop = function() {}; function uploadHandler(file, success, failure, progress) { success = success || noop, failure = failure || noop, progress = progress || noop; var xhr, formData, args = { method: "upload", id: Uuid.uuid("wf_"), inline: 1, name: file.filename }, url = file.upload_url; url += "&" + ed.settings.query, (xhr = new XMLHttpRequest()).open("POST", url), xhr.upload.onprogress = function(e) { progress(e.loaded / e.total * 100); }, xhr.onerror = function() { failure("Image upload failed due to a XHR Transport error. Code: " + xhr.status); }, xhr.onload = function() { var json; xhr.status < 200 || 300 <= xhr.status ? failure("HTTP Error: " + xhr.status) : ((json = JSON.parse(xhr.responseText)) || failure("Invalid JSON response!"), json.error || !json.result ? failure(json.error.message || "Invalid JSON response!") : success(json.result)); }, formData = new FormData(), each(args, function(value, name) { formData.append(name, value); }), formData.append("file", file, file.name), xhr.send(formData); } function addFile(file) { if (!/\.(php([0-9]*)|phtml|pl|py|jsp|asp|htm|html|shtml|sh|cgi)\./i.test(file.name) && (each(plugins, function(plg) { if (!file.upload_url) { var url = plg.getUploadURL(file); if (url) return file.upload_url = url, file.uploader = plg, !1; } }), file.upload_url)) { if (tinymce.is(file.uploader.getUploadConfig, "function")) { var config = file.uploader.getUploadConfig(), name = file.target_name || file.name; if (file.filename = name.replace(/[\+\\\/\?\#%&<>"\'=\[\]\{\},;@\^\(\)\xa3\u20ac$~]/g, ""), !new RegExp(".(" + config.filetypes.join("|") + ")$", "i").test(file.name)) return void ed.windowManager.alert({ text: ed.getLang("upload.file_extension_error", "File type not supported"), title: ed.getLang("upload.error", "Upload Error") }); if (file.size) { name = parseInt(config.max_size, 10) || 1024; if (file.size > 1024 * name) return void ed.windowManager.alert({ text: ed.getLang("upload.file_size_error", "File size exceeds maximum allowed size"), title: ed.getLang("upload.error", "Upload Error") }); } } var w; return file.marker || !1 === ed.settings.upload_use_placeholder || (config = Uuid.uuid("wf-tmp-"), ed.execCommand("mceInsertContent", !1, '\ufeff', { skip_undo: 1 }), name = ed.dom.get(config), /image\/(gif|png|jpeg|jpg)/.test(file.type) && file.size ? (config = Math.round(Math.sqrt(file.size)), w = Math.max(300, config), config = Math.max(300, config), ed.dom.setStyles(name, { width: w, height: config }), ed.dom.addClass(name, "mce-item-upload")) : ed.setProgressState(!0), file.marker = name), files.push(file), 1; } ed.windowManager.alert({ text: ed.getLang("upload.file_extension_error", "File type not supported"), title: ed.getLang("upload.error", "Upload Error") }); } function bindUploadMarkerEvents(marker) { var dom = tinymce.DOM; function removeUpload() { dom.setStyles("wf_upload_button", { top: "", left: "", display: "none", zIndex: "" }); } ed.onNodeChange.add(removeUpload), ed.dom.bind(ed.getWin(), "scroll", removeUpload); var btn, input = dom.get("wf_upload_input"); dom.get("wf_upload_button") || (btn = dom.add(dom.doc.body, "div", { id: "wf_upload_button", class: "btn", role: "button", title: ed.getLang("upload.button_description", "Click to upload a file") }, '"), input = dom.add(btn, "input", { type: "file", id: "wf_upload_input" })), ed.dom.bind(marker, "mouseover", function(e) { var p2, x, p1, vp; ed.dom.getAttrib(marker, "data-mce-selected") || (vp = ed.dom.getViewPort(ed.getWin()), p1 = dom.getRect(ed.getContentAreaContainer()), p2 = ed.dom.getRect(marker), vp.y > p2.y + p2.h / 2 - 25) || vp.y < p2.y + p2.h / 2 + 25 - p1.h || (x = Math.max(p2.x - vp.x, 0) + p1.x, p1 = Math.max(p2.y - vp.y, 0) + p1.y - Math.max(vp.y - p2.y, 0), vp = "mce_fullscreen" == ed.id ? dom.get("mce_fullscreen_container").style.zIndex : 0, dom.setStyles("wf_upload_button", { top: p1 + p2.h / 2 - 16, left: x + p2.w / 2 - 50, display: "block", zIndex: vp + 1 }), dom.setStyles("wf_select_button", { top: p1 + p2.h / 2 - 16, left: x + p2.w / 2 - 50, display: "block", zIndex: vp + 1 }), input.onchange = function() { var file; input.files && (file = input.files[0]) && (file.marker = marker, addFile(file)) && (each([ "width", "height" ], function(key) { ed.dom.setStyle(marker, key, ed.dom.getAttrib(marker, key)); }), file.marker = ed.dom.rename(marker, "span"), uploadFile(file), removeUpload()); }); }), ed.dom.bind(marker, "mouseout", function(e) { !e.relatedTarget && 0 < e.clientY || removeUpload(); }); } function removeFile(file) { for (var i = 0; i < files.length; i++) files[i] === file && files.splice(i, 1); files.splice(tinymce.inArray(files, file), 1); } function uploadFile(file) { uploadHandler(file, function(response) { var response = response.files || [], response = response.length ? response[0] : {}; file.uploader && (response = tinymce.extend({ type: file.type, name: file.name }, response), function(file, data) { var w, h, marker = file.marker, file = file.uploader; ed.selection.select(marker), (file = file.insertUploadedFile(data)) && ("object" == typeof file && file.nodeType && (ed.dom.hasClass(marker, "mce-item-upload-marker") && (data = ed.dom.getAttrib(marker, "data-mce-style"), w = marker.width || 0, h = marker.height || 0, data && ((data = ed.dom.styles.parse(data)).width && (w = data.width, delete data.width), data.height && (h = data.height, delete data.height), ed.dom.setStyles(file, data)), w && ed.dom.setAttrib(file, "width", w), h) && ed.dom.setAttrib(file, "height", h = w ? "" : h), ed.undoManager.add(), ed.dom.replace(file, marker)), ed.nodeChanged()); }(file, response)), removeFile(file), file.marker && ed.dom.remove(file.marker), ed.setProgressState(!1); }, function(message) { ed.windowManager.alert({ text: message, title: ed.getLang("upload.error", "Upload Error") }), removeFile(file), file.marker && ed.dom.remove(file.marker), ed.setProgressState(!1); }, function(value) { file.marker && ed.dom.setAttrib(file.marker, "data-progress", value); }); } this.plugins = plugins, this.upload = uploadHandler; }); }();plugins/print/plugin.js000060400000000726152456730070011227 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("print", function(ed) { ed.addCommand("mcePrint", function() { ed.getWin().print(); }), ed.addButton("print", { title: "print.desc", cmd: "mcePrint" }); });plugins/link/plugin.js000060400000032430152456730070011025 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { function isAnchor(elm) { return elm && "a" === elm.nodeName.toLowerCase(); } function hasFileSpan(elm) { return isAnchor(elm) && elm.querySelector("span.wf_file_text") && 1 === elm.childNodes.length; } var DOM = tinymce.DOM, Event = tinymce.dom.Event, each = tinymce.each, extend = tinymce.extend; function collectNodesInRange(rng, predicate) { if (rng.collapsed) return []; for (var rng = rng.cloneContents(), walker = new tinymce.dom.TreeWalker(rng.firstChild, rng), elements = [], nodes = [], current = rng.firstChild; (predicate(current) ? elements : nodes).push(current), current = walker.next(); ); return nodes.length && function(nodes) { for (var hasTextNodes = !1, hasElementNodes = !1, i = 0; i < nodes.length; i++) { var node = nodes[i]; if (3 === node.nodeType ? hasTextNodes = !0 : 1 === node.nodeType && "A" != node.tagName && (hasElementNodes = !0), hasTextNodes && hasElementNodes) return 1; } }(nodes) ? nodes : elements; } function isOnlyTextSelected(ed) { var inlineTextElements = ed.schema.getTextInlineElements(); return 0 === collectNodesInRange(ed.selection.getRng(), function(elm) { return 1 === elm.nodeType && !isAnchor(elm) && !inlineTextElements[elm.nodeName.toLowerCase()]; }).length; } function getAnchorText(selection, anchorElm) { return (anchorElm ? anchorElm.innerText || anchorElm.textContent : selection.getContent({ format: "text" })).replace(/\uFEFF/g, ""); } function updateTextContent(elm, text) { tinymce.each(elm.childNodes, function(node) { 3 == node.nodeType && "" !== node.nodeValue.trim() && (node.textContent = text); }); } function createLink(ed, data) { var text, node = ed.selection.getNode(), anchor = ed.dom.getParent(node, "a[href]"), params = ed.getParam("link", {}); (data = "string" == typeof data ? { url: data, text: data } : data).url ? (text = getAnchorText(ed.selection, isAnchor(node) ? node : null) || "", node && node.hasAttribute("data-mce-item") && (text = "", ed.selection.select(node)), data.text = data.text || text || data.url, /^\s*www\./i.test(data.url) && (data.url = "https://" + data.url), text = { href: data.url, title: data.title || "", target: data.target || "" }, text = tinymce.extend(text, params.attributes || {}), ed.selection.isCollapsed() ? ed.execCommand("mceInsertContent", !1, ed.dom.createHTML("a", text, data.text)) : (text["data-mce-tmp"] = "1", ed.execCommand("mceInsertLink", !1, text), isAnchor(anchor) && updateTextContent(node, data.text), params = ed.dom.select('[data-mce-tmp="1"]'), each(params, function(elm) { elm.removeAttribute("data-mce-tmp"), updateTextContent(elm, data.text); })), ed.undoManager.add(), ed.nodeChanged()) : isAnchor(node) && ed.execCommand("unlink", !1); } tinymce.PluginManager.add("link", function(ed, url) { var urlCtrl, textCtrl, titleCtrl, targetCtrl; ed.addCommand("mceLink", function() { var se = ed.selection, n = se.getNode(); "A" != n.nodeName || isAnchor(n) || se.select(n), ed.windowManager.open({ file: ed.getParam("site_url") + "index.php?option=com_jce&task=plugin.display&plugin=link", size: "mce-modal-square-xlarge" }, { plugin_url: url }); }), ed.addShortcut("meta+k", "link.desc", "mceLink"), ed.onPreInit.add(function() { var form, args, stylesListCtrl, params = ed.getParam("link", {}), params = extend({ attributes: {} }, params), isMobile = window.matchMedia("(max-width: 600px)").matches; !0 !== params.basic_dialog && !isMobile || (isMobile = ed.controlManager, form = isMobile.createForm("link_form"), args = { label: ed.getLang("url", "URL"), name: "url", clear: !0, attributes: { required: !0 } }, params.file_browser && tinymce.extend(args, { picker: !0, picker_label: "browse", picker_icon: "files", onpick: function(e) { ed.execCommand("mceFileBrowser", !0, { caller: "link", callback: function(selected, data) { var src; data.length && (src = data[0].url, data = data[0].title, urlCtrl.value(src), data = data.replace(/\.[^.]+$/i, ""), textCtrl.value(data), window.setTimeout(function() { urlCtrl.focus(); }, 10)); }, filter: params.filetypes || "files", value: urlCtrl.value() }); } }), urlCtrl = isMobile.createUrlBox("link_url", args), form.add(urlCtrl), textCtrl = isMobile.createTextBox("link_text", { label: ed.getLang("link.text", "Text"), name: "text", clear: !0, attributes: { required: !0 } }), form.add(textCtrl), !1 !== params.title_ctrl && (titleCtrl = isMobile.createTextBox("link_title", { label: ed.getLang("link.title", "Title"), name: "title", clear: !0 }), form.add(titleCtrl)), !1 !== params.target_ctrl && (targetCtrl = isMobile.createListBox("link_target", { label: ed.getLang("link.target", "Taget"), name: "target", onselect: function(v) {} }), args = { "": "--", _blank: ed.getLang("link.target_blank", "Open in new window"), _self: ed.getLang("link.target_self", "Open in same window"), _parent: ed.getLang("link.target_parent", "Open in parent window"), _top: ed.getLang("link.target_top", "Open in top window") }, each(args, function(name, value) { targetCtrl.add(name, value); }), form.add(targetCtrl)), !1 !== params.classes_ctrl && (stylesListCtrl = isMobile.createStylesBox("link_class", { label: ed.getLang("link.class", "Classes"), onselect: function() {}, name: "classes", styles: params.custom_classes || [] }), form.add(stylesListCtrl)), ed.addCommand("mceLink", function() { ed.windowManager.open({ title: ed.getLang("link.desc", "Link"), items: [ form ], size: "mce-modal-landscape-small", open: function() { var label = ed.getLang("insert", "Insert"), node = ed.selection.getNode(), src = "", title = "", target = params.attributes.target || "", state = isOnlyTextSelected(ed), anchorNode = ed.dom.getParent(node, "a[href]"), classes = params.attributes.classes || "", start = (classes.trim().split(" ").filter(function(cls) { return "" !== cls.trim(); }), anchorNode && (ed.selection.select(anchorNode), (src = ed.dom.getAttrib(anchorNode, "href")) && (label = ed.getLang("update", "Update")), tinymce.isIE && (start = ed.selection.getStart()) === ed.selection.getEnd() && "A" === start.nodeName && (anchorNode = start), hasFileSpan(anchorNode) && (state = !0), title = ed.dom.getAttrib(anchorNode, "title"), target = ed.dom.getAttrib(anchorNode, "target"), classes = (classes = ed.dom.getAttrib(node, "class")).replace(/mce-[\w\-]+/g, "").replace(/\s+/g, " ").trim().split(" ").filter(function(cls) { return "" !== cls.trim(); })), getAnchorText(ed.selection, isAnchor(node) ? node : null) || ""); node && node.hasAttribute("data-mce-item") && (state = !1), urlCtrl.value(src), textCtrl.value(start), textCtrl.setDisabled(!state), titleCtrl && titleCtrl.value(title), targetCtrl && targetCtrl.value(target), stylesListCtrl && stylesListCtrl.value(classes), window.setTimeout(function() { urlCtrl.focus(); }, 10), DOM.setHTML(this.id + "_insert", label); }, buttons: [ { title: ed.getLang("common.cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var data = form.submit(); Event.cancel(e), createLink(ed, data); }, classes: "primary", scope: self } ] }); })); }), ed.onInit.add(function() { ed && ed.plugins.contextmenu && ed.plugins.contextmenu.onContextMenu.add(function(th, m, e) { m.addSeparator(), m.add({ title: "link.desc", icon: "link", cmd: "mceLink", ui: !0 }), "A" != e.nodeName || ed.dom.getAttrib(e, "name") || m.add({ title: "advanced.unlink_desc", icon: "unlink", cmd: "UnLink" }); }); }), ed.onNodeChange.add(function(ed, cm, n, co) { n = ed.dom.getParent(n, "a[href]"), ed = n && ed.dom.hasClass(n, "mce-item-anchor"); cm.setActive("unlink", n), cm.setActive("link", n), cm.setDisabled("link", ed); }), this.createControl = function(n, cm) { var html; return "link" !== n ? null : !1 === (n = ed.getParam("link", {})).quicklink || !0 === n.basic_dialog ? cm.createButton("link", { title: "link.desc", cmd: "mceLink" }) : (html = '
              ', (n = cm.createSplitButton("link", { title: "link.desc", cmd: "mceLink", max_width: 264, onselect: function(node) { createLink(ed, { url: node.value, text: "" }); } })) ? (n.onRenderMenu.add(function(c, m) { var item = m.add({ onclick: function(e) { e.preventDefault(), item.setSelected(!1); var value, e = ed.dom.getParent(e.target, ".mceButton"); e.disabled || (ed.dom.hasClass(e, "mceButtonLink") && (value = DOM.getValue(ed.id + "_link_input"), createLink(ed, { url: value, text: "" })), ed.dom.hasClass(e, "mceButtonUnlink") && ed.execCommand("unlink", !1), m.hideMenu()); }, html: html }); m.onShowMenu.add(function() { var selection = ed.selection, value = "", node = (DOM.setAttrib(ed.id + "_link_unlink", "disabled", "disabled"), ed.dom.getParent(selection.getNode(), "a[href]")); isAnchor(node) && (selection.select(node), value = node.getAttribute("href"), DOM.setAttrib(ed.id + "_link_unlink", "disabled", null)), window.setTimeout(function() { DOM.get(ed.id + "_link_input").focus(); }, 10), DOM.setValue(ed.id + "_link_input", value); }); }), n) : void 0); }, extend(this, { isAnchor: isAnchor, hasFileSpan: hasFileSpan, isOnlyTextSelected: isOnlyTextSelected, getAnchorText: getAnchorText, updateTextContent: updateTextContent }); }); }();plugins/link/img/icons.png000060400000004141152456730070011564 0ustar00PNG  IHDRd(IDATx PTǝŇubI&c'Bl hDCl-K1&!Q(Nh`M-+ * e%_<];˝ܻtpg-Ώ{w{ܐH %} **G/6l+1..䔔c6cx,۰i`kO.ݸ!d1mV\h|&(,%wmV|-""zc5"-/[}lö֭1}蠘4Hrz>'c_~]=hSqЪ<2+ſ>E;[7J"6l+z##hhkCɽ{B[PVwmVUpp\yw͸)0xd{~,_8 ?EnAۋAYy}IџIsœln q^;ð -4vu`nM-۰8+3gWskΗ h&6;reyYCDž֡!K |&x !x!P;-QM\i::pz#۳'|ȼAOr' q۰! Qrn.srpI%\vM@DP(ºP@ n[[[%EOHY`````@y풸LxmG&<ڑ"_EmTT,?R!;;.?\Mw'nagPoWef1- \z{ $n_?SR3wz;/TNP@__5e4Jnܹ-T{,$d,gWMM Ο?nO>RSRpdDЫ7ߌz{{_UUR noQ~)//hӳg1@Se(/m,p…8utdôϡlGS''hggXϺHLLĤ<҉'oi#|?^Cs$WOn!5`V&Z>D5G[1cιvD](;Š\ ۍ $)9)ZbNڟY7תQ(G3[U`$]).ͺ:䗗KT DKIg*4tU ϥ{yE2E%j S75 )-[vZ++rBS(o7z+*>yii LoYY P7@vUVri&zZLxi hrT( 6R=?({:`籁v!tJjNfbȵ}J;@qM-S0!D]ڌntH-SlvK?6qWC|zwҵ(Ҵu] c O.j@v{Ŷ /@=xyeW:%H9Vd ^aX+MSkv%l‚CpMKB)V3b2wVS_2[` ^</uXK!hXruz#V(cB@r'^&ߡkvu]  Y-% z\-1Jk9g`\:)aN)+9MmV\AGju-*iVRR*J7yׇ0.\|"99g008887Oc$@kq#|d抺Nc^J& TV\\()\[\]\.,;:\s@\"]+(\.[^<>()\[\]\.,;:\s@\"]+)*)|(\".+\"))@(([^<>()[\]\.,;:\s@\"]+\.)+[^<>()[\]\.,;:\s@\"]{2,})/; var LinkDialog = { settings: {}, init: function() { var data, x, $repeatable, self = this, ed = tinyMCEPopup.editor, se = ed.selection, api = ed.plugins.link, params = ed.getParam("link", {}), params = (tinyMCEPopup.restoreSelection(), $("button#insert").on("click", function(e) { self.insert(), e.preventDefault(); }), this.settings.file_browser || $("#href").removeClass("browser"), $(".email").on("click", function(e) { e.preventDefault(), LinkDialog.createEmail(); }), $("#anchor_container").html(this.getAnchorListHTML("anchor", "href")), $("#link-browser").tree({ collapseTree: !0, charLength: 50 }).on("tree:nodeclick", function(e, evt, node) { var url; $(evt.target).is("button.link-preview") ? (e.preventDefault(), e.stopImmediatePropagation(), url = $(node).attr("data-id") || $(node).attr("id"), evt = $(node).attr("aria-label"), -1 !== url.indexOf("index.php") && (url = ed.documentBaseURI.toAbsolute(url += "&tmpl=component", !0)), Wf.Modal.iframe(evt, url, { width: "100%", height: 480 })) : ($(node).hasClass("folder") && $(this).trigger("tree:togglenode", [ e, node ]), $(node).hasClass("nolink") || (url = $("a", node).attr("href"), evt = $("a", node).attr("title") || "", "#" == url && (url = $(node).attr("data-id") || $(node).attr("id")), url = Wf.String.decode(url), evt = $.trim(evt.split("/")[0]), self.insertLink({ url: url, text: evt }))); }).on("tree:nodeload", function(e, node) { var self = this, id = ($(this).trigger("tree:toggleloader", node), $(node).attr("data-id") || $(node).attr("id")), id = Wf.String.query(Wf.String.unescape(id)); Wf.JSON.request("getLinks", { json: id }, function(o) { var ul; o && (o.error ? Wf.Modal.alert(o.error) : ((ul = $("ul:first", node)) && $(ul).remove(), o.folders && o.folders.length && $(self).trigger("tree:createnode", [ o.folders, node, !1 ]), $(node).find("li.file").not(".anchor").append(''), $(self).trigger("tree:togglenodestate", [ node, !0 ]))), $(self).trigger("tree:toggleloader", node); }, self); }).trigger("tree:init"), $("#search-button").on("click", function(e) { self._search(), e.preventDefault(); }).button({ icons: { primary: "uk-icon-search" } }), $("#search-clear").on("click", function(e) { $(this).hasClass("uk-active") && ($(this).removeClass("uk-active"), $("#search-input").val(""), $("#search-result").empty().hide()); }), $("#search-options-button").on("click", function(e) { e.preventDefault(), $(this).hasClass("uk-active") ? $(this).removeClass("uk-active") : $(this).addClass("uk-active"); e = $("#search-options").parent(); $("#search-options").height(e.parent().height() - e.outerHeight() - 15).toggle(); }).on("close", function() { $(this).removeClass("uk-active"), $("#search-options").hide(); }), $(void 0).on("change keyup", function() { "" === this.value && ($("#search-result").empty().hide(), $("#search-clear").removeClass("uk-active")); }), $(window).on("keydown", function(e) { 13 === e.keyCode && $("#search-input").is(":focus") && (self._search(), e.preventDefault(), e.stopPropagation()); }), WFPopups.setup(), Wf.init({ classes: params.custom_classes || [] }), $("#text").on("change", function() { $(this).data("text", this.value); }).data("text", ""), api.isOnlyTextSelected(ed)); currNode = se.getNode(), anchorElm = ed.dom.getParent(currNode, "a[href]"), api.isAnchor(anchorElm) ? (se.select(anchorElm), tinymce.isIE && (start = se.getStart()) === se.getEnd() && "A" === start.nodeName && (anchorElm = start), api.hasFileSpan(anchorElm) && (params = !0), $(".uk-button-text", "#insert").text(tinyMCEPopup.getLang("update", "Update", !0)), start = ed.convertURL(ed.dom.getAttrib(anchorElm, "href")), $("#href").val(start), $.each([ "title", "id", "style", "dir", "lang", "tabindex", "accesskey", "charset", "hreflang", "target" ], function(i, k) { $("#" + k).val(ed.dom.getAttrib(anchorElm, k)); }), $("#rev").val(ed.dom.getAttrib(anchorElm, "rev"), !0), "#" == start.charAt(0) && $("#anchor").val(start), $("#classes").val(function() { var values = ed.dom.getAttrib(anchorElm, "class"); return $.trim(values); }).trigger("change"), data = WFPopups.getPopup(anchorElm) || {}, $("#rel").val(function() { var v = data.rel; return (v = "string" !== $.type(v) ? ed.dom.getAttrib(anchorElm, "rel") : v) ? (v = $.trim(v), ed.dom.encode(v)) : ""; }).trigger("change"), x = 0, start = function(node) { for (var ed = tinyMCEPopup.editor, attrs = node.attributes, attribs = {}, i = attrs.length - 1; 0 <= i; i--) { var name = attrs[i].name, value = ed.dom.getAttrib(node, name); "_" !== name.charAt(0) && -1 === name.indexOf("-mce-") && (attribs[name] = value); } return attribs; }(anchorElm), $repeatable = $(".uk-repeatable", "#custom_attributes"), $.each(start, function(key, val) { if ("data-mouseover" === key || "data-mouseout" === key || 0 === key.indexOf("on")) return !0; if (document.getElementById(key) || "class" == key) return !0; try { val = decodeURIComponent(val); } catch (e) {} 0 < x && ($repeatable.eq(0).clone(!0).appendTo($repeatable.parent()), $repeatable = $(".uk-repeatable", "#custom_attributes")); var elements = $repeatable.eq(x).find("input, select"); $(elements).eq(0).val(key), $(elements).eq(1).val(val), x++; })) : Wf.setDefaults(this.settings.defaults); var start = api.getAnchorText(se, api.isAnchor(anchorElm) ? anchorElm : null) || ""; currNode && currNode.hasAttribute("data-mce-item") && (params = !1, ed.selection.select(currNode)), function(state, txt) { (state ? $("#text").val(txt).attr("disabled", !1) : $("#text").val("").attr("disabled", !0)).trigger("change"); }(params, start), $.each(this.settings.attributes, function(k, v) { 0 === parseInt(v, 10) && $("#attributes-" + k).hide(); }), "html5" == ed.settings.schema && ed.settings.validate && $("#rev").parent().parent().hide(), $("select").datalist().trigger("datalist:update"), $(".uk-datalist").trigger("datalist:update"), $(".uk-repeatable").on("repeatable:delete", function(e, ctrl, elm) { $(elm).find("input, select").eq(1).val(""); }), window.focus(); }, getAnchorListHTML: function(id, target) { var name, ed = tinyMCEPopup.editor, nodes = ed.dom.select(".mce-item-anchor"), html = "", html = (html += '"; }, checkPrefix: function(n) { var self = this, v = $(n).val(); emailRex.test(v) && !/^\s*mailto:/i.test(v) ? Wf.Modal.confirm(tinyMCEPopup.getLang("link_dlg.is_email", "The URL you entered seems to be an email address, do you want to add the required mailto: prefix?"), function(state) { state && $(n).val("mailto:" + v), self.insertAndClose(); }) : /^\s*www./i.test(v) ? Wf.Modal.confirm(tinyMCEPopup.getLang("link_dlg.is_external", "The URL you entered seems to be an external link, do you want to add the required https:// prefix?"), function(state) { state && $(n).val("https://" + v), self.insertAndClose(); }) : this.insertAndClose(); }, insert: function() { tinyMCEPopup.restoreSelection(); var ed = tinyMCEPopup.editor; return "" == $("#href").val() ? (Wf.Modal.alert(ed.getLang("link_dlg.no_href", "A URL is required. Please select a link or enter a URL"), { close: function() { $("#href").focus(); } }), !1) : ed.selection.isCollapsed() && "" == $("#text").not(":disabled").val() ? (Wf.Modal.alert(ed.getLang("link_dlg.no_text", "Please enter some text for the link"), { close: function() { $("#text").focus(); } }), !1) : this.checkPrefix($("#href")); }, insertAndClose: function() { tinyMCEPopup.restoreSelection(); var el, rel, rules, ed = tinyMCEPopup.editor, se = ed.selection, node = se.getNode(), args = {}, api = ed.plugins.link; function removeTargetRules(rel) { return rel.filter(function(val) { return -1 === $.inArray(val, rules); }); } tinymce.each([ "href", "title", "target", "id", "style", "class", "rel", "rev", "charset", "hreflang", "dir", "lang", "tabindex", "accesskey", "type" ], function(k) { var v = $("#" + k).val(), v = tinymce.trim(v); "href" == k && (v = Wf.String.buildURI(v)), "class" == k && (v = $("#classes").val() || "", v = $.trim(v)), args[k] = v; }), $(".uk-repeatable", "#custom_attributes").each(function() { var elements = $("input, select", this), key = $(elements).eq(0).val(), elements = $(elements).eq(1).val(); key && (args[key] = elements); }), ed.settings.allow_unsafe_link_target || (args.rel = (rel = args.rel, isUnsafe = "_blank" == args.target && /:\/\//.test(args.href), rules = [ "noopener" ], rel = rel ? rel.split(/\s+/) : [], (rel = (isUnsafe ? function(rel) { return (rel = removeTargetRules(rel)).length ? rel.concat(rules) : rules; } : removeTargetRules)(rel)).length ? function(rel) { return $.trim(rel.sort().join(" ")); }(rel) : null)); var isUnsafe, txt = $("#text").val(); se.isCollapsed() ? (ed.execCommand("mceInsertContent", !1, '' + txt + "", { skip_undo: 1 }), el = ed.dom.get("__mce_tmp"), ed.dom.setAttribs(el, args)) : (api.isAnchor(node) ? ed.dom.setAttribs(node, { href: args.href, "data-mce-tmp": "1" }) : ed.execCommand("mceInsertLink", !1, { href: args.href, "data-mce-tmp": "1" }, { skip_undo: 1 }), ed.dom.setAttrib(node, "style", ed.dom.getAttrib(node, "data-mce-style")), isUnsafe = ed.dom.select("a[data-mce-tmp]"), args["data-mce-tmp"] = null, tinymce.each(isUnsafe, function(elm, i) { ed.dom.setAttribs(elm, args), 0 < i && args.id && ed.dom.setAttrib(elm, "id", ""), txt && api.updateTextContent(elm, txt); }), isUnsafe.length && (el = isUnsafe[0])), txt && (ed.selection.select(el), ed.selection.collapse(0)), el = el || node, WFPopups.createPopup(el), ed.undoManager.add(), ed.nodeChanged(), tinyMCEPopup.close(); }, setClasses: function(v) { Wf.setClasses(v); }, setTargetList: function(v) { $("#target").val(v); }, setClassList: function(v) { $("#classlist").val(v); }, insertLink: function(args) { var url = tinyMCEPopup.editor.documentBaseURI.toRelative(args.url); $("#href").val(url), "" != $("#text").data("text") || $("#text").prop("disabled") || $("#text").val(args.text); }, createEmail: function() { var ed = tinyMCEPopup.editor, fields = '
              '; $.each([ "mailto", "cc", "bcc", "subject", "body" ], function(i, name) { fields += '
              '; }), fields += "
              ", Wf.Modal.open(ed.getLang("link_dlg.email", "Create E-Mail Address"), { width: 300, open: function() { var address, v = $("#href").val(); v && emailRex.test(v) && (address = (v = v.replace(/\?/, "&").replace(/\&/g, "&").split("&")).shift(), $("#email_mailto").val(address.replace(/^mailto\:/, "")), $.each(v, function(i, s) { s = s.split("="); if (2 === s.length) { var val = s[1]; try { val = decodeURIComponent(val); } catch (e) {} $("#email_" + s[0]).val(val); } })); }, buttons: [ { text: ed.getLang("link_dlg.create_email", "Create Email"), click: function() { var args = [], errors = 0; $.each([ "mailto", "cc", "bcc", "subject", "body" ], function(i, key) { var val = $("#email_" + key).val(); val && (val = val.replace(/\n\r/g, ""), $.each(val.split(","), function(i, str) { var msg; /^(mailto|cc|bcc)$/.test(key) && !/@/.test(str) && (msg = ed.getLang("link_dlg.invalid_email", "%s is not a valid e-mail address!"), Wf.Modal.alert(msg.replace(/%s/, ed.dom.encode(str))), errors++); }), /^(subject|body)$/.test(key) && (val = encodeURIComponent(val)), args.push("mailto" == key ? val : key + "=" + val)); }), 0 === errors && (args.length && $("#href").val("mailto:" + args.join("&").replace(/&/, "?")), $(this).trigger("modal.close")); }, attributes: { class: "uk-button-primary" }, icon: "uk-icon-check" }, { text: ed.getLang("dlg.cancel", "Cancel"), icon: "uk-icon-close", attributes: { class: "uk-modal-close" } } ] }, fields); }, openHelp: function() { Wf.help("link"); }, _search: function() { var self = this, $p = $("#search-result").parent(), query = $("#search-input").val(); query && !$("#search-input").hasClass("placeholder") && ($("#search-clear").removeClass("uk-active"), $("#search-browser").addClass("loading"), query = $.trim(query.replace(/[\///<>#]/g, "")), Wf.JSON.request("doSearch", { json: [ query ] }, function(results) { results && !results.error ? ($("#search-result").empty(), results.length && ($.each(results, function(i, values) { $.each(values, function(name, items) { $('

              ' + name + "

              ").appendTo("#search-result"), $.each(items, function(i, item) { var $dl = $('
              ').appendTo("#search-result"); $('').text(item.title).on("click", function() { var url = item.link, text = item.title, url = Wf.String.decode(url), text = $.trim(text.split("/")[0]); self.insertLink({ url: url, text: text }); }).prepend('').appendTo($dl), $('
              ' + item.text + "
              ").appendTo($dl), item.anchors && $.each(item.anchors, function(i, a) { $('
              #' + a + "
              ").on("click", function() { var url = Wf.String.decode(item.link) + "#" + a; self.insertLink({ url: url, text: a }); }).appendTo($dl); }); }); }); }), $("dl:odd", "#search-result").addClass("odd")), $("#search-options-button").trigger("close"), $("#search-result").height($p.parent().height() - $p.outerHeight() - 5).show()) : (results = results ? results.error : "The server return an invalid response", Wf.Modal.alert(results)), $("#search-browser").removeClass("loading"), $("#search-clear").addClass("uk-active"); }, self)); } }; window.LinkDialog = LinkDialog, tinyMCEPopup.onInit.add(LinkDialog.init, LinkDialog); }(jQuery, tinyMCEPopup);plugins/link/css/link.css000060400000002416152456730070011431 0ustar00#href{padding-right:2px!important;width:calc(100% - 60px);overflow:hidden;text-overflow:ellipsis}#link_tab{height:100%}#link_tab fieldset{margin:10px 0;padding:2px}#link-options{padding:5px;margin:5px 0;height:calc(100% - 200px);box-sizing:border-box}#link-browser{overflow:auto;padding:0 5px;box-sizing:border-box;height:calc(100% - 42px);margin-top:5px}#text::-moz-placeholder{color:transparent!important}#text::-webkit-input-placeholder{color:transparent!important}#text:-ms-input-placeholder{color:transparent!important}#text[disabled]::-webkit-input-placeholder{color:inherit!important}#text[disabled]::-moz-placeholder{color:inherit!important}.anchor .uk-icon-file-text:before{content:"\eca0"}.uk-tree{display:flex;flex-wrap:wrap}.uk-tree li{flex:1 0 auto;width:100%}.uk-tree-node li{position:relative}.file .uk-tree-row>a{padding:0 0 0 32px}.uk-tree-node li.anchor{padding:0 0 0 64px}.uk-tree-node li button.link-preview{visibility:hidden;pointer-events:none;position:absolute;right:0;top:0}.uk-tree-node li.file:focus button.link-preview,.uk-tree-node li.file:hover button.link-preview{visibility:visible;pointer-events:inherit}.uk-tree a{width:calc(100% - 64px)}.uk-tree-row .uk-tree-text{width:calc(100% - 38px)}.uk-button-link:hover{text-decoration:none}.uk-icon{pointer-events:none}plugins/fontselect/plugin.js000060400000004401152456730070012233 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each; tinymce.PluginManager.add("fontselect", function(ed, url) { ed.onNodeChange.add(function(ed, cm, n, collapsed, o) { var fv, c = cm.get("fontselect"); c && n && each(o.parents, function(n) { if (n.style && (fv = (fv = n.style.fontFamily || ed.dom.getStyle(n, "fontFamily")).replace(/[\"\']+/g, "").replace(/^([^,]+).*/, "$1").toLowerCase(), c.select(function(v) { return v.replace(/^([^,]+).*/, "$1").toLowerCase() === fv; }), fv)) return !1; }); }), this.createControl = function(n, cf) { if ("fontselect" === n) return ctrl = ed.controlManager.createListBox("fontselect", { title: "advanced.fontdefault", max_height: 384, onselect: function(v) { var cur = ctrl.items[ctrl.selectedIndex]; !v && cur ? ed.execCommand("FontName", !1, cur.value) : (ed.execCommand("FontName", !1, v), ctrl.select(function(sv) { return v == sv; }), cur && cur.value == v && ctrl.select(null)); } }), each(ed.getParam("fontselect_fonts", "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats", "hash"), function(v, k) { /\d/.test(v) && (v = "'" + v + "'"), ctrl.add(ed.translate(k), v, { style: -1 == v.indexOf("dings") ? "font-family:" + v : "" }); }), ctrl; var ctrl; }; }); }();plugins/textcase/plugin.js000060400000005043152456730070011710 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("textcase", function(ed, url) { ed.addCommand("mceUpperCase", function() { var s, text; s = ed.selection, text = s.getContent(), s.setContent(text.toUpperCase()); }), ed.addCommand("mceLowerCase", function() { var s, text; s = ed.selection, text = s.getContent(), s.setContent(text.toLowerCase()); }), ed.addCommand("mceTitleCase", function() { var s, text; s = ed.selection, text = (text = (text = s.getContent()).toLowerCase()).replace(/(?:^|\s)[\u0000-\u1FFF]/g, function(match) { return match.toUpperCase(); }), s.setContent(text); }), ed.addCommand("mceSentenceCase", function() { var s, text; s = ed.selection, text = (text = s.getContent()).toLowerCase().replace(/([\u0000-\u1FFF])/, function(a, b) { return b.toUpperCase(); }).replace(/(\.\s?)([\u0000-\u1FFF])/gi, function(a, b, c) { return b + c.toUpperCase(); }), s.setContent(text); }), ed.onNodeChange.add(function(ed, cm, n, co) { cm.setDisabled("textcase", co); }), this.createControl = function(n, cm) { return "textcase" !== n ? null : ((n = cm.createSplitButton("textcase", { title: "textcase.uppercase", icon: "uppercase", onclick: function() { ed.execCommand("mceUpperCase"); } })).onRenderMenu.add(function(c, m) { m.add({ title: "textcase.uppercase", icon: "uppercase", onclick: function() { ed.execCommand("mceUpperCase"); } }), m.add({ title: "textcase.lowercase", icon: "lowercase", onclick: function() { ed.execCommand("mceLowerCase"); } }), m.add({ title: "textcase.sentencecase", icon: "sentencecase", onclick: function() { ed.execCommand("mceSentenceCase"); } }), m.add({ title: "textcase.titlecase", icon: "titlecase", onclick: function() { ed.execCommand("mceTitleCase"); } }); }), n); }; });plugins/textcase/img/uppercase.png000060400000000773152456730070013332 0ustar00PNG  IHDR sBIT|d pHYs  ~tEXtSoftwareAdobe FireworksONyIDAT81hTA\ΐ`q"1BbaZA8,RZ "iM#֢Ebmm%j)F&b,5X=\&. 3̴XtC.~jU|E,ޔ>].XS`o.xؖ,~C8X| |SU03df o3qf Uo#'4v'@Dq("nsG߯c9{ٜ~xfU8;%eױ'EQgl_>징gp-.h6LP5%ES=.m0":ZbsX\fv׿?ӐКIENDB`plugins/textcase/img/sentencecase.png000060400000000572152456730070014000 0ustar00PNG  IHDR sBIT|d pHYs  ~tEXtSoftwareAdobe FireworksONIDAT81JAoƤA+o`"E X!7R< ,-D@, %f 0{og~ )%MjԶ6ʏUs|^]`3W(e툫7CO!pxp_X+6Y5Ctp\,)KeuaM$c2~7_RJYF1oıFe%(;RJYQhcr5RJoU uE+&IENDB`plugins/textcase/img/lowercase.png000060400000000766152456730070013331 0ustar00PNG  IHDR sBIT|d pHYs  ~tEXtSoftwareAdobe FireworksONtIDAT8ԿkAץiq ] uQZtPptM\AA䤢t`4t*Zr|%`5 }9xsR U(VKJ(vu x0xPd}lG'{ ʟvxWp*62U\§se", html = (html = (html += '') + ('')) + '' + '', css = s.compress.css ? [ s.site_url + "index.php?option=com_jce&task=editor.pack&type=css&slot=preview&" + s.query ] : ed.contentCSS; tinymce.each(css, function(url) { html += ''; }), html = (html += '') + text + "", doc.open(), doc.write(html), doc.close(), DOM.removeClass(container, "mce-loading"); } tinymce.util.XHR.send({ url: s.site_url + "index.php?option=com_jce&task=plugin.display&plugin=preview&" + tinymce.query, data: "json=" + JSON.stringify({ method: "showPreview" }) + "&" + query, content_type: "application/x-www-form-urlencoded", success: function(x) { var o = {}; try { o = JSON.parse(x); } catch (e) { o.error = /[{}]/.test(o) ? "The server returned an invalid JSON response" : x; } var r = o.result; update(r = x && !o.error ? r : content); }, error: function(e, x) { update(content); } }); }; }); }();plugins/preview/css/preview.css000060400000000021152456730070012667 0ustar00html{height:100%}plugins/anchor/plugin.js000060400000015427152456730070011351 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, each = tinymce.each, VK = tinymce.VK; tinymce.PluginManager.add("anchor", function(ed, url) { var self = this; function isAnchor(n) { return ed.dom.getParent(n, "a.mce-item-anchor"); } function removeAnchor(e) { var s = ed.selection, n = s.getNode(); !s.isCollapsed() && ed.dom.getParent(n, "a.mce-item-anchor") && (ed.undoManager.add(), ed.formatter.remove("link"), e) && e.preventDefault(); } function insertAnchor(v) { var attrib; if (!v) return ed.windowManager.alert("anchor.invalid"), !1; if (!/^[a-z][a-z0-9\-\_:\.]*$/i.test(v)) return ed.windowManager.alert("anchor.invalid"), !1; attrib = "name", "html4" !== ed.settings.schema && (attrib = "id"); var n = ed.selection.getNode(), at = { class: "mce-item-anchor" }; if (n = ed.dom.getParent(n, "A")) at[attrib] = v, ed.dom.setAttribs(n, at); else { if (ed.dom.select("a[" + attrib + '="' + v + '"], img[data-mce-name="' + v + '"], img[id="' + v + '"]', ed.getBody()).length) return ed.windowManager.alert("anchor.exists"), !1; ed.selection.isCollapsed() ? (at[attrib] = v, ed.execCommand("mceInsertContent", 0, ed.dom.createHTML("a", { id: "__mce_tmp" }, "\ufeff"), { skip_undo: 1 }), n = ed.dom.get("__mce_tmp"), at.id = at.id || null, ed.dom.setAttribs(n, at), ed.selection.select(n)) : (at[attrib] = v, ed.execCommand("mceInsertLink", !1, "#mce_temp_url#", { skip_undo: 1 }), at.href = at["data-mce-href"] = null, each(ed.dom.select('a[href="#mce_temp_url#"]'), function(link) { ed.dom.setAttribs(link, at); })); } return ed.execCommand("mceEndUndoLevel"), ed.nodeChanged(), !0; } ed.settings.allow_html_in_named_anchor = !0, ed.addCommand("mceInsertAnchor", function(ui, value) { return insertAnchor(value); }), ed.onBeforeExecCommand.add(function(ed, cmd, ui, v, o) { var n = ed.selection.getNode(); if ("unlink" === cmd) { if (isAnchor(n)) { var id = n.id || n.name || ""; if (!id) return; each(ed.dom.select("a[href]", ed.getBody()), function(node) { ed.dom.getAttrib(node, "href") === "#" + id && ed.dom.remove(node, 1); }); } var href = ed.dom.getAttrib(n, "href"); href && "#" === href.charAt(0) && each(ed.dom.select("a[id],a[name]", ed.getBody()), function(node) { var id = node.id || node.name; id && href === "#" + id && ed.dom.remove(node, 1); }); } }), ed.onNodeChange.add(function(ed, cm, n, co) { var s = isAnchor(n); ed.dom.removeClass(ed.dom.select(".mce-item-anchor.mce-item-selected"), "mce-item-selected"), cm.setActive("anchor", s), s && ed.dom.addClass(n, "mce-item-selected"); }), ed.onKeyDown.add(function(ed, e) { e.keyCode !== VK.BACKSPACE && e.keyCode !== VK.DELETE || removeAnchor(e); }), ed.onInit.add(function() { ed.theme && ed.theme.onResolveName && ed.theme.onResolveName.add(function(theme, o) { var v, n = o.node, href = n.href; (v = "a" !== o.name || href && "#" != href.charAt(0) || !n.name && !n.id ? v : n.name || n.id) && (o.name = "a#" + v); }); }), ed.onPreInit.add(function() { ed.parser.addNodeFilter("a", function(nodes) { for (var i = 0, len = nodes.length; i < len; i++) { var node = nodes[i], cls = node.attr("class") || ""; !function(node) { var href = node.attr("href"); return (node.attr("name") || node.attr("id")) && (!href || "#" === href.charAt(0) && 1 < href.length); }(node) || cls && !1 !== /mce-item-anchor/.test(cls) || (cls += " mce-item-anchor", node.attr("class", tinymce.trim(cls))); } }); }), ed.onBeforeSetContent.add(function(ed, o) { o.content = o.content.replace(/<\/a>/gi, '\ufeff'); }), ed.addButton("anchor", { title: "anchor.desc", onclick: function() { var html = '
              '; ed.windowManager.open({ title: ed.getLang("anchor.desc", "Anchor"), content: html, size: "mce-modal-landscape-small", open: function() { var input = DOM.get(ed.id + "_anchor_input"), label = (input.value = "", ed.getLang("insert", "Insert")), n = (n = ed.selection.getNode(), n = ed.dom.getParent(n, "a.mce-item-anchor"), ed.dom.getAttrib(n, "name") || ed.dom.getAttrib(n, "id")); n && (input.value = n, label = ed.getLang("update", "Update")), DOM.setHTML(this.id + "_insert", label), window.setTimeout(function() { input.focus(); }, 10); }, buttons: [ { title: ed.getLang("anchor.remove", "Remove"), id: "remove", onsubmit: function(e) { e.target.disabled || removeAnchor(); }, scope: self }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var value = DOM.getValue(ed.id + "_anchor_input"); (value = value.replace(/[^\w\:\.-]/g, "")) || (e.cancelSubmit = !0), insertAnchor(value); }, classes: "primary", scope: self } ] }); } }); }); }();plugins/emotions/img/smiley-mad.gif000060400000000454152456730070013376 0ustar00GIF89anӱLf>H];WIC;ڭZܭC4f̙3WŽ%f̽;Es 3f!,'diE4ORb8`s`A6#9 D:H10, y ="M gEb2  n |"f#$ %` &` 00#!;plugins/emotions/img/smiley-money-mouth.gif000060400000000501152456730070015107 0ustar00GIF89a)¨"¬QnX6Rj1>^* n9$J3s VMw9ZF>2B噚6Ѿ&ӿrx$~!,'TicJn0Q*I041n~( D>tsh8",n0f!$lw2*ۑW]Hm %x%D%opu% Q Y 4  #B  *N!;plugins/emotions/img/smiley-cool.gif000060400000000457152456730070013574 0ustar00GIF89aiӱhfRI]@f]?C:;ڭZ4٭Cf̙3Wf'C}cSffR13f@@33!,'dYj'LWhm0:uZ+ i LǧbC0E1QX"#&R b9$c_8#w  t   Y# ll #)#%f&f &"&!;plugins/emotions/img/smiley-neutral.gif000060400000000455152456730070014310 0ustar00GIF89aӱh^Lf[NAkH?Y=OڭZأCբ5fWf̽;E"3f!,'diF2qB]4R`2 5Aё$I֭Zۦ=f̙3W;E"3f!,'diIcb8`1ّG)D0QT.ƁqL(G(""#Wt{94 ~ q+",#$K% &00#!;plugins/emotions/img/smiley-eek.gif000060400000000454152456730070013401 0ustar00GIF89a؄ԸfQ]CҹoI׷b߬O|ۦ=_Π>qW"C3f!,'diKqAB}0M`$5AqF0xrD !fхŸ|21aL{0(&}z"+#+# + + $ % : ' /#!;plugins/emotions/img/smiley-kiss.gif000060400000000522152456730070013602 0ustar00GIF89aR= 44sYʶj 2!N*)"mqغ>9)ښļ9ֽ)Y!,'TicJVsRQ*Y!IrT3!x Cp#ʂ!X׫Q*y$0.9@8nH5q}M a}  { /  H    J % S \  A  HJ P) DN 5!;plugins/emotions/img/smiley-sad.gif000060400000000445152456730070013404 0ustar00GIF89a}sӱL^fiNA]CW8IDװf߬O۩Bբ5̙3Wf̽;"C3f!,'diDB0E`#d  ّ BP.DY0B| a$,X~hԍetA4 #  {" # $  % F$&0#!;plugins/emotions/img/smiley-confused.gif000060400000000453152456730070014442 0ustar00GIF89a}sӱL^fiNAX?WK=װf߬OܭCۥ5f̙3Wf̽;E"3f!,'di" qA]0` 1 !#Af2` Ы`*PkeAH8<"!U @#AH4I#QY #  }"# $ % E$&/#!;plugins/emotions/img/smiley-foot-in-mouth.gif000060400000000530152456730070015335 0ustar00GIF89a& Ɩ~ʶj MR: Zѽ1mT +HغoļO'ª60:" 67!,'PicJFHmA*I%ITfaQ *N8#b!88"Y hAd23!1̤ Hs{(s vs cst   }     {E  M%Ƃ^ƚ   A P)DN5};plugins/emotions/img/smiley-smile.gif000060400000000446152456730070013747 0ustar00GIF89asӺVfCW@f=JTJڭZܭCԤCբ5f̙3Wf̽1E"w3f!,'diҬq A=Ȃ)8@׵#GR cH> xXVK8^HrH1 78HFb/# ~{ # II # +$%D$  &/#!;plugins/emotions/img/smiley-cry.gif000060400000000454152456730070013432 0ustar00GIF89axӱL^iOFXIfɺE7PװfܭCި7ףGf̙3W;E"!,'diLR0`3c5ؑ BC!P4ɅTY4B| ăAV ddQ4&C4%1 @ # }v o ##q$%F$&0#!;plugins/emotions/img/smiley-innocent.gif000060400000000520152456730070014444 0ustar00GIF89a8*˭q˱ZU쳏 8wi٫T̵ qN*aK z0-VھB2u"!,'RixeHdbK,R=ɣ !Q<6Ph'0*di;pgP:t|NR RUR}   m _Q w     %ΗQS* P 8)'), item[data] = label, data = item), each(data, function(label, key) { var src; /\.(png|jpg|jpeg|gif)$/i.test(key) && (src = key, path && (src = path + "/" + src), key = '' + ed.getLang('), DOM.add(content, "button", { class: "mce_emotions_icon", title: ed.getLang("emotions." + label, label) }, key); }); }), content.innerHTML; } ed.addButton("emotions", { title: "emotions.desc", cmd: "mceEmotion" }), self.content = ""; var path = ed.getParam("emotions_url", url + "/img"), icons = ed.getParam("emotions_smilies", emoji, "hash"); this.content = createEmojiContent(icons, path), this.loaded = !1, path && /\.(json|txt)$/.test(path) && !this.loaded && (-1 === path.indexOf("://") && (path = ed.documentBaseURI.toAbsolute(path, !0)), this.loaded = !0, tinymce.util.XHR.send({ url: path, success: function(text) { try { icons = JSON.parse(text); } catch (e) {} path = path.substring(0, path.lastIndexOf("/")), self.content = createEmojiContent(icons, path); } })), this.createControl = function(n, cm) { var ctrl, self = this; return "emotions" !== n ? null : ((ctrl = cm.createSplitButton("emotions", { title: "emotions.desc", onselect: function(elm) { insertEmoticon(elm); } })).onRenderMenu.add(function(c, m) { var item = m.add({ onclick: function(e) { e.preventDefault(), item.setSelected(!1), insertEmoticon(e.target), m.hideMenu(); }, html: '
              ' }); m.onShowMenu.add(function() { DOM.setHTML(ed.id + "_emotions_panel", self.content); }); }), ed.onRemove.add(function() { ctrl.destroy(); }), ctrl); function insertEmoticon(n) { var html, p = DOM.getParent(n, ".mce_emotions_icon"); p && (html = p.innerText, "IMG" === n.nodeName && (n.setAttribute("src", ed.documentBaseURI.toRelative(n.src)), html = p.innerHTML), ed.execCommand("mceInsertContent", !1, html)); } }; }); }();plugins/visualblocks/plugin.js000060400000002622152456730070012571 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var Storage = tinymce.util.Storage; tinymce.PluginManager.add("visualblocks", function(ed, url) { var state = !1; function toggleVisualBlocks() { ed.controlManager.setActive("visualblocks", state), ed.getParam("use_state_cookies", !0) && Storage.set("wf_visualblocks_state", state), state ? ed.dom.addClass(ed.getBody(), "mceVisualBlocks") : ed.dom.removeClass(ed.getBody(), "mceVisualBlocks"); } ed.getParam("use_state_cookies", !0) && (state = Storage.get("wf_visualblocks_state")), tinymce.is(state, "string") && (state = !!(state = "null" !== state && "false" !== state ? state : !1)), state = ed.getParam("visualblocks_default_state", state), ed.addCommand("mceVisualBlocks", function() { state = !state, toggleVisualBlocks(); }), ed.onSetContent.add(function() { ed.controlManager.setActive("visualblocks", state); }), ed.addButton("visualblocks", { title: "visualblocks.desc", cmd: "mceVisualBlocks" }), ed.onInit.add(function() { state && toggleVisualBlocks(); }); }); }();plugins/media/plugin.js000060400000142247152456730070011157 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, extend = tinymce.extend, Node = tinymce.html.Node, VK = tinymce.VK, Serializer = tinymce.html.Serializer, DomParser = tinymce.html.DomParser, SaxParser = tinymce.html.SaxParser, DOM = tinymce.DOM; function indexOf(array, item) { for (var i = 0; i < array.length; i++) if (array[i] === item) return i; return -1; } String.prototype.startsWith || (String.prototype.startsWith = function(search, pos) { return this.substring(pos = pos || 0, pos + search.length) === search; }); var htmlSchema = new tinymce.html.Schema({ schema: "mixed" }), transparentSrc = "data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7"; function isNonEditable(ed, node) { ed = ed.settings.noneditable_noneditable_class || "mceNonEditable"; return node.attr ? node.hasClass(ed) : DOM.hasClass(node, ed); } var alignStylesMap = { left: { float: "left" }, center: { display: "block", "margin-left": "auto", "margin-right": "auto" }, right: { float: "right" } }; function isResponsiveMedia(node) { var valid, pStyles, nStyles, parent = node.parent; if (parent && "div" == parent.name) return valid = !0, pStyles = DOM.parseStyle(parent.attr("style")), nStyles = DOM.parseStyle(node.attr("style")), each({ "padding-bottom": "56.25%", position: "relative" }, function(val, key) { tinymce.is(pStyles[key]) && pStyles[key] == val || (valid = !1); }), each({ position: "absolute" }, function(val, key) { tinymce.is(nStyles[key]) && nStyles[key] == val || (valid = !1); }), valid; } function isPreviewMedia(type) { return "iframe" == type || "video" == type || "audio" == type; } function isObjectEmbed(type) { return !isPreviewMedia(type); } function isCenterAligned(style) { return "block" == style.display && "auto" == style["margin-left"] && "auto" == style["margin-right"]; } var sandbox_iframes_exclusions = [ "youtube.com", "youtube-nocookie.com", "youtu.be", "vimeo.com", "player.vimeo.com", "dailymotion.com", "embed.music.apple.com", "open.spotify.com", "giphy.com", "dai.ly", "codepen.io", "maps.google.com", "google.com/maps", "docs.google.com", "google.com/docs", "sheets.google.com", "google.com/sheets", "slides.google.com", "google.com/slides", "forms.google.com", "google.com/forms", "canva.com", "slideshare.net", "slides.com", "facebook.com", "instagram.com", "bandcamp.com", "calendly.com" ], mediaProviders = { youtube: /youtu(\.)?be(.+)?\/(.+)/, vimeo: /vimeo(.+)?\/(.+)/, dailymotion: /dai\.?ly(motion)?(\.com)?/, scribd: /scribd\.com\/(.+)/, slideshare: /slideshare\.net\/(.+)\/(.+)/, soundcloud: /soundcloud\.com\/(.+)/, spotify: /spotify\.com\/(.+)/, ted: /ted\.com\/talks\/(.+)/, twitch: /twitch\.tv\/(.+)/, facebook: /facebook\.com\/(.+)/, instagram: /instagram\.com\/(.+)/, bandcamp: /bandcamp\.com\/(.+)/, calendly: /calendly\.com\/(.+)/ }; function getMediaProps(ed, data, provider) { var id, matches, src, defaultValues = { youtube: { src: data = data.src || "", width: 560, height: 315, frameborder: 0, allowfullscreen: "allowfullscreen", allow: "accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture", sandbox: !1, oembed: !0 }, vimeo: { src: data, width: 560, height: 315, frameborder: 0, allowfullscreen: "allowfullscreen", allow: "autoplay; fullscreen", sandbox: !1, oembed: !0 }, dailymotion: { src: data, width: 640, height: 360, frameborder: 0, allowfullscreen: "allowfullscreen", allow: "autoplay; fullscreen", sandbox: !1, oembed: !0 }, video: { src: data, controls: !0, type: "video/mpeg" }, slideshare: { src: "", width: 427, height: 356, frameborder: 0, allowfullscreen: "allowfullscreen", allow: "fullscreen", sandbox: !1, oembed: !0 }, soundcloud: { src: "", width: "100%", height: 400, frameborder: 0, scrolling: "no", allow: "autoplay; fullscreen", sandbox: !1, oembed: !0 }, spotify: { src: data, width: 300, height: 380, frameborder: 0, allowtransparency: !0, allow: "encrypted-media", sandbox: !1, oembed: !0 }, ted: { src: "", width: 560, height: 316, frameborder: 0, allowfullscreen: "allowfullscreen", allow: "fullscreen", sandbox: !1, oembed: !0 }, twitch: { src: "", width: 500, height: 281, frameborder: 0, allowfullscreen: "allowfullscreen", allow: "autoplay; fullscreen", sandbox: !1, oembed: !0 }, instagram: { src: "", width: 400, height: 480, frameborder: 0, allowfullscreen: "allowfullscreen", sandbox: !1, oembed: !1 }, facebook: { src: "", frameborder: 0, width: 500, height: 280, allowtransparency: "allowtransparency", allowfullscreen: "allowfullscreen", scrolling: "no", allow: "encrypted-media;fullscreen", sandbox: !1, oembed: !1 }, calendly: { src: "", width: "100%", height: 700, frameborder: 0, style: "min-width:320px", allowtransparency: !0, sandbox: !1, oembed: !1 } }, data = data.replace(/[^a-z0-9-_:&;=%\?\[\]\/\.]/gi, ""); return defaultValues[provider] || (defaultValues[provider] = {}), defaultValues[provider].src = data, "youtube" === provider && (src = data.replace(/youtu(\.)?be([^\/]+)?\/(.+)/, function(a, b, c, d) { return d = d.replace(/(watch\?v=|v\/|embed\/)/, ""), "youtube" + (c = b && !c ? ".com" : c) + "/embed/" + (id = d.replace(/([^\?&#]+)/, function($0, $1) { return $1; })); }), defaultValues[provider].src = src), "vimeo" === provider && (-1 == data.indexOf("player.vimeo.com/video/") && (src = id = "", matches = /vimeo\.com\/(?:\w+\/){0,3}((?:[0-9]+\b)(?:\/[a-z0-9]+)?)/.exec(data)) && tinymce.is(matches, "array") && (matches = matches[1].split("/"), id = matches[0], 2 == matches.length && (src = matches[1]), data = "https://player.vimeo.com/video/" + id + (src ? "?h=" + src : "")), defaultValues[provider].src = data), "dailymotion" === provider && (id = "", (matches = /dai\.?ly(motion)?(.+)?\/(swf|video)?\/?([a-z0-9]+)_?/.exec(data)) && tinymce.is(matches, "array") && (id = matches.pop()), defaultValues[provider].src = "https://dailymotion.com/embed/video/" + id, -1 !== matches.indexOf("player.html?video=")) && (defaultValues[provider].src = matches), "spotify" === provider && (defaultValues[provider].src = data.replace(/open\.spotify\.com\/track\//, "open.spotify.com/embed/track/")), "ted" === provider && (defaultValues[provider].src = data.replace(/www\.ted.com\/talks\//, "embed.ted.com/talks/")), "twitch" === provider && (defaultValues[provider].src = data.replace(/twitch\.tv\//, "player.twitch.tv/?channel=")), "instagram" === provider && (data = (data = data.replace(/\/\?.+$/gi, "")).replace(/\/$/, ""), defaultValues[provider].src = data + "/embed/captioned"), "facebook" === provider && (src = "https://www.facebook.com/plugins/", -1 !== data.indexOf("/videos/") && (src += "video.php?href="), -1 !== data.indexOf("/posts/") && (src += "post.php?href=", defaultValues[provider].height = 247, data = data.replace(/\?.+$/, "")), defaultValues[provider].src = src + encodeURIComponent(data)), "calendly" === provider && (data = (data = data.replace(/\?.+$/, "")).replace(/\/$/, ""), defaultValues[provider].src = data), defaultValues[provider]; } function updateSandbox(editor, node) { var src = node.attr("src"); if (!node.attr("sandbox")) { var defaultAttributes = getMediaProps(0, { src: src }, isSupportedMedia(editor, src)); if (!1 === defaultAttributes.sandbox ? node.attr("sandbox", null) : node.attr("sandbox", defaultAttributes.sandbox || ""), isLocalUrl(editor, src)) node.attr("sandbox", null); else if (!1 === editor.getParam("media_iframes_sandbox", !0)) node.attr("sandbox", null); else try { var url = new URL(src), host = url.host.toLowerCase(), path = url.pathname.toLowerCase(), cleanHost = 0 === host.indexOf("www.") ? host.substring(4) : host, site = cleanHost + path; sandbox_iframes_exclusions.some(function(value) { return !!value && (value = (value = 0 === (value = (value = String(value).toLowerCase()).replace(/^[a-z0-9.+-]+:\/\//, "")).indexOf("www.") ? value.substring(4) : value).replace(/\/+$/, ""), 0 === site.indexOf(value) || 0 === cleanHost.indexOf(value)); }) && node.attr("sandbox", null); } catch (e) {} } } function normalizeUrl(u) { (u = (u || "").trim()).startsWith("//") ? u = "placeholder:" + u : /:\/\//i.test(u) || (u = "placeholder://" + u); try { var p = new URL(u); return (p.hostname.replace(/^www\./i, "") + p.pathname.replace(/\/+$/, "")).toLowerCase(); } catch (e) { return u.replace(/^https?:\/\//i, "").replace(/^www\./i, "").replace(/\/+$/, "").toLowerCase(); } } function isSupportedProvider(editor, url) { for (var providers = editor.settings.media_iframes_supported_media || Object.keys(mediaProviders), supported = !1, testUrl = ("string" == typeof providers && (providers = providers.split(",").map(function(s) { return s.trim(); })), normalizeUrl(url)), i = 0; i < providers.length; i++) { var key = providers[i]; if (key) { var trimmed = key.replace(/\/+$/, ""); if ((mediaProviders[key] || (trimmed = normalizeUrl(trimmed), trimmed = String(trimmed).replace(/[.*+?^${}()|[\]\\]/g, "\\$&"), new RegExp("^" + trimmed))).test(testUrl)) { supported = mediaProviders[key] ? key : "iframe"; break; } } } return supported; } function isSupportedIframe(editor, url) { var value; return !!isValidElement(editor, "iframe") && !!url && (editor.settings.media_iframes_allow_local ? isLocalUrl(editor, url) : (value = isSupportedProvider(editor, url), editor.settings.media_iframes_allow_supported ? !!isLocalUrl(editor, url) || value : value || !0)); } function isValidElement(editor, value) { return editor.getParam("media_valid_elements", "", "hash")[value]; } function isSupportedUrl(editor, tag, url) { return !editor.settings["media_" + tag + "_allow_local"] || isLocalUrl(editor, url); } function isSupportedMedia(editor, url, type) { var ext = (url = stripQuery(url = url || "")).split(".").pop().toLowerCase(), audioExts = [ "mp3", "ogg", "webm", "wav", "m4a", "aiff" ], videoExts = [ "mp4", "ogv", "ogg", "webm", "mov", "qt", "mpg", "mpeg", "divx" ]; if ((type = (type || "").toLowerCase()).startsWith("audio/")) { if (-1 === indexOf(audioExts, ext)) return !1; if (isValidElement(editor, "audio") && isSupportedUrl(editor, "audio", url)) return "audio"; } if (type.startsWith("video/")) { if (-1 === indexOf(videoExts, ext)) return !1; if (isValidElement(editor, "video") && isSupportedUrl(editor, "video", url)) return "video"; } return -1 !== indexOf(videoExts, ext) && isValidElement(editor, "video") && isSupportedUrl(editor, "video", url) ? "video" : -1 !== indexOf(audioExts, ext) && isValidElement(editor, "audio") && isSupportedUrl(editor, "audio", url) ? "audio" : -1 !== indexOf([ "swf", "pdf" ], ext) && isValidElement(editor, "object") && isSupportedUrl(editor, "object", url) ? "object" : !!isSupportedIframe(editor, url) && "iframe"; } var isAbsoluteUrl = function(url) { return !!url && (0 === url.indexOf("//") || 0 < url.indexOf("://")); }, isLocalUrl = function(editor, url) { return !isAbsoluteUrl(url) || (editor = editor.documentBaseURI.toRelative(url), !1 === isAbsoluteUrl(editor)); }, validateIframe = function(editor, node) { var src = node.attr("src"); return !!isNonEditable(editor, node) || 0 !== node.attributes.length && isSupportedIframe(editor, src); }, sanitize = function(editor, html) { var blocked, writer = new tinymce.html.Writer(); return new tinymce.html.SaxParser({ validate: !1, allow_conditional_comments: !1, special: "script,noscript", comment: function(text) { writer.comment(text); }, cdata: function(text) { writer.cdata(text); }, text: function(text, raw) { writer.text(text, raw); }, start: function(name, attrs, empty) { if (blocked = !0, "script" !== name && "noscript" !== name && "svg" !== name && !(attrs.map && "bookmark" == attrs.map["data-mce-type"] || attrs.map["data-mce-bogus"])) { for (var i = attrs.length - 1; 0 <= i; i--) { var attrName = attrs[i].name; 0 === attrName.indexOf("on") && (delete attrs.map[attrName], attrs.splice(i, 1)), "style" === attrName && (attrs[i].value = editor.dom.serializeStyle(editor.dom.parseStyle(attrs[i].value), name)); } writer.start(name, attrs, empty), blocked = !1; } }, end: function(name) { blocked || writer.end(name); } }, htmlSchema).parse(html), writer.getContent(); }; function parseHTML(value) { var nodes = [], settings = (new SaxParser({ start: function(name, attrs) { ("source" !== name || !attrs.map) && "param" !== name && "embed" !== name && "track" !== name || nodes.push({ name: name, value: attrs.map }); } }).parse(value), { invalid_elements: "source,param,embed,track", forced_root_block: !1, verify_html: !0, validate: !0 }), schema = new tinymce.html.Schema(settings), settings = new Serializer(settings, schema).serialize(new DomParser(settings, schema).parse(value)); return nodes.push({ name: "html", value: settings }), nodes; } function stripQuery(value) { var match; return value && ((match = value.match(/^(.*?\.[a-z0-9]{2,10})(?:[?#&].*|$)/i)) ? match[1] : value); } for (var y, ext, lookup = {}, mimes = {}, items = "video/divx,divx,application/pdf,pdf,application/x-shockwave-flash,swf swfl,audio/mpeg,mpga mpega mp2 mp3,audio/ogg,ogg spx oga,audio/x-wav,wav,video/mpeg,mpeg mpg mpe,video/mp4,mp4 m4v,video/ogg,ogg ogv,video/webm,webm,video/quicktime,qt mov,video/x-flv,flv,video/3gpp,3gp,video/x-matroska,mkv".split(/,/), i = 0; i < items.length; i += 2) for (ext = items[i + 1].split(/ /), y = 0; y < ext.length; y++) mimes[ext[y]] = items[i]; each({ flash: { type: "application/x-shockwave-flash" }, quicktime: { type: "video/quicktime" }, divx: { type: "video/divx" }, video: { type: "video/mpeg" }, audio: { type: "audio/mpeg" }, iframe: {}, pdf: { type: "application/pdf" } }, function(value, key) { value.name = key, value.classid && (lookup[value.classid] = value), value.type && (lookup[value.type] = value), lookup[key.toLowerCase()] = value; }); var createPlaceholderNode = function(editor, node) { var placeHolder = new Node("img", 1); return placeHolder.shortEnded = !0, retainAttributesAndInnerHtml(editor, node, placeHolder), placeHolder.attr({ src: transparentSrc, "data-mce-object": node.name }), isNonEditable(editor, node) && (placeHolder.attr("contenteditable", "false"), placeHolder.attr("data-mce-resize", "false")), placeHolder; }; function createReplacementNode(editor, node) { node = new tinymce.html.Serializer().serialize(node); return editor.dom.create("div", {}, node).firstChild; } var createPreviewNode = function(editor, node) { var name = node.name, msg = (msg = editor.getLang("media.preview_hint", "Click to activate, ALT + Click to toggle placeholder")).replace(/%s/g, "ALT"), src = (node.attr("autoplay") && (node.attr("data-mce-p-autoplay", node.attr("autoplay")), node.attr("autoplay", null)), "iframe" == name && node.attr("src") && (src = node.attr("src"), node.attr("data-mce-p-src", src), node.attr("src", src.replace("autoplay=1", "autoplay=0"))), [ "mce-object-preview", "mce-object-" + name ]), styles = {}, styleVal = editor.dom.parseStyle(node.attr("style")); return each([ "width", "height" ], function(key) { var val = node.attr(key) || styleVal[key] || ""; val && !/(%|[a-z]{1,3})$/.test(val) && (val += "px"), styles[key] = val; }), each(styleVal, function(value, key) { /(margin|float|align)/.test(key) && (styles[key] = value); }), isCenterAligned(styleVal) && (src.push("mce-object-preview-center"), delete styles["margin-left"], delete styles["margin-right"]), styleVal.float && (src.push("mce-object-preview-" + styleVal.float), delete styles.float), src = Node.create("span", { contentEditable: "false", "data-mce-contenteditable": "true", "data-mce-object": name, class: src.join(" "), "aria-details": msg, "data-mce-resize": function(node) { return "video" === node.name ? "proportional" : "iframe" === node.name ? isSupportedMedia(editor, node.attr("src")) ? "proportional" : "true" : "false"; }(node), style: editor.dom.serializeStyle(styles) }), msg = Node.create(name, { src: node.attr("src") }), retainAttributesAndInnerHtml(editor, node, msg), name = Node.create("span", { class: "mce-object-shim" }), src.append(msg), src.append(name), src; }; function processNodeAttributes(editor, tag, node) { var key, params, attribs = {}, styles = {}, boolAttrs = editor.schema.getBoolAttrs(); for (key in node.attributes.map) { var align, styleObject, value = node.attributes.map[key]; "src" === key && "img" === node.name || "draggable" === key || "contenteditable" === key || 0 === key.indexOf("on") || 0 === (key = "data-mce-width" !== (key = 0 === key.indexOf("data-mce-p-") ? key.substring(11) : key) && "data-mce-height" !== key ? key : key.substring(9)).indexOf("data-mce-") || "span" == node.name && node.attr("data-mce-object") || !editor.schema.isValid(tag, key) && -1 == key.indexOf("-") || ("class" === key && ((align = value.match(/mce-object-preview-(left|center|right)/)) && (styles = extend(styles, alignStylesMap[align[1]]), node.attr("style") || node.attr("style", editor.dom.serializeStyle(styles))), value = function(value) { return value && (value = value.replace(/\s?mce-([\w-]+)/g, "").replace(/\s+/g, " "), value = 0 < (value = tinymce.trim(value)).length ? value : null), value || null; }(value)), "style" === key && value && (styleObject = editor.dom.parseStyle(value), each([ "width", "height" ], function(key) { var attrValue; return "audio" === tag || !styleObject[key] || ((attrValue = tinymce.is(node.attr(key)) ? node.attr(key) : "") && !/\D/.test(attrValue) && (attrValue += "px"), void (attrValue && attrValue == styleObject[key] && delete styleObject[key])); }), styleObject = extend(styleObject, styles), value = (value = editor.dom.serializeStyle(styleObject)) || null), "src" !== key && "poster" !== key && "data" !== key || (value = editor.convertURL(value)), boolAttrs[key] && (value = key), attribs[key] = value); } return node.attr("data") || (params = node.getAll("param")).length && (value = (params = params[0]).attr("src") || params.attr("url") || null) && (attribs.src = editor.convertURL(value), params.remove()), attribs; } function nodeToMedia(editor, node) { var elm, parent, embed, tag = node.attr("data-mce-object"), node = (isResponsiveMedia(node) && ((parent = node.parent).attr("contenteditable", null), parent.attr("data-mce-contenteditable", null)), elm = new Node(tag, 1), parent = processNodeAttributes(editor, tag, node), /\s*mce-object-preview\s*/.test(node.attr("class")) && node.firstChild && node.firstChild.name === tag && (node = node.firstChild), parent = extend(parent, processNodeAttributes(editor, tag, node)), elm.attr(parent), node.attr("data-mce-html")); return node && (node = parseHTML(unescape(node)), each(node, function(child) { var inner; "html" === child.name ? ((inner = new Node("#text", 3)).raw = !0, inner.value = sanitize(editor, child.value), elm.append(inner)) : ((inner = new Node(child.name, 1)).shortEnded = !0, each(child.value, function(val, key) { htmlSchema.isValid(inner.name, key) && inner.attr(key, val); }), elm.append(inner), "source" == inner.name && inner.attr("src") == elm.attr("src") && elm.attr("src", null)); })), elm.attr("data-mce-html", null), "object" === tag && 0 === elm.getAll("embed").length && "application/x-shockwave-flash" != (node = elm.attr("type")) && "application/pdf" != node && ((embed = new Node("embed", 1)).shortEnded = !0, each(parent, function(value, name) { "data" === name && embed.attr("src", value), htmlSchema.isValid("embed", name) && embed.attr(name, value); }), elm.append(embed)), "iframe" === tag && updateSandbox(editor, elm), elm; } function convertMediaToPlaceholder(editor, node) { var media_live_embed = editor.settings.media_live_embed, strict_embed = !1 !== editor.settings.media_strict_embed; if (node.parent.attr("data-mce-object")) return !1; if (node.firstChild && "bookmark" == node.firstChild.attr("data-mce-type") && node.firstChild.remove(), "iframe" === node.name) if (node.attr("src")) { if (!1 === validateIframe(editor, node)) return node.remove(), !1; } else media_live_embed = !1; if (!isValidElement(editor, node.name) && !isNonEditable(editor, node)) return node.remove(), !1; if ("iframe" !== node.name) { var src = node.attr("src") || node.attr("data") || "", type = node.attr("type") || node.attr("data-mce-p-type") || ""; if (!src) { if ("video" === node.name || "audio" === node.name) { for (var sources = node.getAll("source"), j = 0; j < sources.length; j++) { var source = sources[j]; !source.attr("src") || isSupportedUrl(editor, node.name, source.attr("src")) || (source.remove(), sources.splice(j, 1)); } sources.length && (src = sources[0].attr("src"), type = sources[0].attr("type") || type); } if ("object" === node.name) { var params = node.getAll("param"); if (params.length) for (j = 0; j < params.length; j++) { var param = params[j]; param.attr("movie") && (src = param.attr("value")); } src || (embed = node.getAll("embed")).length && (src = embed[0].attr("src"), type = embed[0].attr("type") || type); } } if (!src) return media_live_embed = !1; if (!isSupportedUrl(editor, node.name, src)) return node.remove(), !1; if (strict_embed) { var embed, newName = isSupportedMedia(editor, src, type); if (!newName) return node.remove(), !1; if ("iframe" == newName && !isSupportedProvider(editor, src)) return node.remove(), !1; newName !== node.name && each(node.children(), function(elm) { editor.schema.isValidChild(newName, elm.name) || elm.remove(); }), node.name = newName, node.attr("src", src), "object" == newName && (node.attr("data", src), node.attr("src", null), embed = stripQuery(src).split(".").pop(), node.attr("type", mimes[embed] || "application/octet-stream")); } } !media_live_embed || isObjectEmbed(node.name) || isResponsiveMedia(node) || isNonEditable(editor, node) ? isWithinEmbed(node) || (isResponsiveMedia(node) && node.parent.attr({ contentEditable: "false", "data-mce-contenteditable": "true" }), node.replace(createPlaceholderNode(editor, node))) : isWithinEmbed(node) || node.replace(createPreviewNode(editor, node)); } var retainAttributesAndInnerHtml = function(editor, sourceNode, targetNode) { var attrName, attrValue, attribs, ai, innerHtml, boolAttrs = editor.schema.getBoolAttrs(), src = sourceNode.attr("src"), style = (src && (defaultAttributes = getMediaProps(0, { src: src }, isSupportedMedia(editor, src)), each(defaultAttributes, function(val, name) { tinymce.is(sourceNode.attr(name)) || name in boolAttrs || ("style" === name && tinymce.is(val, "object") && (val = editor.dom.serializeStyle(val)), sourceNode.attr(name, val)); }), updateSandbox(editor, sourceNode)), editor.dom.parseStyle(sourceNode.attr("style"))), defaultAttributes = sourceNode.attr("width") || style.width || "", height = sourceNode.attr("height") || style.height || "", style = editor.dom.parseStyle(sourceNode.attr("style")); for (each([ "bgcolor", "align", "border", "vspace", "hspace" ], function(na) { var v = sourceNode.attr(na); if (v) { switch (na) { case "bgcolor": style["background-color"] = v; break; case "align": /^(left|right)$/.test(v) ? style.float = v : style["vertical-align"] = v; break; case "vspace": style["margin-top"] = v, style["margin-bottom"] = v; break; case "hspace": style["margin-left"] = v, style["margin-right"] = v; break; default: style[na] = v; } sourceNode.attr(na, null); } }), ai = (attribs = sourceNode.attributes).length; ai--; ) attrName = attribs[ai].name, attrValue = attribs[ai].value, "data-mce-html" === attrName || "data-mce-clipboard-media" === attrName ? targetNode.attr(attrName, attrValue) : -1 !== attrName.indexOf("data-mce") && -1 === attrName.indexOf("data-mce-p-") || (-1 !== (attrName = 0 === (attrName = "img" !== targetNode.name || htmlSchema.isValid("img", attrName) && "src" != attrName ? attrName : "data-mce-p-" + attrName).indexOf("on") && editor.settings.allow_event_attributes ? "data-mce-p-" + attrName : attrName).indexOf("-") ? targetNode.attr(attrName, attrValue) : (htmlSchema.isValid(targetNode.name, attrName) && targetNode.attr(attrName, attrValue), tinymce.is(boolAttrs[attrName]) && "false" == attrValue && targetNode.attr(attrName, null), "sandbox" == attrName && !1 === attrValue && targetNode.attr(attrName, null))); defaultAttributes && !style.width && (style.width = /^[0-9.]+$/.test(defaultAttributes) ? defaultAttributes + "px" : defaultAttributes), height && !style.height && (style.height = /^[0-9.]+$/.test(height) ? height + "px" : height); var agent, defaultAttributes = [], height = (sourceNode.attr("class") && (defaultAttributes = sourceNode.attr("class").replace(/mce-(\S+)/g, "").replace(/\s+/g, " ").trim().split(" ")), lookup[sourceNode.attr("type")] || lookup[sourceNode.attr("classid")] || { name: sourceNode.name }); defaultAttributes.push("mce-object mce-object-" + height.name), "audio" == sourceNode.name && (agent = navigator.userAgent.match(/(Chrome|Safari|Gecko)/)) && defaultAttributes.push("mce-object-agent-" + agent[0].toLowerCase()), targetNode.attr("class", tinymce.trim(defaultAttributes.join(" "))), (agent = editor.dom.serializeStyle(style)) && targetNode.attr("style", agent), src || (defaultAttributes = sourceNode.getAll("source")).length && (agent = defaultAttributes[0], src = "src", "img" === targetNode.name && (src = "data-mce-p-" + src), targetNode.attr(src, agent.attr("src"))), "object" === sourceNode.name && (sourceNode.attr("data") || (defaultAttributes = sourceNode.getAll("param"), each(defaultAttributes, function(param) { if ("src" === param.attr("name") || "url" === param.attr("name")) return targetNode.attr({ "data-mce-p-data": param.attr("value") }), !1; })), targetNode.attr("data-mce-p-type", height.type)), (innerHtml = sourceNode.firstChild ? new tinymce.html.Serializer({ inner: !0 }).serialize(sourceNode) : innerHtml) && (targetNode.attr("data-mce-html", escape(sanitize(editor, innerHtml))), targetNode.empty()); }, isWithinEmbed = function(node) { for (;node = node.parent; ) if (node.attr("data-mce-object")) return !0; return !1; }; function htmlToData(ed, mediatype, html) { var data = { innerHTML: "" }; try { html = unescape(html); } catch (e) {} html = parseHTML(html); return each(html, function(node, i) { var val; "source" == node.name && (data.source || (data.source = []), val = ed.convertURL(node.value.src), data.source.push(val)), "param" == node.name && (val = node.value.name, -1 !== tinymce.inArray([ "src", "data", "movie", "url", "source" ], val) && (node.value.value = ed.convertURL(node.value.value)), data[node.value.name] = node.value.value), "track" == node.name && (data.innerHTML += ed.dom.createHTML(node.name, node.value)), "html" == node.name && (data.innerHTML += node.value); }), data; } function updateMedia(ed, data, elm) { var preview, attribs = {}, node = ed.dom.getParent(elm || ed.selection.getNode(), "[data-mce-object]"), boolAttrs = ed.schema.getBoolAttrs(), nodeName = (boolAttrs.preload = !0, node.nodeName.toLowerCase()), elm = (each([ "block", "center", "left", "right" ], function(val) { ed.dom.removeClass(node, "mce-object-preview-" + val); }), -1 !== node.className.indexOf("mce-object-preview") && (nodeName = (preview = node).getAttribute("data-mce-object"), node = ed.dom.select(nodeName, node)[0]), preview && preview.removeAttribute("style"), each(data, function(value, name) { if ("innerHTML" === name && value) return attribs["data-mce-html"] = escape(value), !0; if ("img" !== nodeName && !htmlSchema.isValid(nodeName, name) && -1 == name.indexOf("-")) return !0; if (name in boolAttrs && ("false" == value || !value) && (value = null, "autoplay" == name) && (attribs["data-mce-p-" + name] = null), "img" === nodeName && (!htmlSchema.isValid(nodeName, name) || "src" === name) && null !== value) return attribs["data-mce-p-" + name] = value, !0; if ("iframe" == nodeName && "src" == name && (value = (attribs["data-mce-p-" + name] = value).replace("autoplay=1", "autoplay=1")), "class" == name && value) return ed.dom.addClass(node, value), !0; if ("style" == name) { if (value) return tinymce.is(value, "object") && (value = ed.dom.serializeStyle(value)), ed.dom.setStyles(node, ed.dom.parseStyle(value)), !0; value = null; } attribs[name] = value = "sandbox" == name && !1 === value ? null : value; }), ed.dom.setAttribs(node, attribs), ed.dom.parseStyle(node.getAttribute("style"))); preview && (isCenterAligned(elm) && ed.dom.addClass(preview, "mce-object-preview-center"), elm.float) && ed.dom.addClass(preview, "mce-object-preview-" + elm.float), each([ "width", "height" ], function(key) { attribs[key] && (ed.dom.setStyle(node, key, attribs[key]), preview) && ed.dom.setStyle(preview, key, attribs[key]); }); } tinymce.PluginManager.add("media", function(ed, url) { var custom_sandbox_iframes_exclusions = ed.getParam("media_iframes_sandbox_exclusions"); function isMediaObject(node) { return node = node || ed.selection.getNode(), ed.dom.getParent(node, "[data-mce-object]"); } function isMediaNode(node) { return node && isMediaObject(node); } function findMediaNode(elm, nodeName) { nodeName = ed.dom.select(nodeName, elm); return nodeName.length ? nodeName[0] : null; } function objectActivate(ed, e) { var node = isMediaObject(e.target); node && !isNonEditable(ed, node) && (ed.selection.select(node), ed.dom.getAttrib(node, "data-mce-selected") && node.setAttribute("data-mce-selected", "2"), "mousedown" === e.type && e.altKey && "IMG" !== node.nodeName && (e.target = function(editor, node) { var ifr = new tinymce.html.DomParser({}, editor.schema).parse(node.innerHTML).firstChild, ifr = createReplacementNode(editor, createPlaceholderNode(editor, ifr)); return editor.dom.replace(ifr, node), ifr; }(ed, node)), e.stopImmediatePropagation(), e.preventDefault()); } function setClipboardData(ed, e) { var node, e = e.clipboardData; e && (node = isMediaObject()) && (isNonEditable(ed, node) ? e.clearData() : (ed.selection.select(node), ed = { html: node = ed.selection.getContent({ contextual: !0 }), text: node.toString() }, e.clearData(), e.setData("text/html", ed.html), e.setData("text/plain", ed.text))); } function updatePreviewSelection(ed) { each(ed.dom.select(".mce-object-preview", ed.getBody()), function(node) { !ed.dom.isBlock(node.parentNode) || node.previousSibling || node.nextSibling || ed.dom.insertAfter(ed.dom.create("br", { "data-mce-bogus": 1 }), node); }); } custom_sandbox_iframes_exclusions && "string" == typeof custom_sandbox_iframes_exclusions && (custom_sandbox_iframes_exclusions = custom_sandbox_iframes_exclusions.split(",").map(function(item) { return item.trim(); })), sandbox_iframes_exclusions = sandbox_iframes_exclusions.concat(custom_sandbox_iframes_exclusions), ed.onMouseDown.add(objectActivate), ed.onKeyDown.add(objectActivate), ed.onNodeChange.addToTop(function(ed, cm, n, collapsed, o) { !isMediaNode(n) || isNonEditable(ed, n) || o.contenteditable || (o.contenteditable = !0); }), ed.onPreInit.add(function() { var editor; ed.onUpdateMedia.add(function(ed, o) { o.before && o.after && isSupportedMedia(ed, o.before) && each(ed.dom.select("video.mce-object, audio.mce-object, iframe.mce-object, img.mce-object"), function(elm) { var html, src = elm.getAttribute("src"); "IMG" === elm.nodeName && (src = elm.getAttribute("data-mce-p-src")), "VIDEO" !== elm.nodeName && "AUDIO" !== elm.nodeName || ((html = elm.getAttribute("data-mce-html")) && (html = ed.dom.create(elm.nodeName, {}, unescape(html)), each(html.childNodes, function(el) { "SOURCE" == el.nodeName && el.getAttribute("src") == o.before && el.setAttribute("src", o.after); }), elm.setAttribute("data-mce-html", escape(html.innerHTML))), (html = elm.getAttribute("poster")) && html == o.before && elm.setAttribute("poster", o.after)), src == o.before && updateMedia(ed, { src: o.after }, elm); }); }), "html4" === ed.settings.schema && (ed.schema.addValidElements("iframe[longdesc|name|src|frameborder|marginwidth|marginheight|scrolling|align|width|height|allowfullscreen|seamless|*]"), ed.schema.addValidElements("video[src|autobuffer|autoplay|loop|controls|width|height|poster|*],audio[src|autobuffer|autoplay|loop|controls|*],source[src|type|media|*],embed[src|type|width|height|*]")), ed.parser.addNodeFilter("iframe,video,audio,object,embed", (editor = ed, function(nodes) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).parent && convertMediaToPlaceholder(editor, node); })), ed.serializer.addAttributeFilter("data-mce-object", function(nodes, name) { for (var node, i = nodes.length; i--; ) (node = nodes[i]).parent && !function(editor, node) { editor = nodeToMedia(editor, node); isObjectEmbed(editor.name) || node.empty(), node.replace(editor), node.empty(); }(ed, node); }), ed.dom.bind(ed.getDoc(), "touchstart", function(e) { objectActivate(ed, e); }); }), ed.onInit.add(function() { var settings = ed.settings; each([ "left", "right", "center" ], function(align) { ed.formatter.register("align" + align, { selector: "span[data-mce-object]", collapsed: !1, ceFalseOverride: !0, classes: "mce-object-preview-" + align, deep: !0, onremove: function(elm) { each([ "left", "right", "center" ], function(val) { ed.dom.removeClass(elm, "mce-object-preview-" + val); }); } }); }), ed.theme.onResolveName.add(function(theme, o) { var name, node = ed.dom.getParent(o.node, "[data-mce-object]"); node && (name = node.getAttribute("data-mce-object"), o.node !== node ? o.name = "" : ("IMG" !== node.nodeName && (node = ed.dom.select("iframe,audio,video", node), node = ed.dom.getAttrib(node, "src") || ed.dom.getAttrib(node, "data-mce-p-src") || "") && (node = isSupportedMedia(ed, node) || "") && (name = node[0].toUpperCase() + node.slice(1)), o.name = name = "object" === name ? "media" : name)); }), ed.onObjectResized.add(function(ed, elm, width, height) { isMediaNode(elm) && (ed.dom.hasClass(elm, "mce-object-preview") && (ed.dom.setStyles(elm, { width: "", height: "" }), elm = elm.firstChild), ed.dom.setAttrib(elm, "data-mce-width", width), ed.dom.setAttrib(elm, "data-mce-height", height), ed.dom.removeAttrib(elm, "width"), ed.dom.removeAttrib(elm, "height"), ed.dom.setStyles(elm, { width: width, height: height })); }), ed.dom.bind(ed.getDoc(), "keyup click", function(e) { var node = ed.selection.getNode(); node.hasAttribute("data-mce-object") && (each(ed.dom.select(".mce-object-preview video, .mce-object-preview audio"), function(elm) { elm.pause(); }), node) && "IMG" === node.nodeName && "object" !== node.getAttribute("data-mce-object") && !isNonEditable(ed, node) && "click" === e.type && e.altKey && (e.target = function(editor, node) { for (var name, placeholder = new Node("img", 1), attributes = (placeholder.shortEnded = !0, node.attributes), i = attributes.length; i--; ) name = attributes[i].nodeName, placeholder.attr(name, "" + node.getAttribute(name)); var elm = nodeToMedia(editor, placeholder), elm = createReplacementNode(editor, createPreviewNode(editor, elm)); return editor.dom.replace(elm, node), elm; }(ed, node)); }), ed.onBeforeExecCommand.add(function(ed, cmd, ui, values, o) { var range; !cmd || "ApplyFormat" != cmd && "RemoveFormat" != cmd && "ToggleFormat" != cmd || (cmd = ed.selection.getNode(), isMediaNode(cmd = tinymce.is(values, "object") && values.node ? values.node : cmd) && "IMG" !== cmd.nodeName && ((cmd = findMediaNode(cmd, cmd.getAttribute("data-mce-object"))) && ((range = ed.dom.createRng()).setStart(cmd, 0), range.setEnd(cmd, 0), (ed = ed.selection.getSel()).removeAllRanges(), ed.addRange(range)), cmd) && tinymce.is(values, "object") && (values.node = cmd)); }), ed.onBeforeSetContent.add(function(ed, o) { settings.media_live_embed && (o.content = o.content.replace(/
              ]+>/gi, ""), /^<(iframe|video|audio)([^>]+)><\/(iframe|video|audio)>$/.test(o.content)) && (o.content += '
              '); }); }), ed.onKeyDown.add(function(ed, e) { var node = ed.selection.getNode(); e.keyCode !== VK.BACKSPACE && e.keyCode !== VK.DELETE || node && isMediaNode(node = node === ed.getBody() ? e.target : node) && (isNonEditable(ed, node) ? e.preventDefault() : (node = ed.dom.getParent(node, "[data-mce-object]") || node, ed.dom.remove(node), ed.nodeChanged())); }), ed.onCopy.add(setClipboardData), ed.onCut.add(setClipboardData), ed.onSetContent.add(function(ed, o) { updatePreviewSelection(ed); }), ed.onWfEditorSave.add(function(ed, o) { var body = DOM.create("div", {}, o.content); each(DOM.select("audio,video,object,iframe,embed", body), function(tag) { var name = tag.nodeName.toLowerCase(); isValidElement(ed, name) || isNonEditable(ed, tag) || DOM.remove(tag); }), o.content = body.innerHTML; }), tinymce.util.MediaEmbed = { dataToHtml: function(name, data, innerHtml) { var html = ""; return html = "iframe" !== name && "video" !== name && "audio" !== name ? html : "string" == typeof data ? data : ed.dom.createHTML(name, data, innerHtml); } }, ed.addCommand("insertMediaHtml", function(ui, value) { var data = {}, name = "iframe", innerHtml = "", value = ("string" == typeof value ? data = value : value.name && value.data && (name = value.name, data = value.data, innerHtml = value.innerHtml || ""), tinymce.util.MediaEmbed.dataToHtml(name, data, innerHtml)); ed.execCommand("mceInsertContent", !1, value, { skip_undo: 1 }), updatePreviewSelection(ed), ed.undoManager.add(); }), extend(this, { getMediaData: function() { return function(ed) { var data = {}, node = ed.dom.getParent(ed.selection.getNode(), "[data-mce-object]"), boolAttrs = ed.schema.getBoolAttrs(); if (node && 1 == node.nodeType) { if (-1 !== node.className.indexOf("mce-object-preview")) { for (i = (attribs = node.attributes).length - 1; 0 <= i; i--) "contenteditable" != (name = attribs.item(i).name) && -1 == name.indexOf("data-mce-") && -1 == name.indexOf("aria-") && (data[name] = ed.dom.getAttrib(node, name)); node = ed.dom.select("audio,video,iframe", node)[0]; } var i, attribs, mediatype = node.getAttribute("data-mce-object") || node.nodeName.toLowerCase(), html = ed.dom.getAttrib(node, "data-mce-html"); for ((data = html ? extend(data, htmlToData(ed, 0, html)) : data).src = ed.dom.getAttrib(node, "data-mce-p-src") || ed.dom.getAttrib(node, "data-mce-p-data") || ed.dom.getAttrib(node, "src"), data.src = ed.convertURL(data.src), data.src == transparentSrc && (data.src = ""), i = (attribs = node.attributes).length - 1; 0 <= i; i--) { var value, name = attribs.item(i).name; value = ed.dom.getAttrib(node, name), "data" !== (name = -1 !== name.indexOf("data-mce-p-") ? name.substr(11) : name) && "src" !== name && "type" !== name && "codebase" !== name && "classid" !== name && ("poster" === name && (value = ed.convertURL(value)), "flashvars" === name && (value = decodeURIComponent(value)), -1 === name.indexOf("data-mce-")) && ("class" == name && (value = value.replace(/mce-[\w\-]+/g, "").replace(/\s+/g, " ").trim()), boolAttrs[name] && (value = !0), data[name] = value); } each([ "width", "height" ], function(key) { var val = ed.dom.getAttrib(node, key); val ? data[key] = val : (val = ed.dom.getStyle(node, key)) && -1 === val.indexOf("%") && !isNaN(parseInt(val, 10)) && (data[key] = parseInt(val, 10)); }), data.mediatype = mediatype; } return data; }(ed); }, getMediaProps: function(data, provider) { return getMediaProps(0, data, provider); }, updateMedia: function(data) { return updateMedia(ed, data); }, isMediaObject: isMediaObject, isSupportedMedia: function(url) { return isSupportedMedia(ed, url); }, getMediaHtml: function(data) { return function(ed, value) { var nodeName = "iframe", attribs = {}, innerHTML = "", src = stripQuery((value = "string" == typeof value ? { src: value } : value).src), boolAttrs = (/\.(mp4|m4v|ogg|webm|ogv)$/.test(src) ? nodeName = "video" : /\.(mp3|m4a|oga)$/.test(src) && (nodeName = "audio"), nodeName = value.mediatype || nodeName, ed.schema.getBoolAttrs()); return each(value, function(val, name) { if ("" == val && !boolAttrs[name]) return !0; value.innerHTML && (innerHTML = value.innerHTML), !ed.schema.isValid(nodeName, name) && -1 === name.indexOf("-") || ("class" == name && (val = val.replace(/mce-(\S+)/g, "").replace(/\s+/g, " ").trim()), attribs[name] = val); }), "iframe" != nodeName || attribs.sandbox || (attribs.sandbox = ""), ed.dom.createHTML(nodeName, attribs, innerHTML); }(ed, data); }, isMediaHtml: function(html) { return !!(html = html.trim().match(/^<([a-zA-Z0-9]+)\b/)) && isPreviewMedia(html[1].toLowerCase()); }, convertMediaToPlaceholder: function(node) { return convertMediaToPlaceholder(ed, node); } }); }); }();plugins/media/tests/media.html000060400000021052152456730070012420 0ustar00 Unit tests for the Media plugin

              Unit tests for the Paste plugin

                plugins/styleselect/plugin.js000060400000032031152456730070012425 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, PreviewCss = tinymce.util.PreviewCss, NodeType = tinymce.dom.NodeType, DOM = tinymce.DOM, Event = tinymce.dom.Event; function compileFilter(filter) { var filters; return Array.isArray(filter) ? (filters = filter.map(compileFilter), function(value) { return filters.every(function(filterFunc) { return filterFunc(value); }); }) : "string" == typeof filter && filter ? function(value) { return -1 !== value.indexOf(filter); } : filter instanceof RegExp ? function(value) { return filter.test(value); } : filter; } tinymce.PluginManager.add("styleselect", function(ed, url) { this.createControl = function(n, cf) { return "styleselect" !== n ? null : !1 !== ed.getParam("styleselect_stylesheets") || ed.getParam("style_formats") || ed.getParam("styleselect_custom_classes") ? ((ctrl = ed.controlManager.createListBox("styleselect", { title: "advanced.style_select", max_height: 384, filter: !0, keepopen: !0, menu_class: "mceStylesListMenu", onselect: function(name) { function isRoot(node) { return node === ed.dom.getRoot(); } var fmt, removedFormat, matches = [], selection = ed.selection, node = selection.getNode(), collectNodesInRange = function(rng, predicate) { if (rng.collapsed) return []; for (var rng = rng.cloneContents(), walker = new tinymce.dom.TreeWalker(rng.firstChild, rng), elements = [], current = rng.firstChild; predicate(current) && elements.push(current), current = walker.next(); ); return elements; }, inlineTextElements = ed.schema.getTextInlineElements(), isElement = function(elm) { return NodeType.isElement(elm) && !NodeType.isInternal(elm) && !inlineTextElements[elm.nodeName.toLowerCase()]; }, nodes = (ed.focus(), ed.undoManager.add(), [ node ]), isCollapsed = selection.isCollapsed(); if (isRoot(node)) { if (isCollapsed) return !1; node = selection.getSelectedBlocks(); node.length && (nodes = node); } return each(nodes, function(node) { var sel, bookmark = selection.getBookmark(); each(ctrl.items, function(item) { (fmt = ed.formatter.matchNode(node, item.value)) && matches.push(fmt); }), isCollapsed || 0 !== collectNodesInRange(ed.selection.getRng(), isElement).length || (node = null), isRoot(node) && (node = null), selection.moveToBookmark(bookmark), !node && isCollapsed && (sel = selection.getSel()).anchorNode && NodeType.isElement(sel.anchorNode) && !ed.dom.isBlock(sel.anchorNode) && !isRoot(sel.anchorNode) && (node = sel.anchorNode), each(matches, function(match) { name && match.name != name || (ed.execCommand("RemoveFormat", !1, { name: match.name, node: match.block ? null : node }), removedFormat = !0); }), removedFormat || (ed.formatter.get(name) ? ed.execCommand("ToggleFormat", !1, { name: name, node: node }) : (node = selection.getNode(), ed.execCommand("ToggleFormat", !1, { name: "classname", node: node }), ctrl.add(name, name))), selection.moveToBookmark(bookmark), selection.isCollapsed() && node && node.parentNode && ((sel = ed.dom.createRng()).setStart(node, 0), sel.setEnd(node, 0), sel.collapse(), ed.selection.setRng(sel), ed.nodeChanged()); }), !1; } })).onBeforeRenderMenu.add(function(ctrl, menu) { loadClasses(), menu.onShowMenu.add(function() { removeFilterTags(), each(ctrl.items, function(item) { item.selected && addFilterTag(item); }); }); }), ctrl.onRenderMenu.add(function(ctrl, menu) { menu.onFilterInput.add(function(menu, evt) { var elm, tags, val; 8 != evt.keyCode || (elm = evt.target).value || (tags = DOM.select("button", elm.parentNode.parentNode)).length && (val = (tags = tags.pop()).textContent, removeFilterTag(tags), evt.preventDefault(), elm.value = val, elm.focus()); }); }), !1 === ed.settings.styleselect_stylesheets && (ctrl.hasClasses = !0), counter = 0, ed.onNodeChange.add(function(ed, cm, node) { var matches, cm = cm.get("styleselect"); cm && (loadClasses(), matches = [], removeFilterTags(), each(cm.items, function(item) { ed.formatter.matchNode(node, item.value) && (matches.push(item.value), addFilterTag(item)); }), cm.select(matches)); }), ed.onPreInit.add(function() { var formats = ed.getParam("style_formats"), styles = ed.getParam("styleselect_custom_classes", "", "hash"), preview_styles = ed.getParam("styleselect_preview_styles", !0); if (ed.formatter.register("classname", { attributes: { class: "%value" }, selector: "*", ceFalseOverride: !0 }), formats) { if ("string" == typeof formats) try { formats = JSON.parse(formats); } catch (e) { formats = []; } each(formats, function(fmt) { var frag, name, keys = 0; each(fmt, function() { keys++; }), 1 < keys ? (name = fmt.name = fmt.name || "style_format_" + counter++, tinymce.is(fmt.attributes, "string") && (fmt.attributes = ed.dom.decode(fmt.attributes), frag = ed.dom.createFragment("
                "), frag = ed.dom.getAttribs(frag.firstChild), fmt.attributes = {}, each(frag, function(node) { var name, isvalid, invalid, key = node.name, node = "" + node.value; if (name = key, isvalid = !0, (invalid = ed.settings.invalid_attributes) && (each(invalid.split(","), function(val) { name === val && (isvalid = !1); }), !isvalid)) return !0; "onclick" !== key && "ondblclick" !== key || (fmt.attributes[key] = "return false;", key = "data-mce-" + key), fmt.attributes[key] = ed.dom.decode(node); })), tinymce.is(fmt.styles, "string") && (fmt.styles = ed.dom.parseStyle(fmt.styles), each(fmt.styles, function(value, key) { fmt.styles[key] = ed.dom.decode(value = "" + value); })), tinymce.is(fmt.ceFalseOverride) || (fmt.ceFalseOverride = !0), ed.formatter.register(name, fmt), ctrl.add(fmt.title, name, { style: function() { return preview_styles ? PreviewCss.getCssText(ed, fmt, !0) : ""; } })) : ctrl.add(fmt.title); }); } styles && each(styles, function(val, key) { var name, fmt, element; val && (val = 1 < (val = (val = (val = val).replace(/^\./, "")).split(".")).length ? (element = val[0] || "*", val.slice(1).join(".")) : (element = "*", val[0]), name = "style_custom_" + counter++, fmt = { classes: (val = { element: element, className: val }).className, selector: val.element, ceFalseOverride: !0 }, "*" == val.element && (fmt.inline = "span"), ed.formatter.register(name, fmt), key = key && key.replace(/^\./, ""), ctrl.add(ed.translate(key), name, { style: function() { return preview_styles ? PreviewCss.getCssText(ed, fmt, !0) : ""; } })); }); }), ctrl) : void 0; function removeFilterTags() { var filter = DOM.get("menu_" + ctrl.id + "_menu_filter"); filter && DOM.remove(DOM.select("button.mceButton", filter)); } function removeFilterTag(tag, item) { DOM.remove(tag), item || each(ctrl.items, function(n) { if (n.value == tag.value) return item = n, !1; }), item && item.onAction && item.onAction(); } function addFilterTag(item) { var filter, btn; ctrl.menu && (filter = DOM.get("menu_" + ctrl.id + "_menu_filter"), btn = DOM.create("button", { class: "mceButton", value: item.value }, ""), filter) && (DOM.insertBefore(btn, filter.lastChild), Event.add(btn, "click", function(evt) { evt.preventDefault(), "LABEL" !== evt.target.nodeName && removeFilterTag(btn, item); })); } function loadClasses() { var preview_styles; ed.settings.importcss_classes || ed.onImportCSS.dispatch(), Array.isArray(ed.settings.importcss_classes) && !ctrl.hasClasses && (preview_styles = ed.getParam("styleselect_preview_styles", !0), each(ed.settings.importcss_classes, function(item, idx) { var idx = "style_import_" + (counter + idx), fmt = function(selectorText) { var format; if (selectorText) { if (ed.settings.styleselect_selector_filter) if (compileFilter(ed.settings.styleselect_selector_filter)(selectorText)) return; var selector = /^(?:([a-z0-9\-_]+))?(\.[a-z0-9_\-\.]+)$/i.exec(selectorText); if (selector) { var classes, inlineSelectorElements, elementName = selector[1]; if ("body" !== elementName) return classes = selector[2].substr(1).split(".").join(" "), inlineSelectorElements = tinymce.makeMap("a,img"), elementName ? (format = { title: selectorText }, ed.schema.getTextBlockElements()[elementName] ? format.block = elementName : ed.schema.getBlockElements()[elementName] || inlineSelectorElements[elementName.toLowerCase()] ? format.selector = elementName : format.inline = elementName) : selector[2] && (format = { inline: "span", selector: "*", title: selectorText.substr(1), split: !1, expand: !1, deep: !0 }), !1 !== ed.settings.importcss_merge_classes ? format.classes = classes : format.attributes = { class: classes }, format.ceFalseOverride = !0, format; } } }((item = "string" == typeof item ? { selector: item, class: "", style: "" } : item).selector); fmt && (ed.formatter.register(idx, fmt), ctrl.add(fmt.title, idx, { style: function() { return preview_styles && item.style || ""; } })); }), Array.isArray(ed.settings.importcss_classes)) && (ctrl.hasClasses = !0); } var ctrl, counter; }; }); }();plugins/article/plugin.js000060400000022444152456730070011517 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, each = tinymce.each, VK = tinymce.VK, BACKSPACE = VK.BACKSPACE, DELETE = VK.DELETE; tinymce.PluginManager.add("article", function(ed, url) { function isReadMore(n) { return ed.dom.is(n, "hr.mce-item-readmore"); } function isPageBreak(n) { return ed.dom.is(n, "hr.mce-item-pagebreak"); } function _cancelResize() { each(ed.dom.select("hr.mce-item-pagebreak, hr.mce-item-readmore"), function(n) { n.onresizestart = function() { return !1; }, n.onbeforeeditfocus = function() { return !1; }; }); } function insertBreak(s, args) { var h, dom = ed.dom, n = ed.selection.getNode(), blocks = "H1,H2,H3,H4,H5,H6,P,DIV,ADDRESS,PRE,FORM,TABLE,OL,UL,CAPTION,BLOCKQUOTE,CENTER,DL,DIR,FIELDSET,NOSCRIPT,NOFRAMES,MENU,ISINDEX,SAMP,SECTION,ARTICLE,HGROUP,ASIDE,FIGURE", n = dom.getParent(n, blocks, "BODY") || n, marker = (tinymce.extend(args, { class: "pagebreak" == s ? "mce-item-pagebreak" : "mce-item-readmore", "data-alt": args.alt || null }), args.alt = null, "readmore" == s && (args.id = "system-readmore"), ed.execCommand("mceInsertContent", !1, '\ufeff', { skip_undo: 1 }), dom.get("mce_hr_marker")), args = dom.create("hr", args); if (dom.isBlock(n)) { var ns, p = dom.getParent(marker, blocks, "BODY"); if ("P" == p.nodeName || "DIV" == p.nodeName) -1 !== p.className.indexOf("wf-column") ? (blocks = dom.getParent(n, ".wf-columns"), dom.insertAfter(marker, blocks)) : (dom.split(p, marker), (ns = marker.nextSibling) && ns.nodeName == p.nodeName && /^(\s| |\u00a00)*?$/.test(h) && dom.remove(ns)); else for (p ? "BODY" == p.parentNode.nodeName ? dom.insertAfter(marker, p) : p.parentNode.insertBefore(marker, p) : "BODY" == n.parentNode.nodeName ? dom.insertAfter(marker, n) : n.parentNode.insertBefore(marker, n), p = marker.parentNode; /^(H[1-6]|ADDRESS|PRE|FORM|TABLE|OL|UL|CAPTION|BLOCKQUOTE|CENTER|DL|DIR|FIELDSET|NOSCRIPT|NOFRAMES|MENU|ISINDEX|SAMP)$/.test(p.nodeName); ) p.parentNode.insertBefore(marker, p), p = marker.parentNode; (ns = marker.nextSibling) || (blocks = ed.getParam("forced_root_block") || "br", ns = ed.dom.create(blocks), "br" != blocks && (ns.innerHTML = "\xa0"), ed.dom.insertAfter(ns, marker), s = ed.selection.select(ns), ed.selection.collapse(1)); } ed.dom.replace(args, marker), ed.undoManager.add(); } ed.addCommand("mceReadMore", function() { if (ed.dom.get("system-readmore")) return alert(ed.getLang("article.readmore_alert", "There is already a Read More break inserted in this article. Only one such break is permitted. Use a Pagebreak to split the page up further.")), !1; insertBreak("readmore", { id: "system-readmore" }); }), ed.addCommand("mcePageBreak", function(ui, v) { var n = ed.selection.getNode(); isPageBreak(n) ? function(n, v) { tinymce.extend(v, { "data-alt": v.alt || "" }), v.alt = null, ed.dom.setAttribs(n, v); }(n, v) : insertBreak("pagebreak", v); }), ed.getParam("article_show_readmore", !0) && ed.addButton("readmore", { title: "article.readmore", cmd: "mceReadMore" }), ed.onInit.add(function() { ed.theme && ed.theme.onResolveName && ed.theme.onResolveName.add(function(theme, o) { var v, n = o.node; n && "HR" === n.nodeName && /mce-item-pagebreak/.test(n.className) && (v = "pagebreak"), (v = n && "HR" === n.nodeName && /mce-item-readmore/.test(n.className) ? "readmore" : v) && (o.name = v); }); }), ed.onNodeChange.add(function(ed, cm, n) { cm.setActive("readmore", isReadMore(n)), cm.setActive("pagebreak", isPageBreak(n)), ed.dom.removeClass(ed.dom.select("hr.mce-item-pagebreak.mce-item-selected, hr.mce-item-readmore.mce-item-selected"), "mce-item-selected"), (isPageBreak(n) || isReadMore(n)) && ed.dom.addClass(n, "mce-item-selected"); }), ed.onBeforeSetContent.add(function(ed, o) { o.content = o.content.replace(/]*?)>/gi, ''); }), ed.onPostProcess.add(function(ed, o) { o.get && (o.content = o.content.replace(/]*?)>/gi, '')); }), ed.onSetContent.add(function() { tinymce.isIE && _cancelResize(); }), ed.onGetContent.add(function() { tinymce.isIE && _cancelResize(); }), ed.onKeyDown.add(function(ed, e) { var n; e.keyCode != BACKSPACE && e.keyCode != DELETE || (n = ed.selection.getNode(), ed.dom.is(n, "hr.mce-item-pagebreak, hr.mce-item-readmore") && (ed.dom.remove(n), e.preventDefault())); }), ed.onPreInit.add(function() { ed.onBeforeSetContent.addToTop(function(ed, o) { o.content = o.content.replace(/]*)\salt="([^"]+)"([^>]*)>/gi, ''); }), ed.parser.addNodeFilter("hr", function(nodes) { for (var i = 0; i < nodes.length; i++) { var node = nodes[i], id = node.attr("id") || "", cls = node.attr("class") || ""; ("system-readmore" == id || /(mce-item|system)-pagebreak/.test(cls)) && (cls = /(mce-item|system)-pagebreak/.test(cls) ? "mce-item-pagebreak" : "mce-item-readmore", node.attr("class", cls), node.attr("alt")) && (node.attr("data-alt", node.attr("alt")), node.attr("alt", null)); } }), ed.serializer.addNodeFilter("hr", function(nodes, name, args) { for (var i = 0; i < nodes.length; i++) { var node = nodes[i], cls = node.attr("class") || ""; /mce-item-(pagebreak|readmore)/.test(cls) && (/mce-item-pagebreak/.test(node.attr("class")) ? node.attr("class", "system-pagebreak") : (node.attr("class", null), node.attr("id", "system-readmore")), node.attr("data-alt")) && (node.attr("alt", node.attr("data-alt")), node.attr("data-alt", null)); } }); }), ed.getParam("article_show_pagebreak", !0) && ed.addButton("pagebreak", { title: "article.pagebreak", onclick: function() { var html = '
                '; ed.windowManager.open({ title: ed.getLang("article.pagebreak", "PageBreak"), content: html, size: "mce-modal-landscape-small", open: function() { var label = ed.getLang("insert", "Insert"), title = DOM.get(ed.id + "_article_title"), alt = DOM.get(ed.id + "_article_alt"), o = function() { var o, n = ed.selection.getNode(); ed.dom.is(n, "hr.mce-item-pagebreak") && (o = { title: ed.dom.getAttrib(n, "title", ""), alt: ed.dom.getAttrib(n, "data-alt", "") }); return o; }(); o && (label = ed.getLang("update", "Update"), title.value = o.title || "", alt.value = o.alt || ""), DOM.setHTML(this.id + "_insert", label), window.setTimeout(function() { title.focus(); }, 10); }, buttons: [ { title: ed.getLang("cancel", "Cancel"), id: "cancel" }, { title: ed.getLang("insert", "Insert"), id: "insert", onsubmit: function(e) { var title = DOM.getValue(ed.id + "_article_title"), alt = DOM.getValue(ed.id + "_article_alt"); ed.execCommand("mcePageBreak", !1, { title: title, alt: alt }); }, classes: "primary" } ] }); } }); }); }();plugins/tabfocus/plugin.js000060400000004227152456730070011701 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, each = tinymce.each, explode = tinymce.explode; tinymce.PluginManager.add("tabfocus", function(ed, url) { function tabCancel(e) { 9 !== e.keyCode || e.ctrlKey || e.altKey || e.metaKey || e.preventDefault(); } function tabHandler(e) { var x, el, i, v; function find(direction) { function canSelect(el) { return /INPUT|TEXTAREA|BUTTON/.test(el.tagName) && tinymce.get(e.id) && -1 != el.tabIndex && function canSelectRecursive(e) { return "BODY" === e.nodeName || "hidden" != e.type && "none" != e.style.display && "hidden" != e.style.visibility && canSelectRecursive(e.parentNode); }(el); } if (el = DOM.select(":input:enabled,*[tabindex]:not(iframe)"), each(el, function(e, i) { if (e.id == ed.id) return x = i, !1; }), 0 < direction) { for (i = x + 1; i < el.length; i++) if (canSelect(el[i])) return el[i]; } else for (i = x - 1; 0 <= i; i--) if (canSelect(el[i])) return el[i]; return null; } 9 !== e.keyCode || e.ctrlKey || e.altKey || e.metaKey || e.isDefaultPrevented() || (1 == (v = explode(ed.getParam("tab_focus", ed.getParam("tabfocus_elements", ":prev,:next")))).length && (v[1] = v[0], v[0] = ":prev"), (el = e.shiftKey ? ":prev" == v[0] ? find(-1) : DOM.get(v[0]) : ":next" == v[1] ? find(1) : DOM.get(v[1])) && (v = tinymce.get(el.id || el.name), el.id && v ? v.focus() : setTimeout(function() { tinymce.isWebkit || window.focus(), el.focus(); }, 10), e.preventDefault())); } ed.onKeyUp.add(tabCancel), tinymce.isGecko ? (ed.onKeyPress.add(tabHandler), ed.onKeyDown.add(tabCancel)) : ed.onKeyDown.add(tabHandler); }); }();plugins/fontcolor/plugin.js000060400000007335152456730070012103 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, colors = "000000,993300,333300,003300,003366,000080,333399,333333,800000,FF6600,808000,008000,008080,0000FF,666699,808080,FF0000,FF9900,99CC00,339966,33CCCC,3366FF,800080,999999,FF00FF,FFCC00,FFFF00,00FF00,00FFFF,00CCFF,993366,FFFFFF,FF99CC,FFCC99,FFFF99,CCFFCC,CCFFFF,99CCFF,CC99FF"; tinymce.PluginManager.add("fontcolor", function(ed, url) { ed.onNodeChange.add(function(ed, cm, n, collapsed, o) { var c, fc, bc; function updateColor(controlId, color) { (c = cm.get(controlId)) && (color = color || c.settings.default_color) !== c.value && c.displayColor(color); } each(o.parents, function(n) { if (n.style && (n.style.color && (updateColor("forecolor", n.style.color), fc = !0), n.style.backgroundColor && (updateColor("backcolor", n.style.backgroundColor), bc = !0), fc) && bc) return !1; }); }), this.createControl = function(n) { return "forecolor" === n ? function() { var c, v, s = ed.settings, o = { more_colors_func: function() { ed.execCommand("mceColorPicker", !1, { color: c.value, func: function(co) { c.setColor(co); } }); } }; (v = s.fontcolor_foreground_colors || "") && (o.colors = v.replace("$default", colors)); o.default_color = s.fontcolor_foreground_color || "#000000", o.title = "advanced.forecolor_desc"; function applyColor(color) { if (!color) return ed.formatter.remove("forecolor"); ed.formatter.apply("forecolor", { value: color }), ed.undoManager.add(), ed.nodeChanged(); } return o.onselect = function(val) { applyColor(val); }, o.onclick = function(e, val) { applyColor(val); }, o.scope = this, c = ed.controlManager.createColorSplitButton("forecolor", o); }() : "backcolor" === n ? function() { var c, v, s = ed.settings, o = { more_colors_func: function() { ed.execCommand("mceColorPicker", !1, { color: c.value, func: function(co) { c.setColor(co); } }); } }; (v = s.fontcolor_background_colors || "") && (o.colors = v.replace("$default", colors)); o.default_color = s.fontcolor_background_color || "#FFFF00", o.title = "advanced.backcolor_desc"; function applyColor(color) { if (!color) return ed.formatter.remove("hilitecolor"); ed.formatter.apply("hilitecolor", { value: color }), ed.undoManager.add(), ed.nodeChanged(); } return o.onselect = function(val) { applyColor(val); }, o.onclick = function(e, val) { applyColor(val); }, o.scope = this, c = ed.controlManager.createColorSplitButton("backcolor", o); }() : void 0; }; }); }();plugins/fullscreen/plugin.js000060400000006237152456730070012240 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, Event = tinymce.dom.Event; tinymce.PluginManager.add("fullscreen", function(ed, url) { var width, height, bookmark, resize, overflow, de = DOM.doc.documentElement, element = (ed.onFullScreen = new tinymce.util.Dispatcher(), ed.onFullScreenResize = new tinymce.util.Dispatcher(), ed.getElement()), container = element.parentNode; ed.addCommand("mceFullScreen", function() { var iframe = DOM.get(ed.id + "_ifr"), s = ed.settings; try { bookmark = ed.selection.getBookmark(); } catch (e) {} var ih, h, ca, p, vp = DOM.getViewPort(), header = DOM.getPrev(element, ".wf-editor-header"); ed.getParam("fullscreen_enabled") ? (DOM.removeClass(container, "mce-fullscreen"), DOM.setStyle(container, "max-width", width + "px"), DOM.setStyle(iframe, "height", height), de.style.overflow = overflow, bookmark && ed.selection.moveToBookmark(bookmark), DOM.setStyle(element, "height", height), s.fullscreen_enabled = !1, resize && Event.remove(DOM.win, "resize", resize)) : (width = container.clientWidth, height = parseInt(iframe.style.height, 10), overflow = de.style.overflow, DOM.setStyle(container, "max-width", "100%"), DOM.setStyle(iframe, "max-width", "100%"), DOM.win.scrollTo(0, 0), ih = ed.settings.interface_height || (h = 0, ca = ed.getContentAreaContainer(), p = ca.parentNode, tinymce.each(p.childNodes, function(n) { n !== ca && (h += n.offsetHeight); }), h), ed.isHidden() || (ed.settings.container_height = ed.getContainer().offsetHeight, sessionStorage.setItem("wf-editor-container-height", ed.settings.container_height)), DOM.addClass(container, "mce-fullscreen"), window.setTimeout(function() { DOM.setStyle(iframe, "height", vp.h - ih - header.offsetHeight), DOM.setStyle(element, "height", vp.h - header.offsetHeight - 10), DOM.setStyle(element, "width", "100%"); }, 0), bookmark && ed.selection.moveToBookmark(bookmark), resize = Event.add(DOM.win, "resize", function() { vp = DOM.getViewPort(), DOM.setStyles(iframe, { height: vp.h - ih, "max-width": vp.w + "px" }), ed.onFullScreenResize.dispatch(ed, vp); }), de.style.overflow = "hidden", vp.h < 640 && (de.style.overflow = "scroll"), s.fullscreen_enabled = !0), ed.onFullScreen.dispatch(ed, s.fullscreen_enabled); }), ed.addButton("fullscreen", { title: "fullscreen.desc", cmd: "mceFullScreen" }), ed.addShortcut("meta+shift+f", "fullscreen.desc", "mceFullScreen"), ed.onNodeChange.add(function(ed, cm) { cm.setActive("fullscreen", ed.getParam("fullscreen_enabled")); }); }); }();plugins/autosave/plugin.js000060400000010553152456730070011721 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function(tinymce) { var Dispatcher = tinymce.util.Dispatcher, Storage = window.localStorage; Storage && (tinymce.onBeforeUnload.add(function(tinymce, e) { var msg; tinymce.each(tinymce.editors, function(editor) { editor.plugins.autosave && editor.plugins.autosave.storeDraft(), !msg && editor.isDirty() && editor.getParam("autosave_ask_before_unload") && (msg = editor.translate("You have unsaved changes are you sure you want to navigate away?"), "undefined" != typeof Joomla) && Joomla.loadingLayer && Joomla.loadingLayer("hide"); }), msg && (e.preventDefault(), e.returnValue = msg); }), tinymce.PluginManager.add("autosave", function(ed) { var prefix, started, self = this, settings = ed.settings; function parseTime(time, defaultTime) { return ((time = /^(\d+)([ms]?)$/.exec("" + (time || defaultTime)))[2] ? { s: 1e3, m: 6e4 }[time[2]] : 1) * parseInt(time, 10); } function hasDraft() { var time = parseInt(Storage.getItem(prefix + "time"), 10) || 0; if (!(new Date().getTime() - time > settings.autosave_retention)) return 1; removeDraft(!1); } function removeDraft(fire) { var content = Storage.getItem(prefix + "draft"); Storage.removeItem(prefix + "draft"), Storage.removeItem(prefix + "time"), !1 !== fire && content && self.onRemoveDraft.dispatch(self, { content: content }); } function storeDraft() { var content, expires; !isEmpty() && ed.isDirty() && (content = ed.getContent({ format: "raw", no_events: !0 }), expires = new Date().getTime(), Storage.setItem(prefix + "draft", content), Storage.setItem(prefix + "time", expires), self.onStoreDraft.dispatch(self, { expires: expires, content: content })); } function restoreDraft() { var content; hasDraft() && (content = Storage.getItem(prefix + "draft"), ed.setContent(content, { format: "raw" }), self.onRestoreDraft.dispatch(self, { content: content })); } function isEmpty(html) { var forcedRootBlockName = ed.settings.forced_root_block; return "" === (html = tinymce.trim(void 0 === html ? ed.getBody().innerHTML : html)) || new RegExp("^<" + forcedRootBlockName + "[^>]*>((\xa0| |[ \t]|]*>)+?|)|
                $", "i").test(html); } self.onStoreDraft = new Dispatcher(self), self.onRestoreDraft = new Dispatcher(self), self.onRemoveDraft = new Dispatcher(self), prefix = (prefix = (prefix = (prefix = settings.autosave_prefix || "tinymce-autosave-{path}{query}-{id}-").replace(/\{path\}/g, document.location.pathname)).replace(/\{query\}/g, document.location.search)).replace(/\{id\}/g, ed.id), settings.autosave_interval = parseTime(settings.autosave_interval, "30s"), settings.autosave_retention = parseTime(settings.autosave_retention, "20m"), ed.addButton("autosave", { title: "autosave.restore_content", onclick: function() { ed.undoManager.beforeChange(), restoreDraft(), removeDraft(), ed.undoManager.add(), ed.nodeChanged(); } }), ed.onNodeChange.add(function() { var controlManager = ed.controlManager; controlManager.get("autosave") && controlManager.setDisabled("autosave", !hasDraft()); }), ed.onInit.add(function() { !ed.controlManager.get("autosave") || started || (setInterval(function() { ed.removed || storeDraft(); }, settings.autosave_interval), started = !0); }), !1 !== ed.settings.autosave_restore_when_empty && (ed.onInit.add(function() { hasDraft() && isEmpty() && restoreDraft(); }), ed.onSaveContent.add(function() { removeDraft(); })), self.storeDraft = storeDraft; })); }(tinymce);plugins/formatselect/plugin.js000060400000005675152456730070012573 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var each = tinymce.each, fmts = { p: "advanced.paragraph", address: "advanced.address", pre: "advanced.pre", h1: "advanced.h1", h2: "advanced.h2", h3: "advanced.h3", h4: "advanced.h4", h5: "advanced.h5", h6: "advanced.h6", div: "advanced.div", div_container: "advanced.div_container", blockquote: "advanced.blockquote", code: "advanced.code", samp: "advanced.samp", span: "advanced.span", section: "advanced.section", article: "advanced.article", aside: "advanced.aside", header: "advanced.header", footer: "advanced.footer", nav: "advanced.nav", figure: "advanced.figure", dl: "advanced.dl", dt: "advanced.dt", dd: "advanced.dd" }; tinymce.PluginManager.add("formatselect", function(ed, url) { var nodes = []; function isFormat(n) { return !(n.getAttribute("data-mce-bogus") || -1 === tinymce.inArray(nodes, n.nodeName) || n.className && -1 !== n.className.indexOf("mce-item-")); } each(ed.getParam("formatselect_blockformats", fmts, "hash"), function(value, key) { "span" !== key && nodes.push(key.toUpperCase()); }), ed.onNodeChange.add(function(ed, cm, n) { var cm = cm.get("formatselect"), value = ""; cm && ((n = ed.dom.getParent(n, isFormat, ed.getBody())) && n.nodeName && "pre" === (value = n.nodeName.toLowerCase()) && (value = n.getAttribute("data-mce-code") || n.getAttribute("data-mce-type") || value), cm.select(value)); }), this.createControl = function(n, cf) { var ctrl, PreviewCss, preview_styles; if ("formatselect" === n) return PreviewCss = tinymce.util.PreviewCss, ctrl = ed.controlManager.createListBox("formatselect", { title: "advanced.block", max_height: 384, onselect: function(v) { ed.execCommand("FormatBlock", !1, v); }, menu_class: "mceFormatListMenu" }), preview_styles = ed.getParam("formatselect_preview_styles", !0), ctrl && (each(ed.getParam("formatselect_blockformats", fmts, "hash"), function(value, key) { ctrl.add(ed.getLang(value, key), key, { class: "mce_formatPreview mce_" + key, style: function() { return preview_styles ? PreviewCss.getCssText(ed, { block: key }) : ""; } }); }), PreviewCss.reset()), ctrl; }; }); }();plugins/directionality/plugin.js000060400000002650152456730070013114 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ tinymce.PluginManager.add("directionality", function(ed, url) { function setDir(dir) { var curDir, dom = ed.dom, blocks = ed.selection.getSelectedBlocks(); blocks.length && (curDir = dom.getAttrib(blocks[0], "dir"), tinymce.each(blocks, function(block) { dom.getParent(block.parentNode, "*[dir='" + dir + "']", dom.getRoot()) || (curDir != dir ? dom.setAttrib(block, "dir", dir) : dom.setAttrib(block, "dir", null)); }), ed.nodeChanged()); } ed.addCommand("mceDirectionLTR", function() { setDir("ltr"); }), ed.addCommand("mceDirectionRTL", function() { setDir("rtl"); }), ed.addButton("ltr", { title: "directionality.ltr_desc", cmd: "mceDirectionLTR" }), ed.addButton("rtl", { title: "directionality.rtl_desc", cmd: "mceDirectionRTL" }), ed.onNodeChange.add(function(ed, cm, n) { var ed = ed.dom; (n = ed.getParent(n, ed.isBlock)) ? (ed = ed.getAttrib(n, "dir"), cm.setActive("ltr", "ltr" == ed), cm.setDisabled("ltr", 0), cm.setActive("rtl", "rtl" == ed), cm.setDisabled("rtl", 0)) : (cm.setDisabled("ltr", 1), cm.setDisabled("rtl", 1)); }); });plugins/kitchensink/plugin.js000060400000003342152456730070012402 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, Storage = tinymce.util.Storage; tinymce.PluginManager.add("kitchensink", function(ed, url) { var state = !1, h = 0, el = ed.getElement(), s = ed.settings; function toggle() { var row = DOM.getParents(ed.id + "_kitchensink", ".mceToolbarRow"); if (row) { for (var n = DOM.getNext(row[0], ".mceToolbarRow"); n; ) state ? DOM.setStyle(n, "display", "") : DOM.hide(n), n = DOM.getNext(n, ".mceToolbarRow"); (h = s.height || el.style.height || el.offsetHeight) && DOM.setStyle(ed.id + "_ifr", "height", h), ed.getParam("use_state_cookies", !0) && Storage.set("wf_toggletoolbars_state_" + ed.id, state), ed.controlManager.setActive("kitchensink", state); } } ed.getParam("use_state_cookies", !0) && (state = Storage.get("wf_toggletoolbars_state_" + ed.id, !1)), ed.addCommand("mceKitchenSink", function() { state = !state, toggle(); }), ed.onSetContent.add(function() { ed.controlManager.setActive("visualblocks", state); }), ed.addButton("kitchensink", { title: "kitchensink.desc", cmd: "mceKitchenSink" }), ed.onPostRender.add(function(ed, cm) { DOM.get("mce_fullscreen") ? state = !0 : toggle(); }), ed.onInit.add(function(ed) { ed.controlManager.setActive("kitchensink", state); }); }); }();plugins/noneditable/plugin.js000060400000007047152456730070012362 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM; tinymce.PluginManager.add("noneditable", function(editor) { var editClass = tinymce.trim(editor.getParam("noneditable_editable_class", "mceEditable")), nonEditClass = tinymce.trim(editor.getParam("noneditable_noneditable_class", "mceNonEditable")); function hasClass(checkClassName) { return function(node) { return -1 !== (" " + node.attr("class") + " ").indexOf(checkClassName); }; } var nonEditableRegExps, hasEditClass = hasClass(editClass), hasNonEditClass = hasClass(nonEditClass); (nonEditableRegExps = editor.getParam("noneditable_regexp")) && !nonEditableRegExps.length && (nonEditableRegExps = [ nonEditableRegExps ]), editor.onPreInit.add(function() { editor.formatter.register("noneditable", { block: "div", wrapper: !0, onformat: function(elm, fmt, vars) { tinymce.each(vars, function(value, key) { editor.dom.setAttrib(elm, key, value); }); } }), nonEditableRegExps && editor.onBeforeSetContent.add(function(ed, e) { !function(e) { var i = nonEditableRegExps.length, content = e.content, cls = tinymce.trim(nonEditClass); function replaceMatchWithSpan(match) { var args = arguments, index = args[args.length - 2], prevChar = 0 < index ? content.charAt(index - 1) : ""; if ('"' === prevChar) return match; if (">" === prevChar) { prevChar = content.lastIndexOf("<", index); if (-1 !== prevChar) if (-1 !== content.substring(prevChar, index).indexOf('contenteditable="false"')) return match; } return '' + editor.dom.encode("string" == typeof args[1] ? args[1] : args[0]) + ""; } if ("raw" != e.format) { for (;i--; ) content = content.replace(nonEditableRegExps[i], replaceMatchWithSpan); e.content = content; } }(e); }), editor.parser.addAttributeFilter("class", function(nodes) { for (var node, i = nodes.length; i--; ) node = nodes[i], hasEditClass(node) ? node.attr("contenteditable", "true") : hasNonEditClass(node) && node.attr("contenteditable", "false"); }), editor.serializer.addAttributeFilter("contenteditable", function(nodes) { for (var node, i = nodes.length; i--; ) node = nodes[i], (hasEditClass(node) || hasNonEditClass(node)) && (nonEditableRegExps && node.attr("data-mce-content") ? (node.name = "#text", node.type = 3, node.raw = !0, node.value = node.attr("data-mce-content")) : node.attr("contenteditable", null)); }); }), this.isEditable = function(node) { return node.attr ? node.hasClass(editClass) : DOM.hasClass(node, editClass); }, this.isNonEditable = function(node) { return node.attr ? node.hasClass(nonEditClass) : DOM.hasClass(node, nonEditClass); }; }); }();plugins/visualchars/plugin.js000060400000006205152456730070012415 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var Storage = tinymce.util.Storage; tinymce.PluginManager.add("visualchars", function(ed, url) { function toggleVisualChars(state, o) { var node, nodeList, i, nodeValue, div, charMap, visualCharsRegExp, o = o || ed.getBody(); function wrapCharWithSpan(value) { return '' + value + ""; } if (charMap = { "\xa0": "nbsp", "\xad": "shy" }, visualCharsRegExp = function() { var key, regExp = ""; for (key in charMap) regExp += key; return new RegExp("[" + regExp + "]", "g"); }(), state) for (nodeList = [], tinymce.walk(o, function(n) { (function(n) { return 3 === n.nodeType && !ed.dom.getParent(n, ".mce-item-nbsp, .mce-item-shy"); })(n) && n.nodeValue && visualCharsRegExp.test(n.nodeValue) && nodeList.push(n); }, "childNodes"), i = 0; i < nodeList.length; i++) { for (nodeValue = nodeList[i].nodeValue, nodeValue = (nodeValue = ed.dom.encode(nodeValue)).replace(visualCharsRegExp, wrapCharWithSpan), div = ed.dom.create("div", null, nodeValue); node = div.lastChild; ) ed.dom.insertAfter(node, nodeList[i]); ed.dom.remove(nodeList[i]); } else for (i = (nodeList = ed.dom.select(function() { var key, selector = ""; for (key in charMap) selector && (selector += ","), selector += "span.mce-item-" + charMap[key]; return selector; }(), o)).length - 1; 0 <= i; i--) ed.dom.remove(nodeList[i], 1); } var state; ed.getParam("use_state_cookies", !0) && (state = Storage.get("wf_visualchars_state")), state = tinymce.is(state, "string") ? parseFloat(state) : ed.getParam("visualchars_default_state", 0), ed.onInit.add(function() { ed.controlManager.setActive("visualchars", state), toggleVisualChars(state); }), ed.addButton("visualchars", { title: "visualchars.desc", cmd: "mceVisualChars" }), ed.onExecCommand.add(function(ed, cmd, ui, v, o) { "mceNonBreaking" === cmd && toggleVisualChars(state); }), ed.addCommand("mceVisualChars", function() { state = !state, ed.controlManager.setActive("visualchars", state), toggleVisualChars(state), ed.getParam("use_state_cookies", !0) && Storage.set("wf_visualchars_state", state ? 1 : 0); }, self), ed.onKeyUp.add(function(ed, e) { state && 13 == e.keyCode && toggleVisualChars(state); }), ed.onPreProcess.add(function(ed, o) { o.get && toggleVisualChars(!1, o.node); }), ed.onSetContent.add(function(ed, o) { toggleVisualChars(state); }); }); }();plugins/searchreplace/plugin.js000060400000044427152456730070012702 0ustar00/* jce - 2.9.99.2 | 2026-04-22 | https://www.joomlacontenteditor.net | Source: https://github.com/widgetfactory/jce | Copyright (C) 2006 - 2026 Ryan Demmer. All rights reserved | GNU/GPL Version 2 or later - http://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM; function findAndReplaceDOMText(regex, node, replacementNode, captureGroup, schema) { var m, text, doc, blockElementsMap, hiddenTextElementsMap, shortEndedElementsMap, stencilNode, makeReplacementNode, matches = [], count = 0; function getMatchIndexes(m, captureGroup) { if (!m[0]) throw "findAndReplaceDOMText cannot handle zero-length matches"; var index = m.index; if (0 < (captureGroup = captureGroup || 0)) { captureGroup = m[captureGroup]; if (!captureGroup) throw "Invalid capture group"; index += m[0].indexOf(captureGroup), m[0] = captureGroup; } return [ index, index + m[0].length, [ m[0] ] ]; } if (doc = node.ownerDocument, blockElementsMap = schema.getBlockElements(), hiddenTextElementsMap = schema.getWhiteSpaceElements(), shortEndedElementsMap = schema.getShortEndedElements(), text = function getText(node) { var txt; if (3 === node.nodeType) return node.data; if (hiddenTextElementsMap[node.nodeName] && !blockElementsMap[node.nodeName]) return ""; if (txt = "", (blockElementsMap[node.nodeName] || shortEndedElementsMap[node.nodeName]) && (txt += "\n"), node = node.firstChild) for (;txt += getText(node), node = node.nextSibling; ); return txt; }(node)) { if (regex.global) for (;m = regex.exec(text); ) matches.push(getMatchIndexes(m, captureGroup)); else m = text.match(regex), matches.push(getMatchIndexes(m, captureGroup)); return matches.length && (count = matches.length, function(node, matches, replaceFn) { var startNode, endNode, startNodeIndex, endNodeIndex, innerNodes = [], atIndex = 0, curNode = node, matchLocation = matches.shift(), matchIndex = 0; out: for (;;) { if ((blockElementsMap[curNode.nodeName] || shortEndedElementsMap[curNode.nodeName]) && atIndex++, 3 === curNode.nodeType && (!endNode && curNode.length + atIndex >= matchLocation[1] ? (endNode = curNode, endNodeIndex = matchLocation[1] - atIndex) : startNode && innerNodes.push(curNode), !startNode && curNode.length + atIndex > matchLocation[0] && (startNode = curNode, startNodeIndex = matchLocation[0] - atIndex), atIndex += curNode.length), startNode && endNode) { if (curNode = replaceFn({ startNode: startNode, startNodeIndex: startNodeIndex, endNode: endNode, endNodeIndex: endNodeIndex, innerNodes: innerNodes, match: matchLocation[2], matchIndex: matchIndex }), atIndex -= endNode.length - endNodeIndex, endNode = startNode = null, innerNodes = [], matchIndex++, !(matchLocation = matches.shift())) break; } else { if ((!hiddenTextElementsMap[curNode.nodeName] || blockElementsMap[curNode.nodeName]) && curNode.firstChild) { curNode = curNode.firstChild; continue; } if (curNode.nextSibling) { curNode = curNode.nextSibling; continue; } } for (;;) { if (curNode.nextSibling) { curNode = curNode.nextSibling; break; } if (curNode.parentNode === node) break out; curNode = curNode.parentNode; } } }(node, matches, (makeReplacementNode = "function" != typeof (schema = replacementNode) ? (stencilNode = schema.nodeType ? schema : doc.createElement(schema), function(fill, matchIndex) { var clone = stencilNode.cloneNode(!1); return clone.setAttribute("data-mce-index", matchIndex), fill && clone.appendChild(doc.createTextNode(fill)), clone; }) : schema, function(range) { var parentNode, startNode = range.startNode, endNode = range.endNode, matchIndex = range.matchIndex; if (startNode === endNode) return parentNode = (node = startNode).parentNode, 0 < range.startNodeIndex && (before = doc.createTextNode(node.data.substring(0, range.startNodeIndex)), parentNode.insertBefore(before, node)), el = makeReplacementNode(range.match[0], matchIndex), parentNode.insertBefore(el, node), range.endNodeIndex < node.length && (after = doc.createTextNode(node.data.substring(range.endNodeIndex)), parentNode.insertBefore(after, node)), node.parentNode.removeChild(node), el; for (var before = doc.createTextNode(startNode.data.substring(0, range.startNodeIndex)), after = doc.createTextNode(endNode.data.substring(range.endNodeIndex)), node = makeReplacementNode(startNode.data.substring(range.startNodeIndex), matchIndex), innerEls = [], i = 0, l = range.innerNodes.length; i < l; ++i) { var innerNode = range.innerNodes[i], innerEl = makeReplacementNode(innerNode.data, matchIndex); innerNode.parentNode.replaceChild(innerEl, innerNode), innerEls.push(innerEl); } var el = makeReplacementNode(endNode.data.substring(0, range.endNodeIndex), matchIndex); return (parentNode = startNode.parentNode).insertBefore(before, startNode), parentNode.insertBefore(node, startNode), parentNode.removeChild(startNode), (parentNode = endNode.parentNode).insertBefore(el, endNode), parentNode.insertBefore(after, endNode), parentNode.removeChild(endNode), el; }))), count; } } tinymce.PluginManager.add("searchreplace", function(editor, url) { var last, self = this, currentIndex = -1; function notFoundAlert() { editor.windowManager.alert(editor.getLang("searchreplace.notfound", "The search has been completed. The search string could not be found.")); } function updateButtonStates() { editor.updateSearchButtonStates.dispatch({ next: !findSpansByIndex(currentIndex + 1).length, prev: !findSpansByIndex(currentIndex - 1).length }); } function resetButtonStates() { editor.updateSearchButtonStates.dispatch({ replace: !0, replaceAll: !0, next: !0, prev: !0 }); } function getElmIndex(elm) { elm = elm.getAttribute("data-mce-index"); return "number" == typeof elm ? "" + elm : elm; } function unwrap(node) { var parentNode = node.parentNode; node.firstChild && parentNode.insertBefore(node.firstChild, node), node.parentNode.removeChild(node); } function findSpansByIndex(index) { var spans = [], nodes = tinymce.toArray(editor.getBody().getElementsByTagName("span")); if (nodes.length) for (var i = 0; i < nodes.length; i++) { var nodeIndex = getElmIndex(nodes[i]); null !== nodeIndex && nodeIndex.length && nodeIndex === index.toString() && spans.push(nodes[i]); } return spans; } function moveSelection(forward) { var testIndex = currentIndex, dom = editor.dom, forward = ((forward = !1 !== forward) ? testIndex++ : testIndex--, dom.removeClass(findSpansByIndex(currentIndex), "mce-match-marker-selected"), findSpansByIndex(testIndex)); return forward.length ? (dom.addClass(findSpansByIndex(testIndex), "mce-match-marker-selected"), editor.selection.scrollIntoView(forward[0]), testIndex) : -1; } function removeNode(node) { var dom = editor.dom, parent = node.parentNode; dom.remove(node), dom.isEmpty(parent) && dom.remove(parent); } function isMatchSpan(node) { node = getElmIndex(node); return null !== node && 0 < node.length; } function isMatchSpan(node) { node = getElmIndex(node); return null !== node && 0 < node.length; } editor.updateSearchButtonStates = new tinymce.util.Dispatcher(this), editor.addCommand("mceSearchReplace", function() { last = {}; var html = '
                "; editor.windowManager.open({ title: editor.getLang("searchreplace.search_desc", "Search and Replace"), content: html, size: "mce-modal-landscape-small", overlay: !1, open: function() { var id = this.id, search = DOM.get(editor.id + "_search_string"); search.value = editor.selection.getContent({ format: "text" }), DOM.bind(editor.id + "_search_next", "click", function(e) { e.preventDefault(), editor.execCommand("mceSearchNext", !1); }), DOM.bind(editor.id + "_search_prev", "click", function(e) { e.preventDefault(), editor.execCommand("mceSearchPrev", !1); }), window.setTimeout(function() { search.focus(); }, 10), editor.updateSearchButtonStates.add(function(obj) { tinymce.each(obj, function(val, key) { key = DOM.get(editor.id + "_search_" + key) || DOM.get(id + "_search_" + key); key && (key.disabled = !!val); }); }); }, close: function() { DOM.unbind(editor.id + "_search_next", "click"), DOM.unbind(editor.id + "_search_prev", "click"), editor.execCommand("mceSearchDone", !1); }, buttons: [ { title: editor.getLang("searchreplace.find", "Find"), id: "find", onclick: function(e) { e.preventDefault(); var e = DOM.get(editor.id + "_matchcase"), wholeword = DOM.get(editor.id + "_wholewords"), text = DOM.getValue(editor.id + "_search_string"); editor.execCommand("mceSearch", !1, { textcase: !!e.checked, text: text, wholeword: !!wholeword.checked }); }, classes: "primary" }, { title: editor.getLang("searchreplace.replace", "Replace"), id: "search_replace", onclick: function(e) { e.preventDefault(); e = DOM.getValue(editor.id + "_replace_string"); editor.execCommand("mceReplace", !1, e); } }, { title: editor.getLang("searchreplace.replaceall", "Replace All"), id: "search_replaceall", onclick: function(e) { e.preventDefault(); e = DOM.getValue(editor.id + "_replace_string"); editor.execCommand("mceReplaceAll", !1, e); } } ] }); }), editor.addCommand("mceSearch", function(ui, e) { var count, text = e.text, caseState = e.textcase, e = e.wholeword; if (text.length) { if (last.text == text && last.caseState == caseState && last.wholeWord == e) return 0 === findSpansByIndex(currentIndex + 1).length ? void notFoundAlert() : (self.next(), void updateButtonStates()); (count = self.find(text, caseState, e)) || notFoundAlert(), updateButtonStates(), editor.updateSearchButtonStates.dispatch({ replace: !count, replaceAll: !count }), last = { text: text, caseState: caseState, wholeWord: e }; } else self.done(!1), resetButtonStates(); }), editor.addCommand("mceSearchNext", function() { self.next(), updateButtonStates(); }), editor.addCommand("mceSearchPrev", function() { self.prev(), updateButtonStates(); }), editor.addCommand("mceReplace", function(ui, text) { self.replace(text) || (resetButtonStates(), currentIndex = -1, last = {}); }), editor.addCommand("mceReplaceAll", function(ui, text) { self.replace(text, !0, !0) || (resetButtonStates(), last = {}); }), editor.addCommand("mceSearchDone", function() { self.done(); }), editor.addButton("search", { title: "searchreplace.search_desc", cmd: "mceSearchReplace" }), editor.addShortcut("meta+f", "searchreplace.search_desc", function() { return editor.execCommand("mceSearchReplace"); }), self.find = function(text, matchCase, wholeWord) { text = text.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&"), text = wholeWord ? "\\b" + text + "\\b" : text; wholeWord = new RegExp(text, matchCase ? "g" : "gi"), (text = editor.dom.create("span", { "data-mce-bogus": 1 })).className = "mce-match-marker", matchCase = editor.getBody(), self.done(!1); wholeWord = findAndReplaceDOMText(wholeWord, matchCase, text, !1, editor.schema); return wholeWord && (currentIndex = -1, currentIndex = moveSelection(!0)), wholeWord; }, self.next = function() { var index = moveSelection(!0); -1 !== index && (currentIndex = index); }, self.prev = function() { var index = moveSelection(!1); -1 !== index && (currentIndex = index); }, self.replace = function(text, forward, all) { var i, nodes, node, currentMatchIndex, hasMore, nextIndex = currentIndex; for (forward = !1 !== forward, node = editor.getBody(), nodes = tinymce.grep(tinymce.toArray(node.getElementsByTagName("span")), isMatchSpan), nodes = tinymce.grep(nodes, function(node) { var parent = editor.dom.getParent(node, "[contenteditable]"); return (!parent || "false" !== parent.contentEditable) && "false" !== node.contentEditable; }), i = 0; i < nodes.length; i++) { var nodeIndex = getElmIndex(nodes[i]), matchIndex = currentMatchIndex = parseInt(nodeIndex, 10); if (all || matchIndex === currentIndex) { for ((text.length ? (nodes[i].firstChild.nodeValue = text, unwrap) : removeNode)(nodes[i]); nodes[++i]; ) { if ((matchIndex = parseInt(getElmIndex(nodes[i]), 10)) !== currentMatchIndex) { i--; break; } removeNode(nodes[i]); } forward && nextIndex--; } else currentIndex < currentMatchIndex && nodes[i].setAttribute("data-mce-index", currentMatchIndex - 1); } return editor.undoManager.add(), currentIndex = nextIndex, forward ? (hasMore = 0 < findSpansByIndex(nextIndex + 1).length, self.next()) : (hasMore = 0 < findSpansByIndex(nextIndex - 1).length, self.prev()), !all && hasMore; }, self.done = function(keepEditorSelection) { for (var startContainer, endContainer, rng, nodes = tinymce.toArray(editor.getBody().getElementsByTagName("span")), i = 0; i < nodes.length; i++) { var nodeIndex = getElmIndex(nodes[i]); null !== nodeIndex && nodeIndex.length && (nodeIndex === currentIndex.toString() && (startContainer = startContainer || nodes[i].firstChild, endContainer = nodes[i].firstChild), unwrap(nodes[i])); } if (startContainer && endContainer) return (rng = editor.dom.createRng()).setStart(startContainer, 0), rng.setEnd(endContainer, endContainer.data.length), !1 !== keepEditorSelection && editor.selection.setRng(rng), rng; }; }); }();themes/advanced/theme.js000060400000045062152456730070011252 0ustar00/* This file includes original and modified code from various versions of TinyMCE, relicensed under GPL v2+ per LGPL 2.1 §3 where applicable. Source: https://github.com/widgetfactory/tinymce-muon; Copyright (c) Tiny Technologies, Inc. All rights reserved.; Copyright (c) 1999–2015 Ephox Corp. All rights reserved.; Copyright (c) 2009 Moxiecode Systems AB. All rights reserved.; Copyright (c) 2009–2025 Ryan Demmer. All rights reserved.; For a detailed history of modifications, refer to the Git commit history.; Licensed under the GNU General Public License version 2 or later (GPL v2+): https://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM, Event = tinymce.dom.Event, extend = tinymce.extend, each = tinymce.each, Storage = tinymce.util.Storage, Delay = tinymce.util.Delay, explode = tinymce.explode; tinymce.create("tinymce.themes.AdvancedTheme", { controls: { bold: [ "bold_desc", "Bold" ], italic: [ "italic_desc", "Italic" ], underline: [ "underline_desc", "Underline" ], strikethrough: [ "striketrough_desc", "Strikethrough" ], justifyleft: [ "justifyleft_desc", "JustifyLeft" ], justifycenter: [ "justifycenter_desc", "JustifyCenter" ], justifyright: [ "justifyright_desc", "JustifyRight" ], justifyfull: [ "justifyfull_desc", "JustifyFull" ], outdent: [ "outdent_desc", "Outdent" ], indent: [ "indent_desc", "Indent" ], undo: [ "undo_desc", "Undo" ], redo: [ "redo_desc", "Redo" ], unlink: [ "unlink_desc", "unlink" ], cleanup: [ "cleanup_desc", "mceCleanup" ], code: [ "code_desc", "mceCodeEditor" ], removeformat: [ "removeformat_desc", "RemoveFormat" ], sub: [ "sub_desc", "subscript" ], sup: [ "sup_desc", "superscript" ], forecolor: [ "forecolor_desc", "ForeColor" ], forecolorpicker: [ "forecolor_desc", "mceForeColor" ], backcolor: [ "backcolor_desc", "HiliteColor" ], backcolorpicker: [ "backcolor_desc", "mceBackColor" ], visualaid: [ "visualaid_desc", "mceToggleVisualAid" ], newdocument: [ "newdocument_desc", "mceNewDocument" ], blockquote: [ "blockquote_desc", "mceBlockQuote" ] }, stateControls: [ "bold", "italic", "underline", "strikethrough", "justifyleft", "justifycenter", "justifyright", "justifyfull", "sub", "sup", "blockquote" ], init: function(ed, url) { var s, v, self = this; self.editor = ed, self.url = url, self.onResolveName = new tinymce.util.Dispatcher(this), self.onResize = new tinymce.util.Dispatcher(this), s = ed.settings, self.settings = s = extend({ theme_path: !0, theme_toolbar_location: "top", theme_blockformats: "p,address,pre,h1,h2,h3,h4,h5,h6", theme_toolbar_align: "left", theme_statusbar_location: "bottom", theme_fonts: "Andale Mono=andale mono,times;Arial=arial,helvetica,sans-serif;Arial Black=arial black,avant garde;Book Antiqua=book antiqua,palatino;Comic Sans MS=comic sans ms,sans-serif;Courier New=courier new,courier;Georgia=georgia,palatino;Helvetica=helvetica;Impact=impact,chicago;Symbol=symbol;Tahoma=tahoma,arial,helvetica,sans-serif;Terminal=terminal,monaco;Times New Roman=times new roman,times;Trebuchet MS=trebuchet ms,geneva;Verdana=verdana,geneva;Webdings=webdings;Wingdings=wingdings,zapf dingbats", theme_more_colors: 1, theme_row_height: 23, theme_resize_horizontal: 1, theme_font_sizes: "1,2,3,4,5,6,7", theme_font_selector: "span", theme_show_current_color: 0, readonly: ed.settings.readonly }, s), (v = s.theme_path_location) && "none" != v && (s.theme_statusbar_location = s.theme_path_location), "none" == s.theme_statusbar_location && (s.theme_statusbar_location = 0), ed.onInit.add(function() { ed.settings.readonly || (ed.onNodeChange.add(self._nodeChanged, self), ed.onKeyUp.add(self._updateUndoStatus, self), ed.onMouseUp.add(self._updateUndoStatus, self), ed.dom.bind(ed.dom.getRoot(), "dragend", function() { self._updateUndoStatus(ed); }), ed.addShortcut("alt+F10,F10", "", function() { self.toolbarGroup.focus(); }), ed.addShortcut("alt+F11", "", function() { DOM.get(ed.id + "_path_row").focus(); })); }), ed.onPostRender.add(function() { var el = ed.getElement(), e = (DOM.setStyle(ed.id + "_tbl", "width", ""), DOM.get(ed.id + "_parent")), ifr = DOM.get(ed.id + "_ifr"), width = s.width || el.style.width; (el = s.height || el.style.height) && DOM.setStyle(ifr, "height", el), width && (DOM.setStyle(e.parentNode, "max-width", width), /%/.test(width) || DOM.setStyle(ifr, "max-width", width)); }), ed.onSetProgressState.add(function(ed, b, ti) { var co, tb, id = ed.id; b ? self.progressTimer = setTimeout(function() { co = (co = ed.getContainer()).insertBefore(DOM.create("DIV", { style: "position:relative" }), co.firstChild), tb = DOM.get(ed.id + "_tbl"), DOM.add(co, "div", { id: id + "_blocker", class: "mceBlocker", style: { width: tb.clientWidth + 2, height: tb.clientHeight + 2 } }), DOM.add(co, "div", { id: id + "_progress", class: "mceProgress", style: { left: tb.clientWidth / 2, top: tb.clientHeight / 2 } }); }, ti || 0) : (DOM.remove(id + "_blocker"), DOM.remove(id + "_progress"), clearTimeout(self.progressTimer)); }), !1 !== ed.settings.content_css && ed.contentCSS.push(ed.baseURI.toAbsolute(url + "/skins/" + ed.settings.skin + "/content.css")); }, createControl: function(n, cf) { var c; return cf.createControl(n) || ((c = this.controls[n]) ? cf.createButton(n, { title: "advanced." + c[0], cmd: c[1], ui: c[2], value: c[3] }) : void 0); }, execCommand: function(cmd, ui, val) { return !!(cmd = this["_" + cmd]) && (cmd.call(this, ui, val), !0); }, renderUI: function(o) { var n, ic, sc, ed = this.editor, s = this.settings, skin = (ed.settings && (ed.settings.aria_label = s.aria_label + ed.getLang("advanced.help_shortcut")), "mobile" === ed.settings.skin && (ed.settings.skin = "default", s.skin_variant = "touch"), "mce" + this._ufirst(ed.settings.skin) + "Skin"); return s.skin_variant && (skin += " " + skin + this._ufirst(s.skin_variant)), "default" !== ed.settings.skin && (skin = "mceDefaultSkin " + skin), "rtl" == ed.settings.skin_directionality && (skin += " mceRtl"), ed.settings.skin_class = skin, skin = DOM.create("div", { role: "application", "aria-label": s.aria_label, id: ed.id + "_parent", class: "mceEditor " + skin }), sc = DOM.add(skin, "div", { role: "presentation", id: ed.id + "_tbl", class: "mceLayout" }), ic = this._createLayout(s, sc, o, skin), n = o.targetNode, DOM.insertAfter(skin, n), Event.add(ed.id + "_path_row", "click", function(e) { if ((e = DOM.getParent(e.target, "a")) && "A" == e.nodeName) return ed.execCommand("mceSelectNodeDepth", !1, e.getAttribute("data-index") || 0), !1; }), "external" == s.theme_toolbar_location && (o.deltaHeight = 0), this.deltaHeight = o.deltaHeight, o.targetNode = null, { iframeContainer: ic, editorContainer: ed.id + "_parent", sizeContainer: sc, deltaHeight: o.deltaHeight }; }, resizeBy: function(dw, dh) { var e = DOM.get(this.editor.id + "_ifr"); this.resizeTo(e.clientWidth + dw, e.clientHeight + dh); }, resizeTo: function(w, h, store) { var ed = this.editor, s = this.settings, e = DOM.get(ed.id + "_parent"), ifr = DOM.get(ed.id + "_ifr"); w = Math.max(s.theme_resizing_min_width || 100, w), h = Math.max(s.theme_resizing_min_height || 100, h), w = Math.min(s.theme_resizing_max_width || 65535, w), h = Math.min(s.theme_resizing_max_height || 65535, h), DOM.setStyle(ifr, "height", h), s.theme_resize_horizontal && (DOM.setStyle(e.parentNode, "max-width", w + "px"), DOM.setStyle(ifr, "max-width", w + "px")), store && !1 !== s.use_state_cookies && Storage.setHash("wf_editor_size_" + ed.id, { cw: w, ch: h }), this.onResize.dispatch(); }, destroy: function() { var id = this.editor.id; Event.clear(id + "_resize"), Event.clear(id + "_path_row"), Event.clear(id + "_external_close"); }, _createLayout: function(s, tb, o, p) { var lo = s.theme_toolbar_location, sl = s.theme_statusbar_location; return s.readonly ? DOM.add(tb, "div", { class: "mceIframeContainer" }) : ("top" == lo && this._addToolbars(tb, o), "top" == sl && this._addStatusBar(tb, o), s = DOM.add(tb, "div", { class: "mceIframeContainer" }), "bottom" == lo && this._addToolbars(tb, o), "bottom" == sl && this._addStatusBar(tb, o), s); }, _addControls: function(v, tb) { var di, self = this, s = self.settings, cf = self.editor.controlManager; s.theme_disable && !self._disabled ? (di = {}, each(explode(s.theme_disable), function(v) { di[v] = 1; }), self._disabled = di) : di = self._disabled, each(explode(v), function(n) { di && di[n] || (n = self.createControl(n, cf)) && tb.add(n); }); }, _addToolbars: function(c, o) { var i, tb, v, a, ed = this.editor, s = this.settings, cf = ed.controlManager, h = [], toolbarsExist = !1, toolbarGroup = cf.createToolbarGroup("toolbargroup", { name: ed.getLang("advanced.toolbar"), tab_focus_toolbar: ed.getParam("theme_tab_focus_toolbar"), class: "ToolbarGroup" }); for (this.toolbarGroup = toolbarGroup, a = s.theme_toolbar_align.toLowerCase(), a = cf.classPrefix + this._ufirst(a), c = DOM.add(c, "div", { class: cf.classPrefix + "Toolbar " + a, role: "toolbar", id: ed.id + "_toolbar" }), i = 1; v = s["theme_buttons" + i]; i++) toolbarsExist = !0, tb = cf.createToolbar("toolbar" + i, { class: "mceToolbarRow" + i, "aria-label": "Toolbar Row " + i }), s["theme_buttons" + i + "_add"] && (v += "," + s["theme_buttons" + i + "_add"]), s["theme_buttons" + i + "_add_before"] && (v = s["theme_buttons" + i + "_add_before"] + "," + v), this._addControls(v, tb), toolbarGroup.add(tb), o.deltaHeight -= s.theme_row_height; toolbarsExist || (o.deltaHeight -= s.theme_row_height), h.push(toolbarGroup.renderHTML()), DOM.setHTML(c, h.join("")); }, _addStatusBar: function(tb, o) { var self = this, ed = self.editor, s = self.settings, n = tb = DOM.add(tb, "div", { class: "mceStatusbar" }); s.theme_path && (n = DOM.add(n, "div", { id: ed.id + "_path_row", role: "group", "aria-labelledby": ed.id + "_path_voice", class: "mcePathRow" }), DOM.add(n, "span", { id: ed.id + "_path_voice", class: "mcePathLabel" }, ed.translate("advanced.path") + ": ")), s.theme_resizing && (DOM.add(tb, "div", { id: ed.id + "_resize", class: "mceResize", tabIndex: "-1" }, ''), !1 !== s.use_state_cookies && ed.onPostRender.add(function() { var o = Storage.getHash("wf_editor_size_" + ed.id); o && self.resizeTo(o.cw, o.ch, !1); }), ed.onPostRender.add(function() { var elm, parent; Event.add(ed.id + "_resize", "click", function(e) { e.preventDefault(); }), Event.add(ed.id + "_resize", "mousedown", function(e) { var mouseMoveHandler1, mouseMoveHandler2, mouseUpHandler1, mouseUpHandler2, startX, startY, startWidth, startHeight, width, height; function resizeOnMove(e) { e.preventDefault(), width = startWidth + (e.screenX - startX), height = startHeight + (e.screenY - startY), self.resizeTo(width, height); } function endResize(e) { Event.remove(DOM.doc, "mousemove", mouseMoveHandler1), Event.remove(ed.getDoc(), "mousemove", mouseMoveHandler2), Event.remove(DOM.doc, "mouseup", mouseUpHandler1), Event.remove(ed.getDoc(), "mouseup", mouseUpHandler2), width = startWidth + (e.screenX - startX), height = startHeight + (e.screenY - startY), self.resizeTo(width, height, !0), ed.nodeChanged(); } e.preventDefault(), startX = e.screenX, startY = e.screenY, e = DOM.get(self.editor.id + "_ifr"), startWidth = width = e.clientWidth, startHeight = height = e.clientHeight, mouseMoveHandler1 = Event.add(DOM.doc, "mousemove", resizeOnMove), mouseMoveHandler2 = Event.add(ed.getDoc(), "mousemove", resizeOnMove), mouseUpHandler1 = Event.add(DOM.doc, "mouseup", endResize), mouseUpHandler2 = Event.add(ed.getDoc(), "mouseup", endResize); }), ed.settings.floating_toolbar && (elm = ed.getContainer(), parent = elm.parentNode, Event.add(window, "scroll", Delay.debounce(function() { ed.settings.fullscreen_enabled || (window.pageYOffset > parent.offsetTop ? DOM.addClass(elm, "mceToolbarFixed") : DOM.removeClass(elm, "mceToolbarFixed")); }, 128))); })), o.deltaHeight -= 21; }, _updateUndoStatus: function(ed) { var cm = ed.controlManager, ed = ed.undoManager; cm.setDisabled("undo", !ed.hasUndo() && !ed.typing), cm.setDisabled("redo", !ed.hasRedo()); }, _nodeChanged: function(ed, cm, n, co, ob) { var p, self = this, s = self.settings; if (tinymce.each(self.stateControls, function(c) { cm.setActive(c, ed.queryCommandState(self.controls[c][1])); }), cm.setActive("visualaid", ed.hasVisual), self._updateUndoStatus(ed), cm.setDisabled("outdent", !ed.queryCommandState("Outdent")), s.theme_path && s.theme_statusbar_location) { p = DOM.get(ed.id + "_path") || DOM.add(ed.id + "_path_row", "span", { id: ed.id + "_path", class: "mcePathPath" }), self.statusKeyboardNavigation && (self.statusKeyboardNavigation.destroy(), self.statusKeyboardNavigation = null), DOM.setHTML(p, ""); for (var parents = function() { for (var outParents = [], parents = ob.parents, i = parents.length, i = 0, l = parents.length; i < l; i++) 1 != (parent = parents[i]).nodeType || function(node) { return node.hasAttribute("data-mce-bogus") || "bookmark" == node.getAttribute("data-mce-type") || "caret" == node.getAttribute("data-mce-type") || "_mce_caret" == node.id; }(parent) || "BR" == parent.nodeName || parent.hasAttribute("data-mce-bogus") || parent.hasAttribute("data-mce-root") || parent.hasAttribute("data-mce-internal") || outParents.push(parent); return outParents; }(), html = "", i = 0, l = parents.length; i < l; i++) { var parent = parents[i], name = { name: name = parent.nodeName.toLowerCase(), node: parent, title: name }; self.onResolveName.dispatch(self, name), name.name && (html = name.disabled ? '' + name.name + "" + html : '' + name.name + "" + html); } DOM.setHTML(p, html), 0 < DOM.select("a", p).length && (self.statusKeyboardNavigation = new tinymce.ui.KeyboardNavigation({ root: ed.id + "_path_row", items: DOM.select("a", p), excludeFromTabOrder: !0, onCancel: function() { ed.focus(); } }, DOM)); var status = DOM.get(ed.id + "_path_row").parentNode, mod = 20; tinymce.each(status.childNodes, function(n) { if (DOM.hasClass(n, "mcePathRow")) return !0; mod += n.offsetWidth; }), tinymce.each(DOM.select("a", p), function(n) { DOM.removeClass(n, "mcePathHidden"), p.offsetWidth + mod + DOM.getPrev(p, ".mcePathLabel").offsetWidth > status.offsetWidth && DOM.addClass(n, "mcePathHidden"); }); } }, _mceNewDocument: function() { var ed = this.editor; ed.windowManager.confirm({ title: "advanced.newdocument_desc", text: "advanced.newdocument" }, function(s) { s && ed.execCommand("mceSetContent", !1, ""); }); }, _ufirst: function(s) { return s.substring(0, 1).toUpperCase() + s.substring(1); } }), tinymce.ThemeManager.add("advanced", tinymce.themes.AdvancedTheme); }();themes/advanced/img/icons.png000060400000117312152456730070012205 0ustar00PNG  IHDR<@;iTXtXML:com.adobe.xmp َ~iCCPsRGB IEC61966-2.1(u+DQ?3C#?QFJ(̛_j~{dl%6~- *kgMlfH==쑬<Z8p/Ftь LՉPh͊wCVDRW$F^eE|O%*2J zRbJ,VUOz[bo܁i~fp.vM;&\\״\nAb!nO ڢq ՞s ?9Zgg pHYs   IDATx]w\SWBZŁ".оjuVU֪Zv:}뮳bъ e( ;;~$7q$sys<…\׮q<<[VsSLay;P(HDwb#@g@Nmƃ/?p'PJOf#[w|}Q3=.:nrOì36^x A(b3@|&>3E|!x?zٯکSǘ˗\={lvVnҲe#ZVW7;s/[1ŋ79c @z_f0U:]o/Tq%|g=LaO -/9{St) =x`!Wlx:Y„q'icБipяYXd<۷{Nwxz %Lc'X|z{|hF%H18 I|-+NjIҫsÍ>P(03ֶjⅤMzx12nr2?1vOm2ŝW辥 ʹ7FH}ﳺ? [y+/o6ynnjժ y… g5<"@DpS5qO,XPoFD!^Zի?"S!I ? BMF*{Byr>jؐO3ȅK"PfǴ?o}{ٹt!P{d ^"Tz6?pg{a:kver?L=hTN1̸ Yz5}U6xUf' lCc}ВWǏ_կkzcdlXׯMX2|,j??P# P2] 56?{K}~D~j.?mlN+ 1wT߄˒ cÍGJZ|S])l@RD"s>/%yZee || 9hd0Uhv ӏj1앷&Qb?Vk*$^h/wIvO;V^]Í7,x} p󑣆~`ȶD?,],y6q,} 'tW>eXywF.VkDC^4%DN F[ҪtZy\i [4E~[E-\1g fJWa'ʁ[}}cGvtb{Ziq[5`I-C'>3!6~8{G#*N_#BGa__=Eг1wq](`KlלvniCM.H:QNFEB;֬^ OL=*Qs-y7,,jaD߾6P4.V%2.C7aE.IBV'c$r$2B9\"T1\1PQMX|dpK>R|/,P79)\U!G,aE OtZ~z+儐s|X>Ta&\*c?+E5s: A:hZ(<(燽U(|1v`V۷?G~uҥn|Ç..}{ %5|KЗࣙ~`XlkiW/&+p֤'nTmA Η `Bi/;pG&pg`[ Dw }`I4&w#|:{ nd>]pq4i<7xdQ"e(QpWCa2Z_ng 21ywS4NgL+kWU ^TjYH/TUP8!%J F5"6 :EQrE\Yn9w+ (<ʼmUyW^ߴ1$N[2z{*~v.L$bYv.EQNˉDu,zբ@=gme j>+(l( ]ѪB|FH$sL\D(N.WhT/enY %9*~DqR"4X{3LL/]NiY).]N_caz=<9qy:۰qrss 3cժa&̞3[xb9gs l>=l8ueO???GbWoF8˯+}%D"aLÝ2މ[?192z?}¸=Vƪ`1}חX1T4kSkƟ~P냱\%ЭԌ^'jI"6qΗ b[XIg"$${9=uE`* /2j=6p$3I]=5~@**uO̙a OyX=hO vv+cStlݫǒe6PHwDc:2)^b1 ѣY?s^|jӌhޝ5HL$ hGd"0N;slO+eӋm矘!3$!- yVu~ @Bub;_yűۯ )WXX(`|ͷÿ`s/2_%KFBвe$%ɳ dK Dqi9?BCdyh%Zng[7a7p`7mZ{{JN1W~S!8(nSb%R ۜ(f?* T&zl|ݻ]_WU_4b;t {DKPxB!e$ uP)K35wun=Vp)ěStQu>cI1Z[YϞXͩ~_=5^̠iL$L/[>`!ks1L$'-c׋ .g:5q%SBZuR>ڏخ3Xk֮^ɧ;XB7P |d>tON`7 W DZ>, \ܵ M`/1dx40E,mh@"NfXh t"{@$9OʹWڋ=<7xdBp\^-}Kq-Mig6krqGg3B!;&͖\/ťX< 2p&j78S$)$I2aSL $g):s%nPIodtОjaM~ 2Ӳ0U\Wr%$>$%~8"&gq$f\gYvpzB}}>T?Y&rנPlOաW. PquJ4BÇ|Cef*Jew݂:uMHXYIC `󦍟ⅿꭕueg)oqC8t $;^|ќOXlPR˯QMcرe{y oFfcan]:‚V t4{l=$$qnnԧ".p-SAatHpn^^oRZV2?]q35T~bq&ڞ)MyDqH2ڊ_PC ExG7񇟏)D^^ WQ6X< g߆lBHS(PL;jǽ2) Կ.)aQ$v];Uojx`u:4em:xbOjGrE%EE( H1u2nHF7|$ 2@֟+˷6ҫyѪ]wlvѢ\N}ջfʗ][^R˪DqNt߾zyW~(,=4ǩ,g^|>~';x8'G$ş O^4~}b3WWEujxazb;t\=†u*'v kʋF?pv"%҃ž; k/8 1@R5kc0@qN!Z&Ri]S me4沖b5YP?@)n֎WbD4RL>*N׃Y({giB&LA8k[5tO,h Z @4M$Bxmy^N6=5~@_t}\UUUyvf|Rdx޹/sBwnwFXK0ao2ê̞;w1Y p~ݺPᬽs:gxU(7F_4=dXLҜ&7F2%9Sgt}tNzKVh_^U~!m$0?&Oi//gܟ~mAx<48 $I,+l9nZW/#$]i̴,Oԡ/!MCj&?:VW=o2~\*q\;2L`8'"3n6x!~rSe3ֶ3$i?0fڷX*[GBP ;Fi[kͪ{Iz'&r?yޜ̨Bh˖vQ;;oB>ZL {5sUOB[eeՒUZZZTWCOӨ,@صs'ƌZť 4N"JMeu_m={&9 a&s=y%>XЈէ8v,.|R w wji0BjK챾; k:vbܮoTҥ!%b.ZFܘ|yJ,}3>ןc`AvcȔkzL jKq ϔ[LN-D9FQf1?(T6 GB׬ 58oFr}:yf-^x0ۃn 9/==¢ѻ*:Trywnf/ZhѡMܔŖ*.8RG$]h` q7TmK$20kAwޱK=9 U;#n$INc%>OLη\i/ZxPwxWӁ5PB)Fv0~/O5k;E{1>\zGTм,zGp z/$Oi@6+Ò[nΏM_R4 E(A c,5y%al/ ?CЕPJK^jEnD,JѴ^^ғ>kn!.oiK983Wɹ)<}+`6~v$9aJ(˝u>[UGvO2"2V2md@2^m ŮgY-PWKc"IKa^aA øCK%#?>L;#V:@vAN{BsgB ǝ]spt 8 i\I|ڲv${Ge*+kO-{P՘5s&1v3wB{ BCB0s [u[6oܹ! (V^GᦼMC-]};#3`iZv1kmaҮ5oϞvv-#e7_<h\~+ ח [j-  9Z_cDW2/#?L} `/>xB֞"9 #Us*gL{ZCYX$ҁg2?cֿ#O+Fm&x*thՑ3J}l&B< !n^dqSrYƾ.2谽0c]i/29.e:t5hޝ% LUjMBZ(W/K_W/EA \1]oz* WÚ{֠?6jYMWɯ6=* :Jb$,H$ĝK$g^>lR.LbwxbXWVZv5$xDs*h IDATvu~De_gys#f_gɦ>uE7 L^s@DH$ϏQ(TJ41a&eJF~ܱ]B;C&RܜL~ 7kIvl#iLEA[Ļ lk#W{$_<A&~CYrՓ=HG51GGitu5|dR;ڃPti/6m3?XGK$Bαjq/iw+(@dp9pkx f\]ɳN+Nv O.hzc۷I 'fMv e8^=PpSv~ϼ"`L%$Æݿ8pFjuK]k'zl1lȼHW'stsW)*^[S=655u(ߖ@p`WR 9p}{ox}%N2e_|IcgdZ:L'I򜫛O $nyR<2 &NKP4gvۋf]Mwx#zB&%^P@W.SzM:1lsO?LuuIT`bz@$Gf9Y 6;$1TT_lC:#SdgC0Ko۸f oT(0Ιg~)\1ewӂfM-;)in+a} M9 % c:#i߱kvb,fd&REh޹08 XԳn r HXTӞ@53}`nV.`?DJVѨ Lc/7~dτ39o:)! ki[{ά: Z Mi6\HH[?Y0%@ጼg֪{C&o~}5eZUE%yMv]]\$a?@GԷFs /ǖ^2TB9ž=m樭DY>?wx 6=y9a'J4lF< zƛ P`v^gdZ그,V~ uw./>BC{mS2;vtTtg>>~JS<+ mϘ%/ZG{A+R6kh{>`4!]yC"H$MemJb:@pQD"(*VAe})xj-S=-[$L,EiK…\׮qnk:$9.^L)ܴȞoO? IN$Y}t8.\uwS(j%-B[U-W՚۷dmQZzʙjM^fpV,LVz9V_zzT*:]e+ "-1c2=QNQ@#nk/n-ijA1 -ƍ\d=,k}5 䜿Iy^a!{ɰ "&׻ue<%/g'1t&%mlGkzX*81;?'I2tj B"NjAgvwU3E7zF!O<PB)}dXܣ7\$$'ZoXBȾM3m2xOIg88hv#~wȼhl3L^snͥdvdOsp<{[h遳gjxxDxNofO0_Ԓ܊jIwB7eX)zD%]#)KkvjL#ںGGf ƍ&Ÿ|w4۞숐@o4:c>lxnEa5`'HK(?9q3ibJ_I^Q3ֶ[$Thd}UG[CWd8PI;Gus@II(G:N W{3$,q2hh\KQ , 3GlO&0M.^Qo:rKk}]{Zm4ݸhFwMI2kgZPf[%K~ΟVxD!h ƬYڥgd38 >p1k?>2&,]:.|>4!M !˖C-!2ݩ_u+P1@,AA(Ө: Nyn!C!CfriQ szPZd<$!ڬMI7eb@9{U9 WZNJ1[neݦAR: rp!pm6oȞ~c\zti6x<ޮmX'磆 1c 򑝙J>?o}{ٹ&IXteIhz_RVu.n%h֫s!g^ɀnZ˃̸)}С[$Ƽ? e<̙ .ϭx>vQQ1snٜtB3y>H487bq[GUo~w[U'瀑>$3E ih8VAͰj?._ =cA!ĚY@ 9/t|g&5Ih[VY1B޻.[,[Mӽ`<z1pD,^!W(ϝGPHHl˲s@$SiT&$$9w4a `$S i"yL? c-jtiNLXmӛo حK̲N˗+*kҥ3[^CdS6pm.~uE-"!*Ә: Nyn!Xx?IϾԾS"_p@aa.ӒIK^Nپ?k=B"?Ot{!`nhy3PJ2omWB76N 豴,zXu>gN ½;dډ+' W;~S+M-@=V%0sE"8}sYK-K Y>{&@Vkyi_{xr>riW]u AIIc`/ul9;sERKU:BH}z_`A¥~{ KUѤL| wjT~W?, 7{5Mly+4U e諯xK,)A@Y\[j{/tJj , !^PM씐aaL9VУ{M7E9쑶tٸ<,LfD"BQ$ӽ |"%pCM%,W9|og$80$8Dz,XDz`-Mϓ`8N;'>MeA沍)ϑZ2w\7zNݬeU}T^9J$-2QLw{uk yn!*Vj._ߧmۣC:O-H:QX˅$ sl"[LשKƏ{NЭD"YFQ2\F:-D`4*cI}v*}pzmKko|H!moXM+”[]y a D4M&# ښZk5 !Kt Ǎ6! aG㻣AA %5|+נP@Mw$t ih0̬,$%%vb6פU:B^nǢu_{24Dh{#"͚HN\廏DKUnJx@ U'$@X /I1`@Jr2ŽM1Ѣhj*mmڐ]~OSɺadtˮ$jI8~*?jAt??=w"aeZ~WembR~woʟ a҈ OomR8"m2tu/Ze@ PU 48y!*T[P(HH$Z ]qOq %js_yy%`48U>i>ͣ>w$6D,gt nE`h$F,P&d|8 `9` kEHp(\[5ΩJo3~*Odw5#/v2fFm6( %%BBXWB7q>N.'N@ >>{lqzf{*ƶU2!ѶU-8+ `/6r'(u8|=z4Aco g]/;Ɵ<_OӞ~zrm{-euVW'x)0I0KHr;7n`$<ϝGDU6e0 f|$)L 6]7;5ZЖ7yo79VBEt d`-Zp,$\ Â5p`h'#}7Pn\5@j>#VƒPWuĤ۸RDASOuљjnV`RAB\M sD I6U _WAo"S"->c߲N9^ =OI1ywƆG0kR"yL3gR0d:I'G ˩$I ڑ$lh,y?Jf=>~i% HtevyEQo(_Z7S\u!g${rSH|BGX">H,KF+[۷AivhٰwOՉ1Ý_l̶￷FG\zQM*-NkR eK\vQw6i˴] -SX>M˴ u%_GDyblMPt+2*U8ZWG}J}@ x{J<9It Hz ?xMH>O4d6ն :vw9Ľ]pFfBQ\Z^+wNI# (r?hyﯰ"3,\:^;wNIA/a4( ;tu5n0'ntXL*GtbJ4a{֘7K>w5op![P;wrA!!,רAcǜ$04mnf#ۡ~ȹ'.^|u.Kp7D>5~@agqȄ)#mIӴ nE07o#\t ,4M;\ǜzq{t vl ;scȫ+n8jzkꭟQǻ޶ծ﷗k%J ZǀF\M*}Á=Wwo>T(-9ӑmv;Iʺg^#ylnSnh#~bOSCPa 6gkB(LًCC8ôN>D'lhGf/j+PTk)9; +%bq{ʸJz}kO 0 ,˾+[!M"O.q&;=CƘ'ӽ=S;=Yzd/FGl1n3!4̈z}V["Dƚӣ#:rj KhIj jku+KX*.QVȼJM7V{|L1 |+u%ǃC5j^#yp%%*($4(rP  it*DJ:9p%~vOLĐn}4)j@] MU:\:y fxv,@]@UjDVyHJcbHh7*6G!g2M{4 u)\BdNAf#4|d$˲]Oօas'{L8;= -p8;]@&Hy^6WSA1#ݹy㒄|0yl0 \˲Jq.- AS/3e8 Unc7p)+v6+'Q\E`H yU۰'O?H;gK7dZzؐo%2 @~+]Gše`dGi4{TCkcy8[&39#il%I"+7ˣ FP ueh8"#@iY9)Dbt$ IDATJdeM\L w$n֞[H_k}v{4cxiӆKOO7n@JJ98vRk80=Zm7Q0Eō^}W-8Xl^9{Lu5~ڹ:Ƣ.7t 5'uz ]C:Əs3>g,vm˃  1nDD7x ZJK $'Bg whq%pG]=pxVQV0ҋmeeJyA_R uEͦpD|NB MyrEß(̂ZcF?UQt÷OTzȒ`EXiY) 7nyѳ^z=sUf1H LߑaGwW~$pacA2Ni3&dJӼy$.\㦙޵E˖P*pM;]}\VQ>t6c1U>P9 5)\Jc 8D q3ֶ{" bLƩt4jm4ho\;{ cc \?=@k^}LWBq.ff"U+ !X~IA _q1kQ6`fdgP#"'kY"U+~ M)ϖ,![HI(\*Gh㤎*ԃZK3$)))D||<ꔔbD'ǎ!FYj[xXѷMH8,ErgOF" @/Cq X[Bb "gvGq(1ֺpqM FeN0wGfj*2RS+ӧc>G۳]zɿ3\a} b*ADI@ŜſP'Lt?+$m42 J P*бc{J pq< Wf0tg !Kp@qC*Wssѯs*` b18[Eg夦j2,JhӚR/v ŦN722۹t j'1:*KOVh*>Tha W|lĄX̧<d2_}}!T,x4NT,NhfưvkxD5;Ɲiahw/(>qȁ BeP]N@&04m-yb*ˋVWV돃 Ff;u[g㣨lv7}C 44^łEzE7@lbC\)**z%Ԑ6[f&?o_G9sg9;s^=)q@=X[3ZС{< fw;H<֑ͻvk߼kWT}V[Tqق$.-Qȥ =znHHwrLx{Gվ2.CN䗗1EХ9Z ~k[N[אxGu}/:#ws}L},pg;͍6BBI l, 绁XZ:|Voq$ EJf} ,ꋟerNfsn]C uKѪqGgghDUU}Znѐ h;y l%??dN?IyE*3h҃|(kkltfwH37VE\ٳ 'Nn "kE-Z{˲jE޳s'V.;;iެ-}ub \<0SERy6Q=݅P0th2όgcѽ? lޡ yْ;,IqDt$ߦ:{gε7exxA LmN=þTR  h,Z_ғkv'<ѥ5.rR Am))NsFRR,:ѢAØC>}ϼm2ֹe X3B"]>%%|>9@Qw;ZeܪK;aɼ:?Vٹ[?wnۤkE#6J] ESVzƵu3.R:5 ȏQ4Md4t]l2O49jGf9jbW^d`W&>.~T's~o6v<BѾ$kN:S!mukiٜT ~3?u}d+rf̙֨Gyw!dA=PNϫV#%jONI8{xcEIA~ M>`yFt8!I[UUd0,uyCAAAXXra (;#o~*i wEf,駒+W9 -B'/Z$I骪62t]o(IRzr ,syi{}v;WL ٭Zvвs%i?ʡee??:oyyu^hҾ:vl۞=vҍ>t]w(Zy|a^WOw]uA4 3E>QiZ{ȣuG{צ=/D%KպceGUTN!dB2&P%v[4]b.YW-1?(#۲d!~SB/,;[ըb:Ay_:2Ea`f@Ed.PXiWEw8QD:KOU<ճS]2ztpf&/lJJr*U$rI>DDc={9߻wEKڏJn7Fcc*+;EPcrͰH{h@cH:Qr,@W8\eP ¬|CEt>t6-;Qڣԇ) FVc-}[MҝxӰ­bm H^tXϹވXUA׋[L~ f;oG939aٷ[ dV'W^[c͏+[w:b('gK'{B~y}ߖmN2RweNjw t:[_ :gf{<|Q7:g86 7xwTt_L^kZC GH{8;)+ -}6jӺFJڐ]]Kx}?<ե(sBRb|f{N4 L 'LʋmZDyfL~9:m~mԨQO/jbwR焄tv VKzzB<Uʴjy]C?m+=(kߐ{oO$|a^:W$j\ 9k[Шbzj"c˸ApfjC-3ӳqf#V 6uHs_UW3?˺e=x~6za]} =2Fc_ȓ{>`T5R''{ټyj` UU;up[>9ԭ[mǚݩCx!`gxh@pZ@PFk8Mә3!@kAJV_}_w{=t@vDՇ&Κxͺ5eU=w%Wu֡+O$nz=akڷCt`~ j{O8Iy񬫿",/T75}~ CT7j$X8-w\0CX=2Q(7yF1aX,XNmgPT(3Ƨ/;T7)U-errd 70rWW%Ȟ.=TW`qOK\k| ~~=:?o =L~˳լIV܃9^>8Vһtݺ|mDvy nr$CwA?Ina|߉>QӴ m/oIK3')\w!CK3m3v><90@de(1?$랯m9J>bM< wnPtv7FIge^›2&5@^Z\l&mG\\uCH30a#K3`?Twhuͯ\أUAiEm!C UYYׂz2e4M'ii/|Ps[0QSkvy&T!gD%l,lUf!$ @q Ȉ6o@$NDtfڸ1HN6hħRˢyjՊ#ճ;y&4mu|_w,,gA$ /~YS#Gwl9¡C,__0^7֍.Ά/[BȒgv!: !x;@ȅh03SS&GDAYQ7Mv䪎L:わi[k O-,bahR=Hy:|słp;gzFs/Uz~miMe CbϘƘX,XvcLE~$*=b0qۺtyq˖WL~NY0 oE,#+c,X8Mm#µIw\r#g}[;ӰXԷ u1 L̐J>odY3]4^6DQYpn: /FW7b!{!/ߗ.OW HuDEW_|ikrΕ\6TGogZވIUY: Wc`ĉW92iZ?2k&NS۽_Z*.` pu{ίJ^ 1POrIr9@G |-UvO/ZzMk٤I˪5 UOc޲O-w‚)Srgbu5kc*zYJJJ8\}5/K,+VӴ^xZyrp?0(¦]'N pjvPUJmOJJrM4I4idLqqq $0Sd=sWC B>{V7\Ɔϳn4l9S &}>5 >{T˒u4=T,%?qۭL~͖vgISVh*$'4vT>R_hKҐuyu)//p_5#{㯘/1C waڥj}$0 B`z_yD'+SQ\.v'7jN gZ%UIcIZVϣm"N" R:ӥZ Z?~6d)ynYDE`R=5++m>}}L]J^_|߭iĉ" :'<ѐ94:۬Q_p)oў*ʸW4ĸ`IzfV[`Ӊz]vuOnIH$q:5nhL]w:שx蚎 ##{~k:wj,ݟ6ȉۆ"t]QMPn4UEvEuƷ'SOW_ KU]G52T$zkh:6v/X~W+~}HyQ_޽{}: k&NJ4! N,[b#u_S*C)603D3.>;v\TTt6ah4۵kְqͻt7|=l5瞻g,JXh,h,scQg`ps'ϳϝC$ϔ/ 4]{Tvi]᪜K5e%OG~=6Ɠ벒M9W׬Œ&'qC-D4t%F}6Jo1uxbduQ>ƹHᑪ=֫2Gf9v_&骢P]RYl@U@QAuD!= "r(6Fƙxu 8d7ªb7MCHIII%gEs@$:%饥̘;]Ɯ9(vBBW]'LQĺ.ofc.4 JKKu{G+sd%l !DRRE C϶NHRs:Bf-8~vp:}]S~{FyeE I劦Q) " [2MӲlr !&QM;wi,4m· 6G֝R[%G b;Wftӟy&hۥ$}A$''x˃)))q.s7˅)\QCIIIt4Yhhu#”?nݹs'=_2;;߿~#GZW͙3(ysGey׶U@eMǸvEݲөPY)c0e^kb<ĎA,Xfذaij**.* 6lX\.]Q PEQj(n( k6mBu, vmۂ0p@t]'996m*;4TQ5 AC4,rN:/B9 JZEQ`?Ryxg,SA qd4MCet]gNUUUݶ):}^ Cjv1w+7U۽;Itܙ-9q 2deBd𶪪(Qه$I$ȑ$ITU'E%.E,0JrYU#sgyR+z4բ$VJ⨁2w-~{+=׬j[%0+aM̒;̈ Wi3 `ܒ hԕ}e,4' l)s_emY}\cݱc,3'G(u¢GeyܝwnZssg7 me}/og]Mݲ,\ nTo[zMX,vj*y\؅8lذC@[Gj""Ń[S|aÆςphnYt-pD5UUAm۶mZZqq ^Kn$yI_ӵ2^)Q-X%4iŒHY4G?aS!9RGvӣ!䍓  5P^ ]C`wy;=#Ew jop2*#ȴ~pMt{32p pp';*V\ k|EYcǚf̘QCI_Qq:DS\O>5UfUeU>DQAIDzj#<]gI:.69T>#>60~t9Tdy蛻[OtҰJ'ŕ :fΝe\r~;vM֋NdYA_\GaჺX3! 񫯾ju 7H.g#b&$'rb<NI'W_ep өnw 7b3* bPRRp8ڵ+ZHUDJ&~;sA# :tLd8Y 43iWuUQ./l{nbݷ3mclܐݮ/l)b(nS@[[ͮq]^Žg {3;%ﱿP~|F.K/(~"TYYƍ=z4ϊ " tM@Ĭ3.=|voT˰ml6}74h`^?'IsqV^0`$^Aģu+G8M{f!֚FǭA CS/ь~X[Ί83N͕&4GU{ĪMS0d3C뿓#6#Gœ8Qs쭳}">ՇaUZn$0C.L! "e0[|IB{ *sG!b8 6iͯ 4oҪK.ˇo)=ݸAvqqqNe}f'TUVк ,lظxN:S:!m5sU@xrs@Ͳƫ@0JG.CVe2, iɬ*z ]}.J|m* ܪFxHraٞ )`y,Y֫.p8t]w|arQY5rѰ}`SZkg(FIȑkrx ~HaaƓxh墸2F ( L}GXVNx'swaԩSDۙx 7%] M1IH#m i]gm05+VGgAio=Y}! BX+Y7DžGE9)hƬYŨQX~=iiisGg(h?n_ \:.>g hm 8^O9_hJa†=aݾ]׸6V]?_Sqq ~  muCwͦ^סLTusåsmaN7g"757{g̩Lgp Yb$&&xbgUUQU>} ^hO">eo_2xIV&R1)$ :Cpwh&9%J$FIR%IWUt<p`R[liFHJ$I-]rg;I1_|%t`Fg?vςC&)+DQ,? z)NtOi䅔g++3.ۭ7)6{mg?&8}@kɝ/%ѥpet\L(,4jcM/w7(T97LF4M<zy{\sp*6| >^UaI:N9OdgQuLhf[HHT}~-:&RD7Dsur$Rpz 1pvaȻGW?B3w< {=$Ewݸ9fBZY_awRUVHYYMPr?~φ L/ΝKQ#hQy˦Np[%^=GjJodq>*3~ ޷]ԐWUEtaev|3y9Úd0s\'Pr_6|Lm]]rNqVVM8qh]ZpS:YEڧYwMyxidJDQ,ipk받Zj7UDTY}V]Kbk)XNz1f38PUcǎc68Ik-Ӭ⟖{Ӥk,GIMztuON'UVzz*3BnL.r7(zu>C3;`|p5;;`N/m˪1iۻgA42沣DNX<>A SRR/^8h.޹E2K+'ögæv#lI.AeYT5 %%6R3_ |ĄDHJJ"9)Rkc3'۹=esRv:6cŸ\lݱ<&$&4tMYA7E,#nMTP2+*6Y6=lA0-K/7 y?n1mD'Ab.V^^^~s$''?EUUU媳g7#K?Sڮr7\xq+V$;4 +WTV1I]jQuOm^N\\/_̞%W^y r]PyWk2;Lt= ]\σJg?_0Ĥ5ϼ߶l߽@( ou(T?m-4}4C\3ao%!U3` ~TIDtE^ bdC\y 9_TG1&iHtF"{懎/W@tBzc" 1ŸǡQ ģ Tkv;&燈1 W~!b8 !"#&MRVհg$&?kѦ]3_~q:(xIDATHmЀo.$)1Qp+3Z{r_g'1Sw,}8tْ?qz n4`XRbFG\w!@w+~6>g?؊tJJLff&0gIoڤ%":oˬ׾Œ֘r^/9ogWD#+NkXvM p:v{h6$Kk$D(W]OMި{eυ\#ZEt:h4b2HHH 99dZ'.΀!΀ ҩP6n_ΡWȅ?ߕ~.ۯ :=xcqyu7-E,)-rrAXrk]mȆ? g^~KCsMˋ~rm.Y%x׷6/hj3zȨ泖|R?koQEHQ?`0q(7^C9ʥ¢ob=U{;^Zf/yxL"⃫v|$ Q4reDDш,TWWc4źJhF(y)~MAоq;x5/MG~O"&|w76aU^!eաꫯN6LW麞)>k3wr}x)7PpthVFTDAlistm!6DYfcM_~Yuo %/{%'{Ȓ tō^_ (,0 +7LbYD1>,sys9E$7z,Ei UULEPU6ډג]!{5Q7|xt2:ʬkIFNRZ&ޡWZ̳=Ccmchk "ӋBEE`NhZ_؏|\<=;׮Tto۶#1(ܠ$(u˧\@h+.KK..+*͚E!r pֵsRn0ܻn):Lh*os镟q?ooyn 2ON秢(FZ1+]Qb$nן_m#h7rԕiĈ%@#t ١""1ۍ"놴;Ӊ3Hz]FEA( rar+([ --Vuv[y}F~7͛grQz^xV(???1TU<Ou'\l?ܜ$ T lDsnCdܹuƢaÆp8"̫,gpl4<5q=Bd4w>uꆭ~6L-p5sF}Ͳwq #vϖX/39,Xb0cIDqz'G}'x˼CwWew*<,`'ͤDY* pj!tn={b.\~5At(f3keee',Yj Ct-ʚ ,4zr)YX$%me[Աxg7@O$I uRX˺@Ӵ|idIx={=4}}hA뮻㏣kSEKsuFڨ񟕕Mf,GzIc@sTH&lF0<ǧnx6?\=#*!+Κ#GFlη8psΨʺ4q9q@= [oY .嫥K*%3|zsGJgnp뭷\UCVP J:Ɠl0̞=471x GP K5nM0nMGq+++nVY,%8(JH(%%zgxk•[9gX)?['@koVt:UUx\O=.`(+-5Jqq,z,cخ5ch@I_;X-A~rěsƜqMnjV*.̚C=~_MhKVۖ^{% ,搻c3._1 l\V^781}UnjEEt1t]#bN^^^o|co,E&T/13cK~!;Djb4&p8pl]?]yLW&|VWAן͜<^rnC^1i[u~.ެ_l {i{niNӉ ʪINNk:jે2wM{n(챢àBb,.g3Ɖ̻+>տ˟EN "w)S~?k܃89wwd#B T#ȣFEQZGiHG+VĪ-Ց T'b,X:+D^ V(C^I6ݽݬdw U{?3ܹ=ܛ=!D#ۨ "l$ny( T\̜N7HW\ּ&SGzyMAN?ɞu<[v瀉c {RUU| ݟY|l4S;x9$c|J)]~qtD5>UOFɓBM5,L'WhCHor(1YY((cCb2QBĉK$n zp2U{gΧ,)'*K@K ( =S{`~nKü3;N5VjbX|dddpu$m =ggh ,yDlQׅrv2† ȉW bsmH(`X,9NSpݸP/) LGDz@M[h.?3<0=7)%U3sv|jqͤI9[뭭 f<tCH&sMc3 Rk}'RΩv2潈A.\ȪUbfد)+Ι0!abwof}>͍}bW/]3B2g-/pzB ) G4wLa^ s w}bx%,!--mDVV򙬬}۝8]=xD뽃}|$t.l^#uO!G)t+ҕ"lN#VYtyO[L*)#<E0'K*zvс UX.nKH>uv-EE v)Xu/*.޼w~B2@@\^Dbr,Qw k{ugzsȱ/{KrÁn1IUU/v&/P{BSKw\@V9X6斄63ٳY@5x䟬!jAK)HdML[{%6ndCbucGbcѨr>N$YGAH0:CSCu/ "&ü5> V^SSc0 7CBz-@}d;\x7c}o˖V,Ŀ<Ā5̀5=!ܕQLˋ;-a?T-YCoMCMB%j zvc0z_Ϛn\FHuV# nԫN4ohu/2*Bnn@E( +WDQ\.WA3gwWm{L^Q& >ؾ &%=@Ƚ-I?H@ t[K~z*K*3334m Ψ4FV ̋dUVV&tD(u]Ծ}(ٜFWF&ů- @?ɹ]w6558P:rȜÇyii{wpiSSS9tX; e=Ep Mn%e+E1k/!*v{۰,\NDpPHeHꊁx]=;^+י"ZG =)OJcG ˾4cN,?*|f/ն͞;;溨/L",QÊ8rrBHBԞ;}zfϞwli 80a͝%..l 1͓=qO5ƣSRUՑ F ^h5*jk«` GFcJ2pnO uVKIS!v]\b4hHMLdssMKYtv{k{lC+u+}_{X,{L&Sd  Jv2Fau,6W9zX.m& vm +0[Lb_sM?efRv=) 8D&::::>%tT9msp8$Fȣܝ؉x+eaq&gIwhg/eA,$tώyE(7YIYǿN1kEqiqѲe" w Ҥ(KF?jk'M.IENDB`themes/advanced/img/spacer.gif000060400000000117152456730070012322 0ustar00GIF89a_o!,H+>2YM$;themes/advanced/img/progress.gif000060400000003371152456730070012716 0ustar00GIF89a """ĻUUU333! NETSCAPE2.0! , @pIiQJS2l p oĐH'N%j%Q8'+rR06 FsZ4|SBT bnYa9h8:qCyg,S\)_Q?e +S 5 #lO<#vYJ;v\aU}L 5{|q&k2387ӏϦ_XȽ`+=Lε)qX竞&Aq"! ,rpI+ 5F`RhWRl;L&-fm)M<\MRd@ H̑B MoƆ  Gz{! ,rpI'A5:MP!(u(8DJK2r3-h $63e`& zfLZ a>F WssyJ}T N.aqXshCXJ! ,ipɹ4]L߶$AfMA Jj@'[Tb*-bJI Z PM sbgp$v!5 ?}  ! ,e0K!^aX [(\ -SR@ PCr0" LzxLՍπ* _נP:DeUywZt n! ,0xDWE&j׊@.w~200`4r|BӀM> ,bL>|?4B>ʻu9y& 2x& k& U] voopraT&! ,{pɹB BOeTG\l )S&40yTSL\:=Jk: DeĨc8Ob/:{ tyt#|- mN qK! ,lpI"8dy h**ZpTRF1"- C `B8,X 9*P,@R`Z=>u,S"ΦOT\um|;8~*! ,xpI]p ]5ĐP`)% !HB PМV 59(X25,I/n#&@Vq5tsny\)_g|r5! ,gE8[`&y_h) E "+gG h@l5" A .@ME8NgL+ PɃ pus/jȩjVjc7I! ,\(e@p "XhQmTqmxh w$ 's) a]-lj_g irˀ`% ! ,rpɹx*2 M]hiG!ۑ".Jj+,p@XVFn50y QL\@K0E c}dyFv( ;themes/advanced/skins/default/img/code/php.svg000060400000000723152456730070015356 0ustar00 PHP php themes/advanced/skins/default/img/code/script.svg000060400000000731152456730070016072 0ustar00 Script script themes/advanced/skins/default/img/code/style.svg000060400000000727152456730070015733 0ustar00 Style style themes/advanced/skins/default/img/code/xml.svg000060400000000723152456730070015367 0ustar00 XML xml themes/advanced/skins/default/img/anchor.svg000060400000015125152456730070015131 0ustar00 themes/advanced/skins/default/img/search.png000060400000001726152456730070015113 0ustar00PNG  IHDR Vu\gAMA a cHRMz&u0`:pQ< pHYs  0iTXtXML:com.adobe.xmp Acorn version 4.5.5 5 72 72 ׯIDAT(EMKQp2>6%r'?沝 B }PX-$z xܹ̹ghUnϰ#t-S.F#D  @6n`'qO< q| `7k̺0La*XGxKeŌI؍-p +<ϛn`αH~0 c [;s K0(bfC>g`' Ǽ+a"3P@F*{G%IENDB`themes/advanced/skins/default/img/middot.gif000060400000000206152456730070015077 0ustar00GIF89a! ICCRGBG1012H HLinomntrRGB XYZ  1acspMSFTIEC sRGB! ,L`h\;themes/advanced/skins/default/img/menu_arrow.gif000060400000000104152456730070015772 0ustar00GIF89a!, zq(׉*;themes/advanced/skins/default/img/button_bg.png000060400000000234152456730070015622 0ustar00PNG  IHDR лcIDATxcx=/ע Tngsox)O@ v8w?QxbMc^|{uu֛7oP0 IENDB`themes/advanced/skins/default/img/media/pdf.svg000060400000004522152456730070015506 0ustar00 themes/advanced/skins/default/img/media/quicktime.svg000060400000002127152456730070016727 0ustar00 Apple Quicktime® themes/advanced/skins/default/img/media/video.svg000060400000002144152456730070016041 0ustar00 Video Video themes/advanced/skins/default/img/media/windowsmedia.svg000060400000002170152456730070017424 0ustar00 Windows Media® Windows Media® themes/advanced/skins/default/img/media/word.svg000060400000001600152456730070015702 0ustar00 themes/advanced/skins/default/img/media/real.svg000060400000002224152456730070015655 0ustar00 Real Player® Real Player® themes/advanced/skins/default/img/media/swf.svg000060400000001035152456730070015530 0ustar00 Adobe® Flash Player® Adobe® Flash Player® themes/advanced/skins/default/img/media/shockwave.svg000060400000001027152456730070016724 0ustar00 Adobe® Shockwave® Adobe® Shockwave® themes/advanced/skins/default/img/media/generic.svg000060400000001642152456730070016351 0ustar00 themes/advanced/skins/default/img/media/excel.svg000060400000001565152456730070016041 0ustar00 themes/advanced/skins/default/img/media/iframe.svg000060400000005132152456730070016176 0ustar00 Iframe themes/advanced/skins/default/img/media/audio.svg000060400000001407152456730070016035 0ustar00 Audio Audio themes/advanced/skins/default/img/anchor.gif000060400000000106152456730070015070 0ustar00GIF89a !, @w&ڃq|a4b;themes/advanced/skins/default/img/pagebreak.png000060400000001314152456730070015560 0ustar00PNG  IHDR sBIT|d pHYs B4tEXtCreation Time11/12/10r<0tEXtSoftwareAdobe FireworksON(IDAT8Ք;o1ߒ DE(J0D  3KKP;3 ɂK4i6CUMp.>~ϱRJRzhlN7K% owkkkIEQJ-xt5N$)$VXkqbZsn?>^__j=x{yrDc6Ơ[kb e@-//^2RqZe% !14&n?ff09=^RWP n<5)ERڥV-],"*8h%@cgCNwUAt kHpBjeq93,Z Xޫ^07$?U*k 0G$p~)E. ~?k: 8~'d6uJ{S$Јq+1dYF<:$,nIB?z䜻vJDu:h1)`|ت?HRco_6/C߷IENDB`themes/advanced/skins/default/img/readmore.svg000060400000014552152456730070015460 0ustar00 themes/advanced/skins/default/img/load.gif000060400000003407152456730070014544 0ustar00GIF89a ywul! NETSCAPE2.0! XMP DataXMP?xpacke ?xpacket end="w"?>! XMP DataXMP?xpacke ?xpacket end="w"?>! XMP DataXMP?xpacke ?xpacket end="w"?>! XMP DataXMP?xpacke ?xpacket end="w"?>! XMP DataXMP?xpacke ?xpacket end="w"?>! XMP DataXMP?xpacke ?xpacket end="w"?>! XMP DataXMP?xpacke ?xpacket end="w"?>! ,@N肧tA(@ 00A,Lb](EgЂX IYR0=Ɇ4LPrQj6"L9K#! ,NɎ{$D1hQ]IiN:)S$  b$?J Q(0)jf{n-~Nž! ,MJBBeuǁȔ%5ef3ޔ$ݮ("<L"`RJJN 9ܣ=! ,NɄZg LQ`fAP)8/,S&,tݮ yD"H`R bbm^Sڙ! ,MBZZ }HI b$(T}绝 ~9@2 @0M|ř.œt;! ,M֢ZR}HIlt 0:A v>CGA 2ƉHPѦj80R-Jt;! ,MɔZ', }HIltS0ޭ%8b0dLIB)Q(0`& tह3;themes/advanced/skins/default/img/menu_check.gif000060400000000106152456730070015717 0ustar00GIF89a!,;i#~ʶ{;themes/advanced/skins/default/img/readmore.png000060400000000565152456730070015444 0ustar00PNG  IHDR  themes/advanced/skins/default/img/progress.gif000060400000003371152456730070015471 0ustar00GIF89a """ĻUUU333! NETSCAPE2.0! , @pIiQJS2l p oĐH'N%j%Q8'+rR06 FsZ4|SBT bnYa9h8:qCyg,S\)_Q?e +S 5 #lO<#vYJ;v\aU}L 5{|q&k2387ӏϦ_XȽ`+=Lε)qX竞&Aq"! ,rpI+ 5F`RhWRl;L&-fm)M<\MRd@ H̑B MoƆ  Gz{! ,rpI'A5:MP!(u(8DJK2r3-h $63e`& zfLZ a>F WssyJ}T N.aqXshCXJ! ,ipɹ4]L߶$AfMA Jj@'[Tb*-bJI Z PM sbgp$v!5 ?}  ! ,e0K!^aX [(\ -SR@ PCr0" LzxLՍπ* _נP:DeUywZt n! ,0xDWE&j׊@.w~200`4r|BӀM> ,bL>|?4B>ʻu9y& 2x& k& U] voopraT&! ,{pɹB BOeTG\l )S&40yTSL\:=Jk: DeĨc8Ob/:{ tyt#|- mN qK! ,lpI"8dy h**ZpTRF1"- C `B8,X 9*P,@R`Z=>u,S"ΦOT\um|;8~*! ,xpI]p ]5ĐP`)% !HB PМV 59(X25,I/n#&@Vq5tsny\)_g|r5! ,gE8[`&y_h) E "+gG h@l5" A .@ME8NgL+ PɃ pus/jȩjVjc7I! ,\(e@p "XhQmTqmxh w$ 's) a]-lj_g irˀ`% ! ,rpɹx*2 M]hiG!ۑ".Jj+,p@XVFn50y QL\@K0E c}dyFv( ;themes/advanced/skins/default/img/pagebreak.svg000060400000014540152456730070015600 0ustar00 themes/advanced/skins/default/ui.admin.css000060400000011064152456730070014576 0ustar00.mceDefaultSkin .mceToolbar{border:0;padding:0}.mceDefaultSkin .mceLayout,.mceDefaultSkin .mceLayout .mceToolbar{border:0!important;background:#fff}.mceDefaultSkin .mceToolbarItem div{display:inline-block}.mceDefaultSkin .mceLayout .mceStatusbar{border:1px solid #ddd;border-top-width:0}.mceDefaultSkin .mceLayout .mceIframeContainer{background:#fff;width:100%;position:relative;padding:5px;box-sizing:border-box;white-space:pre-line;border:1px solid #ddd;margin:0}.mceToolbarRow .mceToolbarItem{font-size:0;vertical-align:top;line-height:1}.mceToolbarRow .mceToolbarItem .mceButton{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.mceToolbarRow .mceToolbarItem .mceButton,.mceToolbarRow .mceToolbarItem .mceButton .mceIcon{cursor:move}.mceToolbarRow .mceToolbarItem .mceButton+.mceButton{margin-left:1px}.mceEditor .mceToolbarItem .mceSplitButton .mceButton+.mceButton{margin-left:inherit}.mceDefaultSkin .mceToolbar .mceToolbarRow{font-size:0;line-height:1;height:auto;min-height:38px;position:relative;background-color:#f5f5f5;border:1px solid #ddd;padding:1px;margin-bottom:2px;cursor:move;display:block}.mceEditor .mceToolbarItem .mceListBox,.mceEditor .mceToolbarItem .mceSplitButton{width:100%;padding:0;position:relative;display:inline-block}.mceEditor .mceToolbarItem .mceListBox .mceIcon{display:none}.mceEditor .mceToolbarItem .mceSplitButton .mceIcon{display:inline-block;margin:4px 5px}.mceEditor .mceToolbarItem .mceSplitButton{width:48px;height:32px;text-align:left;font-size:0}.mceEditor .mceToolbarItem .mceListBox{font-size:0;max-width:114px;margin:0;border:1px solid #ccc}.mceEditor .mceToolbarItem .mceListBox:before{content:attr(title);display:inline-block;width:96px;background:#fff;font-size:14px;line-height:30px;padding:0 2px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;text-align:left}.mceEditor .mceToolbarItem .mceListBox:after,.mceEditor .mceToolbarItem .mceSplitButton:after{content:"\25bc";display:inline-block;font-size:9px;line-height:30px;color:#444;width:16px;text-align:center;border-left:1px solid #ddd;box-sizing:border-box;background:#f5f5f5;vertical-align:top}.mceDefaultSkin .mceStatusbar{line-height:1}.mceDefaultSkin .mceToolbarItem .mceIcon img{width:16px}.mceDefaultSkinTouch .mceToolBarItem .mceListBox,.mceDefaultSkinTouch .mceToolBarItem .mceSplitButton{border-color:#dcdcdc;height:36px}.mceDefaultSkinTouch .mceLayout .mceToolbar .mceToolbarRow{min-height:38px}.mceDefaultSkinTouch .mceToolBarItem .mceButton{padding:7px;border-color:#dcdcdc;background-color:#fafafa}.mceDefaultSkinTouch .mceToolBarItem .mceListBox{width:112px;padding:0}.mceDefaultSkinTouch .mceToolBarItem .mceSplitButton{width:55px;padding:0;height:36px}.mceDefaultSkinTouch .mceToolBarItem .mceListBox .mceIcon{width:92px}.mceDefaultSkinTouch .mceToolBarItem .mceListBox .mceIcon:before{width:92px;line-height:34px}.mceDefaultSkinTouch .mceToolBarItem .mceListBox:after,.mceDefaultSkinTouch .mceToolBarItem .mceSplitButton:after{line-height:34px;width:20px;border-color:#dcdcdc}.mceDefaultSkinTouch .mceLayout .mceIframeContainer,.mceDefaultSkinTouch .mceLayout .mceStatusbar{border-color:#dcdcdc}.mceDefaultSkinTouch .mceLayout .mceToolbarRow{background-color:#fafafa;border-color:#dcdcdc}.mceDefaultSkinTouch .mceToolbar .sortableRowHandle{height:42px}.mceDefaultSkinTouch .mceToolbar .sortableRowHandle .uk-icon{margin:12px 0 0}.mceDefaultSkinTouch .mceToolBarItem .mceSeparator{height:34px;background:#dcdcdc}.mceDefaultSkinTouch .sortableList .mceToolbarRow.sortableListItem.ui-sortable-highlight{height:38px}.mceDefaultSkinTouch .sortableList .mceToolBarItem.sortableRowItem.ui-sortable-highlight{height:36px}.mceDefaultSkinTouch .mceLayout,.mceDefaultSkinTouch .mceLayout .mceToolbar{border:0!important;background:#fff}.mceDefaultSkinTouch .mceLayout .mceFirst,.mceDefaultSkinTouch .mceLayout .mceLast{background-color:#fff!important}.mceDefaultSkinTouch .mceLayout .mceStatusbar{background-color:#fafafa!important}.mceDefaultSkinTouch .mceToolBarItem .mceListBox::before{line-height:32px;width:90px}.mceDefaultSkinTouch .mceToolbarItem .mceSplitButton .mceIcon{margin:9px}.mceDefaultSkinTouch .mceToolbarItem .mceSplitButton{width:58px;height:40px}.mceDefaultSkinTouch .mceToolbarItem .mceListBox::before{line-height:38px}.mceDefaultSkinTouch .mceToolbarItem .mceListBox::after,.mceDefaultSkinTouch .mceToolbarItem .mceSplitButton::after{width:16px;line-height:38px}.checkboxes .mceButton .mceIcon{display:inline-block}.com_jce .nav-link .mce-toolbar .mce-btn,.com_jce .nav-link .mce-toolbar .mce-btn button{cursor:pointer}.mceLayout .mceStatusbar .mcePathRow{background:inherit}themes/advanced/skins/default/src/wordcount.css000060400000000440152456730070015701 0ustar00.mceDefaultSkin .mceStatusbar .mceWordCount,.mceDefaultSkin .mceStatusbar .mceWordCount .mceText{font-size:14px}.mceDefaultSkin .mceStatusbar .mceWordCount .mceText:before{content:attr(title);display:inline-block;margin:0 5px}.mceDefaultSkin .mceWordCountLimit{font-weight:700;color:#c00}themes/advanced/skins/default/src/listbox.css000060400000010404152456730070015342 0ustar00.mceDefaultSkin .mceListBox{display:flex;flex-direction:row}.mceDefaultSkin .mceListBox .mceText{padding:0 4px;min-width:96px;height:32px;text-align:left;border:1px solid #ddd;border-right:0;background:#fff;line-height:2;overflow:hidden;border-radius:2px 0 0 2px;cursor:pointer}.mceDefaultSkin .mceListBox .mceOpen{width:16px;height:32px;border:1px solid #ddd;text-align:center;border-radius:0 2px 2px 0;cursor:pointer}.mceDefaultSkin .mceListBox .mceOpen,.mceDefaultSkin .mceListBox .mceText{float:left}.mceDefaultSkin .mceListBox:focus .mceOpen,.mceDefaultSkin .mceListBox:hover .mceOpen{border-color:#ccc;background-color:#fafafa}.mceDefaultSkin .mceListBox:focus .mceText,.mceDefaultSkin .mceListBox:hover .mceText{border-color:#ccc}.mceDefaultSkin .mceListBox .mceOpen:after{content:"\25BC";display:block;font-size:9px;line-height:32px;color:#444;text-align:center}.mceDefaultSkin .mceListBox .mceComboBox{position:relative;display:flex;flex-direction:row;width:100%;min-width:50%;flex:1;flex-wrap:wrap;align-items:center;border:1px solid #ddd;border-radius:2px}.mceDefaultSkin .mceListBox .mceComboBox .mceText{height:30px;line-height:32px;background:#fff;cursor:text;padding:4px;box-sizing:border-box;border:0;outline:0;width:100%;min-width:25%;flex:1}.mceDefaultSkin .mceListBox .mceComboBox .mceOpen{border:0}.mceDefaultSkin .mceListBoxSelected .mceText{border:1px solid #ccc;border-right:0;background:#fff;border-radius:2px 0 0}.mceDefaultSkin .mceListBoxSelected .mceOpen{background-color:#fff;border:1px solid #ccc;border-left:0;padding-left:1px;border-radius:0 2px 0 0}.mceDefaultSkin .mceListBoxSelected:focus .mceOpen,.mceDefaultSkin .mceListBoxSelected:hover .mceOpen{background-color:#fff}.mceDefaultSkin .mceListBoxSelected::after{content:"";padding:2px 0;width:100%;position:absolute;left:0;bottom:-3px;background:#fff;box-sizing:border-box;z-index:700011;border:1px solid #ccc;border-top:0 none;border-bottom:0 none}.mceDefaultSkin .mceListBoxDisabled .mceOpen:after{color:gray}.mceDefaultSkin .mceListBoxDisabled .mceText{color:gray;background-color:transparent}.mceListBoxMenu{min-width:calc(113px * 2);min-height:68px;height:auto;max-height:386px;margin-top:3px;overflow:hidden}.mceListBoxMenu .mceMenuItems .mceText{padding:0 8px 0 24px}.mceListBoxMenu .mceMenuItems .mceSelected{outline:#ddd dashed 1px;background-color:#eee}.mceListBoxMenu .mceMenuItems .mceHasIcon.mceSelected:before{left:inherit;right:.5em}.mceListBoxMenu .mceMenuItems{overflow:hidden;overflow-y:auto;max-height:386px}select.mceNativeListBox{font-size:7pt;background:#fafafa;border:1px solid gray;margin-right:2px}.mceListBoxMenu .mceMenuFilter{border:1px solid #ddd;width:auto;margin:.125em;position:relative;display:flex;flex-direction:row;flex-wrap:wrap;border-radius:2px;align-items:center;padding:0;box-sizing:border-box;transition:all .2s linear;transition-property:all;transition-property:border,background;cursor:text}.mceListBoxMenu .mceMenuFilter .mceMenuFilterInput{position:relative;display:flex;flex-direction:row;width:100%;min-width:50%;flex:1}.mceListBoxMenu .mceMenuFilter input{height:32px;line-height:32px;width:100%;background:#fff;cursor:text;padding:4px;box-sizing:border-box;border:0;outline:0}.mceListBox .mceComboBox .mceButton,.mceListBoxMenu .mceMenuFilter .mceButton{margin:.125em;position:relative;display:flex;justify-content:space-around;align-items:center;height:2em;min-width:5em;min-height:inherit;padding:0;box-sizing:border-box;background:#eee}.mceListBox .mceComboBox .mceButton{margin:1px;min-width:3em;padding:0 1px 0 0}.mceListBox .mceComboBox .mceButton label,.mceListBoxMenu .mceMenuFilter .mceButton label{padding:.25em;cursor:default}.mceListBox .mceComboBox .mceButton label{min-width:3em;width:auto;font-size:12px;line-height:1.75em}.mceListBox .mceComboBox .mceButton::after,.mceListBoxMenu .mceMenuFilter .mceButton::after{position:relative;top:0;right:0;display:block;text-align:center;text-indent:0;content:"\00d7";color:#444;line-height:1.4;font-size:1.25em;font-weight:700;height:100%;width:1em}.mceListBox[role=combobox]>button.mceOpen{position:absolute;right:0;height:30px;border-width:1px 1px 0 0}.mceListBoxMenu .mceMenuFilter svg{position:absolute;right:14px;top:14px;fill:#888;width:14px;height:14px;vertical-align:middle}.mceRtl .mceDefaultSkin .mceListBox .mceText{text-align:right;padding:0 4px 0 0}themes/advanced/skins/default/src/modal.css000060400000031210152456730070014750 0ustar00.mceModal .mceIcon{vertical-align:baseline;line-height:1}.mceModal .mce_arrow-up:before{content:"\edcc"}.mceModal .mce_arrow-down:before{content:"\edd0"}.mceModal button:disabled .mceIcon{color:#888}.mceModal{position:absolute;z-index:700000;width:100%;height:100%;top:0;left:0}.mceModal *{box-sizing:border-box;white-space:normal}.mceModal .mceModalOverlay{position:fixed;cursor:pointer;background-color:#000;width:100%;height:100%;opacity:.6;z-index:700001}.mceModal .mceLoading .mceModalContent:after,.mceModal .mceLoading .mceModalContent:before{content:"";z-index:700003;position:absolute;box-sizing:border-box}.mceModal .mceModalFrame{box-sizing:border-box;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;padding:8px}.mceModal .mceModalFrame:after{content:"";display:inline-block;height:100%;vertical-align:middle}.mceModal .mceLoading .mceModalContent:before{width:100%;height:100%;left:0;top:0;background:#fff;opacity:.8}@keyframes donut-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mceModal .mceLoading .mceModalContent:after{display:block;border:.25rem solid rgba(0,0,0,.3);border-left-color:#444;border-radius:50%;width:2.5rem;height:2.5rem;animation:donut-spin 1.2s linear infinite;top:50%;left:50%;margin:-3rem 0 0 -1rem}.mceModal .mceModalHeader{padding:8px;background-color:#fff;display:flex;align-items:center}.mceModal .mceModalHeader .mceModalLogo{width:1.25em;height:1.25em;margin:0 .5em 0 0}.mceModal .mceModalHeader .mceModalLogo:empty{display:none}.mceModal .mceModalHeader .mceModalLogo svg{width:100%;height:100%;fill:#fff;border-radius:2px;padding:.125em;text-align:center;display:inline-block;background-color:#444}.mceModal .mceModalHeader .mceModalLogo svg g{fill:#fff}.mceModal .mceModalHeader h5{font-size:18px;line-height:1;font-weight:700;pointer-events:none;width:100%;flex:1}.mceModal .mceModalBody[dir=rtl] .mceModalHeader h5{text-align:right}.mceModal .mceModalMove{cursor:move}.mceModalBody .mceModalContent{background:#fff;position:relative;height:auto}.mceModalBody .mceModalContentIframe{height:calc(100% - 48px)}.mceModalBody .mceModalAlert .mceModalContent,.mceModalBody .mceModalConfirm .mceModalContent,.mceModalBody .mceModalPrompt .mceModalContent{min-height:5em;display:flex;flex-direction:column;justify-content:center}.mceModalBody .mceModalFooter{margin:0;padding:8px;border-radius:0 0 2px;text-align:right;background-color:#fff}.mceModalBody .mceModalBody{cursor:default;display:block;margin:0 auto;position:absolute;text-align:left;width:100%;min-width:160px}.mceModalBody .mceModalContainer{overflow:hidden;max-width:100%;height:auto;line-height:0;border-radius:4px;border:1px solid rgba(0,0,0,.3);box-shadow:0 2px 4px rgba(0,0,0,.4);display:flex;flex-direction:column}.mceModalBody .mceModalClose{width:32px;height:32px;border-radius:2px;cursor:pointer;background:#fff}.mceModalBody .mceModalClose:focus,.mceModalBody .mceModalClose:hover{background:#e5e5e5;border:0}.mceModalBody .mceModalClose:after{color:#444;display:block;font-family:Arial,sans-serif;font-size:1.5em;font-weight:700;line-height:1;margin:0 0 0 1px;text-align:center;text-decoration:none;content:"\00d7"}.mceModalBody .mceModalContent>div,.mceModalBody .mceModalContent>form{height:auto;padding:8px;text-align:center;line-height:1}.mceModalBody .mceModalContent iframe{min-height:inherit;border:0;top:0;left:0;width:100%;height:100%;position:absolute}.mceModalBody .mceModalPlaceHolder{border:1px solid #000;background:#888;top:0;left:0;opacity:.5}.mceModalBody .mceButton{min-width:5em;height:32px;line-height:1;background:#fff;border-radius:2px;color:#444;border:1px solid #ddd;margin:0 0 0 4px;padding:0 8px}.mceModalBody .mceButton:focus,.mceModalBody .mceButton:hover{color:#444;outline:0;text-decoration:none;border-color:#888;background:#fff}.mceModalBody .mceButton:disabled,.mceModalBody .mceButton:focus:disabled,.mceModalBody .mceButton:hover:disabled{color:#888;background:#f5f5f5;border-color:#eee;cursor:not-allowed}.mceModalBody .mceModalFooter .mceButton{border-color:#ddd}.mceModalBody .mceModalFooter .mceButton:focus,.mceModalBody .mceModalFooter .mceButton:hover{border-color:#888;background:#fff}.mceModalBody .mceButtonDefault{border-color:#ddd}.mceModalBody .mceButtonDefault:focus,.mceModalBody .mceButtonDefault:hover{border-color:#888}.mceModalBody .mceModalFooter .mceButtonPrimary{background-color:#337ab7;border:1px solid rgba(0,0,0,.06);color:#fff}.mceModalBody .mceModalFooter .mceButtonPrimary:focus,.mceModalBody .mceModalFooter .mceButtonPrimary:hover{background-color:#286090;color:#fff;border-color:rgba(0,0,0,.21)}.mceModalAlert,.mceModalConfirm,.mceModalPrompt{min-height:160px}[class*=mce-modal-landscape-] .mceModalContentIframe{padding-bottom:calc(56.25% - 61px);height:0}[class*=mce-modal-portrait-] .mceModalContentIframe{padding-bottom:calc(133.33% - 61px)}.mceModal .mce-modal-landscape-128,.mceModal .mce-modal-landscape-xxsmall{max-width:128px}.mceModal .mce-modal-landscape-256,.mceModal .mce-modal-landscape-xsmall{max-width:256px}.mceModal .mce-modal-landscape-384,.mceModal .mce-modal-landscape-small,.mceModalAlert,.mceModalConfirm,.mceModalPrompt{max-width:384px}.mceModal .mce-modal-landscape-512,.mceModal .mce-modal-landscape-medium{max-width:512px}.mceModal .mce-modal-landscape-640,.mceModal .mce-modal-landscape-large{max-width:640px}.mceModal .mce-modal-landscape-768,.mceModal .mce-modal-landscape-xlarge{max-width:768px}.mceModal .mce-modal-landscape-896,.mceModal .mce-modal-landscape-xxlarge{max-width:896px}.mceModal .mce-modal-landscape-1024{max-width:1024px}.mceModal .mce-modal-landscape-full{width:calc(100% - 40px);height:calc(100vh - 20px);padding:0}.mceModal .mce-modal-portrait-128,.mceModal .mce-modal-portrait-xsmall{max-width:128px}.mceModal .mce-modal-portrait-256,.mceModal .mce-modal-portrait-small{max-width:256px}.mceModal .mce-modal-portrait-320{max-width:320px}.mceModal .mce-modal-portrait-384,.mceModal .mce-modal-portrait-medium{max-width:384px}.mceModal .mce-modal-portrait-512,.mceModal .mce-modal-portrait-large{max-width:512px}.mceModal .mce-modal-portrait-640,.mceModal .mce-modal-portrait-xlarge{max-width:640px}.mceModal .mce-modal-portrait-768,.mceModal .mce-modal-portrait-full{width:calc(100% - 40px);height:calc(100vh - 20px);max-height:768px;padding:0}.mceModal .mce-modal-portrait-full{max-width:1440px;max-height:810px}.mceModal .mce-modal-portrait-768{max-width:768px}.mceModal .mce-modal-landscape-full .mceModalContainer,.mceModal .mce-modal-portrait-768 .mceModalContainer,.mceModal .mce-modal-portrait-full .mceModalContainer{height:100%}.mceModal .mce-modal-landscape-full .mceModalContentIframe,.mceModal .mce-modal-portrait-full .mceModalContentIframe{padding:0;height:calc(100% - -48px)}.mceModal .mce-modal-portrait-full .mceModalContentIframe{height:100%}.mceModal .mce-modal-square-small{max-width:384px}.mceModal .mce-modal-square-medium{max-width:512px}.mceModal .mce-modal-square-large{max-width:640px}.mceModal .mce-modal-square-xlarge{max-width:896px}.mceModal .mce-modal-square-large .mceModalContentIframe,.mceModal .mce-modal-square-medium .mceModalContentIframe,.mceModal .mce-modal-square-small .mceModalContentIframe,.mceModal .mce-modal-square-xlarge .mceModalContentIframe{padding-bottom:calc(83.46% - 48px)}.mceModalBody .mceModalContent input[type=text],.mceModalBody .mceModalContent input[type=number],.mceModalBody .mceModalContent select,.mceModalBody .mceModalContent textarea{height:32px;width:100%;padding:4px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;margin:inherit;line-height:1;font-size:inherit;font-size:14px}.mceModalBody .mceModalContent select{line-height:1.5}.mceModalBody .mceModalContent input[type]:disabled,.mceModalBody .mceModalContent select option:disabled,.mceModalBody .mceModalContent select:disabled,.mceModalBody .mceModalContent textarea:disabled{color:#888;background-color:#eee;cursor:not-allowed}.mceModalBody .mceModalContent button{min-width:32px;margin:0}.mceModalBody .mceModalContent textarea{height:auto;line-height:1.5;resize:vertical;white-space:pre-wrap}.mceModalBody .mceModalContent input[type]:focus,.mceModalBody .mceModalContent textarea:focus{border-color:#66afe9;outline:0;background-color:#f5fbfe;color:#444}.mceModalBody .mceModalContent input[type=radio]:focus{border-radius:100%}.mceModalBody .mceModalContent label{line-height:1.25;width:96px}.mceModalBody .mceModalContent .mceModalStack label{width:100%}.mceModalBody .mceModalContent input+label{display:inline-block}.mceModalBody .mceModalContent input[type=checkbox]+label{width:auto}.mceModalBody .mceModalContent input[disabled]+label{color:#888}.mceModalBody .mceModalContent .mceModalRow{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px}.mceModalBody .mceModalContent .mceModalControl{flex:1;margin:0;display:flex;align-items:center;gap:4px}.mceModalBody .mceModalContent .mceModalFlexNone{flex:inherit;display:flex}.mceModalBody .mceModalContent .mceModalControl button{margin-left:2px}.mceModalBody .mceListBox .mceOpen{min-width:24px}.mceModalBody .mceModalContent .mceModalControl iframe{position:relative;border:1px solid #ddd}.mceModalBody .mceModalContent .mceModalControlAppend input{padding-right:42px}.mceModalBody .mceModalContent .mceModalControlAppend input+span{position:absolute;right:4px;display:block;color:#888;font-size:14px;line-height:2rem}.mceModalBody .mceModalContent .mceModalControlAppend input+select{max-width:5em}.mceModalBody .mceModalContent p{margin:.5rem 0;font-size:14px;line-height:2rem}.mceModalBody .mceModalAlert .mceModalContent p,.mceModalBody .mceModalConfirm .mceModalContent p{margin:0;text-align:center}.mceModalBody .mceModalContent select:not([multiple]):not([size]){appearance:none;padding-right:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-repeat:no-repeat;background-position:100% 50%}.mceFlexLayout{display:flex;flex-wrap:wrap}.mceGridLayout{display:flex;flex-wrap:nowrap;gap:5px}.mceSizes{gap:20px}.mceSizes input{text-align:center}.mceSizes .mceSeparator{margin:0;width:64px;height:32px;background:0 0}.mceSizes .mceSeparator::after{content:"x";display:block;text-align:center;line-height:32px;font-size:1em}@media (max-height:640px){.mceModalBody .mceModalHeader{padding:4px 8px}.mceModalBody .mceModalContentIframe{height:calc(100% - 40px)}.mceModal .mce-modal-portrait-full{height:768px;min-height:calc(100vh - 20px)}}.mceModalContent .mceButton.mceButtonPicker,.mceModalContent .mceButton.mceButtonUpload,.mceModalContent .mceButton.mceClear{position:absolute;right:0;top:0;z-index:1;background:0 0;border-color:transparent;min-width:inherit;display:flex;align-items:center;justify-content:center}.mceModalContent .mceButton.mceClear:after{display:block;font-family:Arial,sans-serif;font-size:1.25em;font-weight:700;line-height:1;margin:0 2px 0 0;text-align:center;text-decoration:none;content:"\00d7";color:#666}.mceModalContent .mceButton.mceButtonPicker .mceIcon,.mceModalContent .mceButton.mceButtonUpload .mceIcon{color:#666}.mceModalContent .mceButton.mceButtonUpload .mceIcon{margin:25% auto}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUpload[aria-busy=true]~.mceButtonUpload .mce_upload,.mceModalContent .mceButton.mceButtonUpload .mce_spinner{display:none}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUpload[aria-busy=true]~.mceButtonUpload .mce_spinner{display:flex}.mceModalContent .mceButton.mceButtonPicker:hover,.mceModalContent .mceButton.mceButtonUpload:hover,.mceModalContent .mceButton.mceClear:hover{background-color:transparent;border-color:transparent;color:#444}.mceModalContent .mceButton.mceButtonPicker:hover .mceIcon,.mceModalContent .mceButton.mceButtonUpload:hover .mceIcon{color:#444}.mceModalContent .mceButton.mceButtonPicker+.mceButton.mceButtonUpload{right:32px}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxPicker,.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUpload{padding-right:32px}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxPicker.mceUrlBoxUpload{padding-right:64px}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUploadHover{background-color:#eee}.mceModalContent .mceButton.mceButtonUpload{overflow:hidden}.mceModalContent .mceButton.mceButtonUpload input[type=file]{position:absolute;top:0;z-index:1;width:100%;height:100%;left:0;appearance:none;opacity:0;cursor:pointer;font-size:500px}.mceModalContent .mce-flex-25{flex-basis:25%}.mceModalContent .mce-flex-50{flex-basis:50%}.mceModalContent .mce-flex-75{flex-basis:75%}themes/advanced/skins/default/src/emoticons.css000060400000000755152456730070015666 0ustar00.mceDefaultSkin .mce_emotions_icon{display:inline-block;font-size:16px;line-height:2em;width:auto;height:auto;min-width:2em;min-height:2em;text-align:center;cursor:pointer;user-select:none;appearance:none;background:#fff}.mceDefaultSkin .mceEmoticonsMenu{max-width:16.75em;white-space:normal;display:flex;flex-wrap:wrap;justify-content:center}.mceDefaultSkin .mce_emotions_icon img{padding:5px;cursor:pointer}.mce_emotions_icon:focus,.mce_emotions_icon:hover{background:#eee;border-radius:3px}themes/advanced/skins/default/src/tooltip.css000060400000002231152456730070015347 0ustar00.mceTooltip::before,.mceTooltip[data-title]::after{bottom:100%;opacity:0;visibility:hidden;position:absolute}.mceTooltip{position:relative;cursor:help;outline:0}.mceTooltip[data-title]::after{left:50%;transform:translateX(-50%) translateY(-6px);padding:4px;border-radius:4px;background:#000;color:#fff;content:attr(data-title);white-space:normal;pointer-events:none;transition:opacity .15s ease,transform .15s ease;font-size:12px;text-align:center;width:200px}.mceTooltip:not([data-title])[title]::after{content:attr(title)}.mceTooltip::before{content:'';left:50%;transform:translateX(-50%) translateY(0);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #000;transition:opacity .15s ease}.mceTooltip:focus-visible::after,.mceTooltip:focus-visible::before,.mceTooltip:hover::after,.mceTooltip:hover::before{opacity:1;visibility:visible;z-index:100000}.mceTooltip.wrap::after{white-space:normal;max-width:260px;text-align:center}@media (prefers-reduced-motion:reduce){.mceTooltip::after,.mceTooltip::before{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}themes/advanced/skins/default/src/form.css000060400000002102152456730070014615 0ustar00.mceForm{width:100%;height:100%;display:flex;flex-direction:column;gap:4px}.mceFormRow{display:flex;flex-direction:row;justify-content:start;align-items:flex-start;min-height:32px;width:100%}.mceRepeatable .mceRepeatableItem{flex-direction:row}.mceRepeatable .mceRepeatableItem .mceFormRow{gap:5px}.mceRepeatable .mceRepeatableItem .mceFormRow label{min-width:inherit}.mceRepeatableItem .mce_plus{display:none!important}.mceRepeatableItem .mce_trash,.mceRepeatableItem:first-child .mce_plus{display:inherit!important}.mceRepeatableItem:first-child .mce_trash{display:none!important}.mceFormControl{width:100%;position:relative;display:flex;align-items:center;gap:4px}.mceFormControl .mceListBox{width:100%}.mceFormControl .mceListBox .mceText{width:100%;align-self:flex-start}.mceForm .mceFormRow label{min-width:96px;padding:.5em 0}.mceFormControl .mceTextBox+.mceButton{position:absolute;right:0}.mceFormControl .mceListBox:focus .mceOpen,.mceFormControl .mceListBox:focus .mceText{border-color:#66afe9;background:#f5fbfe}.mceFormControl:has(.mceTextBoxDescription){flex-direction:column}themes/advanced/skins/default/src/menu.css000060400000013126152456730070014626 0ustar00.mceMenu{position:absolute;left:0;top:0;z-index:700010!important;border:1px solid #ccc;direction:ltr;background-color:#fff;border-radius:2px;overflow:visible;overflow-y:auto;margin-top:3px;margin-left:1px;min-width:10em}.mceListBoxMenu,.mceSplitButtonMenu{border-radius:0 2px 2px}.mceMenu .mceMenuItems,.mceMenu .mceMenuItems span{display:block}.mceMenu .mceMenuItems .mceMenuItem{position:relative;padding:0;cursor:pointer;margin:1px 0;min-height:inherit;float:inherit;display:flex;align-items:center;justify-content:space-between}.mceMenu .mceMenuItems .mceMenuItem:has(.mceDescription){flex-direction:column}.mceMenu .mceMenuItems .mceMenuItem>div{width:100%}.mceMenu .mceMenuItems .mceText{position:relative;display:block;cursor:pointer;margin:0;padding:0 8px;overflow:hidden;width:100%;flex:1 0 100%;text-overflow:ellipsis}.mceMenu .mceMenuItems .mceIcon+.mceText{padding:0 32px 0 40px}.mceMenu .mceMenuItems .mcePreview,.mceMenu .mceMenuItems .mceText{font-size:14px;line-height:32px}.mceMenu .mceMenuItems .mceDescription,.mceMenu .mceMenuItems .mceMeta{font-size:12px;line-height:1.5;color:#666;max-width:20em;white-space:normal;overflow:hidden;padding:0 8px;width:100%;flex:1 0 100%}.mceMenu .mceMenuItems pre.mceText{font-family:Monospace}.mceMenu .mceMenuItems .mceIcon{position:absolute;top:6px;left:4px;width:20px}.mceMenu .mceMenuItems .mceImage{height:4rem;background-repeat:no-repeat;background-position:center;background-size:contain;margin-top:.5rem}.mceMenu .mceMenuItems .mceImage+.mceText{text-align:center}.mceMenu .mceToolbarFooter .mceToolbarItem,.mceRtl .mceMenuItem .mceText{text-align:right}.mceMenu .mceMenuItems{height:100%;overflow:visible;display:flex;flex-direction:column;margin:2px}.mceMenu .mceMenuFilter+.mceMenuItems{height:calc(100% - 40px);max-height:346px}.mceMenu .mceMenuItems .mceMenuItemHidden{display:none}.mceMenu .mceMenuItems .mceMenuItemActive,.mceMenu .mceMenuItems .mceMenuItemEnabled:focus,.mceMenu .mceMenuItems .mceMenuItemEnabled:hover{background-color:#eee}.mceMenu .mceMenuItems .mceMenuHtml:hover{background-color:#fff}.mceMenu .mceMenuItems .mceMenuItemEnabled:focus{outline:#ddd dashed 1px}.mceMenu .mceMenuItems .mceMenuItemEnabled .mceTableSplitMenu a:hover{background-color:transparent}.mceMenu .mceMenuItems .mceMenuItemTitle{border-bottom:1px solid #ddd;background-color:#f5f5f5}.mceMenu .mceMenuItems .mceMenuItemTitle:hover{background-color:#f5f5f5}.mceMenu .mceMenuItems .mceMenuItemFooter{border-top:1px solid #ddd}.mceMenu .mceMenuItems .mceMenuItemTitle .mceText{font-weight:700;cursor:default}.mceMenu .mceMenuItems .mceMenuItemSeparator{background:#ddd;height:1px;cursor:default}.mceMenu .mceMenuItems .mceMenuItem.mceDisabled{opacity:.5}.mceMenu .mceMenuItemsItemDisabled .mceText{color:#888}.mceMenu .mceNoIcons .mceMenuItemSelected .mceMenuItem{background:url(img/menu_arrow.gif) left center no-repeat}.mceMenu .mceMenuItemsItemSub .mceMenuItem{background:url(img/menu_arrow.gif) center right no-repeat}.mceMenu .mceMenuItems .mceMenuItemSub .mceText{margin-left:1em}.mceMenu .mceMenuItems .mceMenuHtml{position:relative;flex-direction:column}.mceMenu .mceMenuItems .mceMenuHtml .mceToolbarRow{position:relative;display:flex;flex-wrap:nowrap}.mceMenu .mceMenuItems .mceMenuHtml .mceToolbarColumn{position:relative;display:flex;flex-direction:column}.mceMenu .mceMenuItems .mceMenuHtml label{display:block;line-height:2;vertical-align:middle;width:96px}.mceMenu .mceMenuItems .mceMenuHtml input[type=text],.mceMenu .mceMenuItems .mceMenuHtml select,.mceMenu .mceMenuItems .mceMenuHtml textarea{height:32px;width:100%;padding:2px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;box-sizing:border-box;cursor:initial}.mceMenu .mceMenuItems .mceMenuHtml textarea{height:auto}.mceMenu .mceMenuItems .mceMenuHtml select:not([multiple]):not([size]){appearance:none;padding-right:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-repeat:no-repeat;background-position:100% 50%}.mceMenu .mceMenuItems .mceMenuHtml input[type=text]:focus{border-color:#66afe9;outline:0;background:#f5fbfe;color:#444;box-shadow:inherit}.mceMenu .mceLinkMenu{min-width:220px}.mceMenu .mceLinkMenu .mceMenuHtml input{margin-right:5px}.mceMenu .mceMenuItems .mceMenuHtml .mceButton{position:relative}.mceMenu .mceMenuItems .mceMenuHtml .mceButton .mceIcon{position:static}.mceMenu .mceButtonMenu{margin:2px 0 0 1px;border:1px solid #ddd;box-shadow:0 2px 5px rgba(0,0,0,.1)}.mceMenu .mceButtonMenu .mceMenuItem{margin:3px}.mceMenu .mceButtonMenu::before{content:"";display:block;padding:3px;position:absolute;width:40px;top:-6px;background:#fff;left:-1px;border-left:1px solid #ddd;border-right:1px solid #ddd}.mceMenu .mceModalContent .mceListBox .mceText{width:calc(100% - 32px)}.mceMenu .mceToolbarRow .mceToolbarItem{width:100%;display:flex;gap:4px}.mceMenu .mceToolbarRow .mceToolbarItem .mceTextBox{max-width:inherit}.mceMenu .mceToolbarRow .mceToolbarItem textarea{height:auto;white-space:pre-wrap;font-size:13px;line-height:2}.mceMenu .mceToolbarFooter .mceToolbarItem .mceButton{min-width:5em;height:32px;line-height:1;background:#fff;border-radius:2px;color:#444;border:1px solid #ddd;margin:0 0 0 4px;padding:0 8px}.mceMenu .mceToolbarFooter .mceToolbarItem .mceButton.mceButtonPrimary{background-color:#337ab7;border:1px solid rgba(0,0,0,.06);color:#fff}themes/advanced/skins/default/src/icons.css000060400000023727152456730070015005 0ustar00.mceDefaultSkin .mceAction,.mceDefaultSkin .mceIcon{display:inline-block;min-width:20px;height:20px;line-height:20px}.mceDefaultSkin .mceIcon{background:url(../../img/icons.png?v=7c1b5ae6239f4f3b8116c6316bce0db9) 20px 20px no-repeat}.mceDefaultSkin .mceIcon img{vertical-align:middle;min-width:16px;height:auto;cursor:inherit;margin:auto}.mceDefaultSkin .mceIcon svg{width:1em;height:1em;fill:#444}.mceDefaultSkin img[src$=".svg"].mceAction,.mceDefaultSkin img[src$=".svg"].mceIcon{width:18px;height:16px}.mceDefaultSkin .mceIconImage{display:flex;background:0 0}.mceDefaultSkin span.mce_bold{background-position:0 0}.mceDefaultSkin span.mce_italic{background-position:-60px 0}.mceDefaultSkin span.mce_underline{background-position:-140px 0}.mceDefaultSkin span.mce_strikethrough{background-position:-120px 0}.mceDefaultSkin span.mce_source_undo,.mceDefaultSkin span.mce_undo{background-position:-160px 0}.mceDefaultSkin span.mce_redo,.mceDefaultSkin span.mce_source_redo{background-position:-100px 0}.mceDefaultSkin span.mce_cleanup{background-position:-40px 0}.mceDefaultSkin span.mce_bullist{background-position:-20px 0}.mceDefaultSkin span.mce_numlist,.mceDefaultSkin span.mce_source_linenumbers{background-position:-80px 0}.mceDefaultSkin span.mce_justifyleft{background-position:-460px 0}.mceDefaultSkin span.mce_justifyright{background-position:-480px 0}.mceDefaultSkin span.mce_justifycenter{background-position:-420px 0}.mceDefaultSkin span.mce_justifyfull{background-position:-440px 0}.mceDefaultSkin span.mce_anchor{background-position:-200px 0}.mceDefaultSkin span.mce_indent,.mceDefaultSkin span.mce_source_format{background-position:-400px 0}.mceDefaultSkin span.mce_outdent{background-position:-540px 0}.mceDefaultSkin span.mce_link,.mceDefaultSkin span.mce_lnk{background-position:-500px 0}.mceDefaultSkin span.mce_unlink{background-position:-640px 0}.mceDefaultSkin span.mce_sub{background-position:-600px 0}.mceDefaultSkin span.mce_sup{background-position:-620px 0}.mceDefaultSkin span.mce_removeformat{background-position:-580px 0}.mceDefaultSkin span.mce_newdocument{background-position:-520px 0}.mceDefaultSkin span.mce_image{background-position:-380px 0}.mceDefaultSkin span.mce_help{background-position:-340px 0}.mceDefaultSkin span.mce_code,.mceDefaultSkin span.mce_source{background-position:-260px 0}.mceDefaultSkin span.mce_hr{background-position:-360px 0}.mceDefaultSkin span.mce_visualaid{background-position:-660px 0}.mceDefaultSkin span.mce_charmap{background-position:-240px 0}.mceDefaultSkin span.mce_paste{background-position:-560px 0}.mceDefaultSkin span.mce_copy{background-position:-700px 0}.mceDefaultSkin span.mce_cut{background-position:-680px 0}.mceDefaultSkin span.mce_blockquote{background-position:-220px 0}.mceDefaultSkin .mce_forecolor span.mceAction{background-position:-720px 0}.mceDefaultSkin .mce_backcolor span.mceAction{background-position:-760px 0}.mceDefaultSkin span.mce_forecolor{background-position:-720px 0}.mceDefaultSkin span.mce_backcolor{background-position:-760px 0}.mceDefaultSkin span.mce_forecolorpicker{background-position:-720px 0}.mceDefaultSkin span.mce_backcolorpicker{background-position:-760px 0}.mceDefaultSkin span.mce_readmore{background-position:-920px 0}.mceDefaultSkin span.mce_pagebreak{background-position:-940px 0}.mceDefaultSkin span.mce_advhr{background-position:0 -20px}.mceDefaultSkin span.mce_ltr{background-position:-20px -20px}.mceDefaultSkin span.mce_rtl{background-position:-40px -20px}.mceDefaultSkin span.mce_emotions{background-position:-60px -20px}.mceDefaultSkin span.mce_fullpage{background-position:-80px -20px}.mceDefaultSkin span.mce_fullscreen,.mceDefaultSkin span.mce_source_fullscreen{background-position:-100px -20px}.mceDefaultSkin span.mce_iespell{background-position:-120px -20px}.mceDefaultSkin span.mce_insertdate{background-position:-140px -20px}.mceDefaultSkin span.mce_inserttime{background-position:-160px -20px}.mceDefaultSkin span.mce_layerabsolute{background-position:-180px -20px}.mceDefaultSkin span.mce_insertlayer{background-position:-240px -20px}.mceDefaultSkin span.mce_layerbackward{background-position:-200px -20px}.mceDefaultSkin span.mce_layerforward{background-position:-220px -20px}.mceDefaultSkin span.mce_media,.mceDefaultSkin span.mce_video{background-position:-320px -20px}.mceDefaultSkin span.mce_nonbreaking{background-position:-340px -20px}.mceDefaultSkin span.mce_pastetext{background-position:-360px -20px}.mceDefaultSkin span.mce_pasteword{background-position:-380px -20px}.mceDefaultSkin span.mce_selectall{background-position:-400px -20px}.mceDefaultSkin span.mce_preview{background-position:-420px -20px}.mceDefaultSkin span.mce_print{background-position:-440px -20px}.mceDefaultSkin span.mce_cancel{background-position:-460px -20px}.mceDefaultSkin span.mce_save{background-position:-480px -20px}.mceDefaultSkin span.mce_replace,.mceDefaultSkin span.mce_source_replace{background-position:-500px -20px}.mceDefaultSkin span.mce_search{background-position:-520px -20px}.mceDefaultSkin span.mce_style,.mceDefaultSkin span.mce_styleprops{background-position:-560px -20px}.mceDefaultSkin span.mce_table,.mceDefaultSkin span.mce_table_insert{background-position:-580px -20px}.mceDefaultSkin span.mce_cell_props{background-position:-600px -20px}.mceDefaultSkin span.mce_delete_table{background-position:-620px -20px}.mceDefaultSkin span.mce_delete_col{background-position:-640px -20px}.mceDefaultSkin span.mce_delete_row{background-position:-660px -20px}.mceDefaultSkin span.mce_col_after{background-position:-680px -20px}.mceDefaultSkin span.mce_col_before{background-position:-700px -20px}.mceDefaultSkin span.mce_row_after{background-position:-720px -20px}.mceDefaultSkin span.mce_row_before{background-position:-740px -20px}.mceDefaultSkin span.mce_merge_cells{background-position:-760px -20px}.mceDefaultSkin span.mce_table_props{background-position:-980px -20px}.mceDefaultSkin span.mce_row_props{background-position:-780px -20px}.mceDefaultSkin span.mce_split_cells{background-position:-800px -20px}.mceDefaultSkin span.mce_template{background-position:-820px -20px}.mceDefaultSkin span.mce_visualchars{background-position:-840px -20px}.mceDefaultSkin span.mce_abbr{background-position:-860px -20px}.mceDefaultSkin span.mce_acronym{background-position:-880px -20px}.mceDefaultSkin span.mce_attribs{background-position:-900px -20px}.mceDefaultSkin span.mce_cite{background-position:-920px -20px}.mceDefaultSkin span.mce_del{background-position:-940px -20px}.mceDefaultSkin span.mce_ins{background-position:-960px -20px}.mceDefaultSkin span.mce_source_highlight{background-position:-140px -40px}.mceDefaultSkin span.mce_source_wrap{background-position:-100px -40px}.mceDefaultSkin span.mce_source_search_previous{background-position:-440px -40px}.mceDefaultSkin span.mce_source_search_next{background-position:-460px -40px}.mceDefaultSkin span.mce_source_replace_all{background-position:-480px -40px}.mceDefaultSkin span.mce_source_search_regex{background-position:-500px -40px}.mceDefaultSkin span.mce_columns{background-position:-520px -40px}.mceDefaultSkin span.mce_columns_add{background-position:-560px -40px}.mceDefaultSkin span.mce_columns_add_before{background-position:-660px -40px}.mceDefaultSkin span.mce_columns_delete{background-position:-580px -40px}.mceDefaultSkin span.mce_source_search_wholeword{background-position:-680px -40px}.mceDefaultSkin span.mce_source_search_matchcase{background-position:-700px -40px}.mceDefaultSkin span.mce_joomla{background-position:-600px -40px}.mceDefaultSkin span.mce_upload{background-position:-620px -40px}.mceDefaultSkin span.mce_langcode{background-position:-640px -40px}.mceDefaultSkin span.mce_restoredraft{background-position:-20px -40px}.mceDefaultSkin span.mce_spellchecker{background-position:-540px -20px}.mceDefaultSkin span.mce_autosave{background-position:-20px -40px}.mceDefaultSkin span.mce_imgmanager{background-position:-380px 0}.mceDefaultSkin span.mce_article{background-position:-920px 0;width:40px}.mceDefaultSkin span.mce_textcase{background-position:-40px -40px}.mceDefaultSkin span.mce_visualblocks{background-position:-160px -40px}.mceDefaultSkin span.mce_kitchensink{background-position:-180px -40px}.mceDefaultSkin span.mce_mediamanager,.mceDefaultSkin span.mce_video{background-position:-320px -40px}.mceDefaultSkin span.mce_imgmanager_ext{background-position:-420px -40px}.mceDefaultSkin span.mce_templatemanager{background-position:-380px -40px}.mceDefaultSkin span.mce_iframe{background-position:-400px -40px}.mceDefaultSkin span.mce_filemanager{background-position:-360px -40px}.mceDefaultSkin span.mce_caption_add{background-position:-280px -40px}.mceDefaultSkin span.mce_caption_delete{background-position:-300px -40px}.mceDefaultSkin span.mce_microdata{background-position:-340px -40px}.mceDefaultSkin span.mce_plus{background-position:-200px -40px}.mceDefaultSkin span.mce_cross,.mceDefaultSkin span.mce_delete,.mceDefaultSkin span.mce_trash{background-position:-220px -40px}.mceDefaultSkin span.mce_check{background-position:-540px -40px}.mceDefaultSkin .mce_list_default:before,.mceDefaultSkin .mce_list_disc:before{content:"●";line-height:1;display:inline-block}.mceDefaultSkin .mce_list_circle:before{content:"○";line-height:1;display:inline-block}.mceDefaultSkin .mce_list_square:before{content:"□";line-height:1;display:inline-block}.mceDefaultSkin .mce_list_lower_alpha::before,.mceDefaultSkin .mce_list_lower_greek::before,.mceDefaultSkin .mce_list_lower_roman::before,.mceDefaultSkin .mce_list_upper_alpha::before,.mceDefaultSkin .mce_list_upper_roman::before{font-size:1em;font-family:"times new roman,times";line-height:1.25}.mceDefaultSkin .mce_list_lower_alpha::before{content:"a."}.mceDefaultSkin .mce_list_lower_greek::before{content:"\03b1."}.mceDefaultSkin .mce_list_lower_roman::before{content:"iv."}.mceDefaultSkin .mce_list_upper_alpha::before{content:"A."}.mceDefaultSkin .mce_list_upper_roman::before{content:"IV."}.mceDefaultSkin .mce_spinner{background:url(img/load.gif?v=7c1b5ae6239f4f3b8116c6316bce0db9) no-repeat}.mceDefaultSkin .mce_none[class*=icon-]:before{font-family:"Font Awesome 6 Free","Font Awesome 5 Free",IcoMoon;font-weight:900}themes/advanced/skins/default/src/panel.css000060400000010204152456730070014753 0ustar00.mceDefaultSkin .mcePanel{position:relative;left:0;top:0;z-index:1000;border:1px solid #ddd;direction:ltr;background:#fafafa;padding:0;font-family:-apple-systrem,BlinkMacSystremFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;font-size:16px;box-shadow:0 2px 4px rgba(0,0,0,.3);box-sizing:border-box}.mceDefaultSkin .mcePanelButtonActive{background-color:#eee;border-color:#ddd}.mceDefaultSkin .mcePanelButtonSelected,.mceDefaultSkin .mcePanelButtonSelected:hover{background-color:#fff;border-color:#ddd}.mceDefaultSkin .mcePanelButtonSelected .mceOpen,.mceDefaultSkin .mcePanelButtonSelected:hover .mceOpen{border-left-color:transparent}.mceDefaultSkin .mcePanel h4{font-size:14px;color:#444;font-weight:700;margin:0 0 8px}.mceDefaultSkin .mcePanel .mcePanelContent{background-color:#fff;font-size:14px;padding:4px;white-space:normal}.mceDefaultSkin .mcePanel .mcePanelContent .mceToolbarRow{display:flex}.mceDefaultSkin .mcePanel .mcePanelContent label{display:block;line-height:2;vertical-align:middle}.mceDefaultSkin .mcePanel input[type=text],.mceDefaultSkin .mcePanel select,.mceDefaultSkin .mcePanel textarea{height:32px;width:100%;padding:2px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;box-sizing:border-box}.mceDefaultSkin .mcePanel input[type=text],.mceDefaultSkin .mcePanel textarea{min-width:12em;cursor:text}.mceDefaultSkin .mcePanel textarea{height:auto}.mceDefaultSkin .mcePanel select:not([multiple]):not([size]){appearance:none;padding-right:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-repeat:no-repeat;background-position:100% 50%}.mceDefaultSkin .mcePanel input[type=text]:focus{border-color:#66afe9;outline:0;background:#f5fbfe;color:#444;box-shadow:inherit}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButton{appearance:none;margin:0 0 0 5px;border:none;overflow:visible;color:#444;text-transform:none;display:inline-block;box-sizing:border-box;padding:0 12px;background:#fff;vertical-align:middle;line-height:26px;min-height:32px;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.12);border-radius:2px;cursor:pointer}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonPrimary{background-color:#337ab7;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButton:focus,.mceDefaultSkin .mcePanel .mcePanelFooter .mceButton:hover{background-color:#fafafa;color:#444;outline:0;text-decoration:none;border-color:rgba(0,0,0,.16)}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonDisabled,.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonDisabled:focus,.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonDisabled:hover{background:#eee;color:#888}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonPrimary:hover{background-color:#35b3ee;color:#fff;border-color:rgba(0,0,0,.21)}.mceDefaultSkin .mcePanel .mcePanelFooter{text-align:right;background-color:#f5f5f5;padding:10px;border-top:1px solid #ddd}.mceDefaultSkin .mcePanel:before{content:"";display:block;position:absolute;width:30px;background-color:#fff;height:6px;left:-1px;top:-6px;border-left:1px solid #ddd;border-right:1px solid #ddd;box-sizing:content-box}.mceDefaultSkin.mcePanelSplitButton .mcePanel::before{width:46px;height:8px;top:-8px}.mceDefaultSkin.mce_search .mcePanel .mcePanelFooter .mceButton,.mceDefaultSkin.mce_search .mcePanel label{min-width:70px}.mceDefaultSkin.mce_search .mcePanel input.search_error{border-color:red}.mceDefaultSkin .mcePanelButtonSelected .mceSplitButton .mceText button{border-right-color:transparent}.mceDefaultSkin .mcePanelButtonSelected .mceSplitButton .mceOpen button{border-left-color:transparent}.mceDefaultSkin .mcePanelButtonActive .mceOpen button,.mceDefaultSkin .mcePanelButtonActive .mceText button{border-color:#ccc;background-color:#ddd}themes/advanced/skins/default/src/statusbar.css000060400000001461152456730070015671 0ustar00.mceDefaultSkin .mceStatusbar{font-size:9pt;line-height:32px;overflow:visible;color:#000;height:32px;padding:5px;background:#f5f5f5;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;border:0 solid #ddd;justify-content:end}.mceDefaultSkin .mceStatusbar:first-child{border-bottom-width:1px}.mceDefaultSkin .mceStatusbar:last-child{border-top-width:1px}.defaultSkin .mceStatusbar:empty{line-height:inherit;height:inherit;padding:0;border:0}.defaultSkin .mceStatusbar div{margin:2px}.mceDefaultSkin .mceStatusbar .mceResize{cursor:se-resize;margin:0;order:3;display:flex}.mceDefaultSkin .mceStatusbar .mceResize span{background:url(../../img/icons.png?v=7c1b5ae6239f4f3b8116c6316bce0db9) -800px 0;display:block;width:20px;height:20px}.mceDefaultSkin .mceStatusbar a:hover{text-decoration:underline}themes/advanced/skins/default/src/fonts.css000060400000000736152456730070015016 0ustar00@font-face{font-family:wfeditor;src:url(../../../../../fonts/wfeditor.woff) format('woff');font-weight:400;font-style:normal}.mceDefaultSkin .mceAction,.mceDefaultSkin .mceIcon,.mceModal .mceIcon{font-family:wfeditor;font-style:normal;font-weight:400;font-variant:normal;text-transform:none;line-height:1.25em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;text-align:center;vertical-align:middle;background:0 0;position:relative;color:#444}themes/advanced/skins/default/src/textbox.css000060400000001151152456730070015352 0ustar00.mceDefaultSkin .mceTextBox{height:32px;line-height:2;max-width:100%;padding:2px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;box-sizing:border-box;cursor:text;width:auto}.mceDefaultSkin .mceTextBox:focus{box-shadow:inherit;border-color:#66afe9;outline:0;background:#f5fbfe;color:#444}.mceDefaultSkin .mceTextBoxDisabled{color:#888;background-color:#eee;cursor:not-allowed}.mceDefaultSkin .mceTextBox+.mceTextBoxDescription{font-size:.75em;color:#666;line-height:2;display:inline-block;width:100%}.mceDefaultSkin .mceToolbarRow .mceTextBox{margin:1px 0 1px 2px;max-width:10em}themes/advanced/skins/default/src/misc.css000060400000006256152456730070014623 0ustar00.mceDefaultSkin .mceBlocker{position:absolute;left:0;top:0;z-index:1000;background:#fff;opacity:.8}@keyframes donut-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mceDefaultSkin .mceProgress{position:absolute;left:0;top:0;z-index:1001}.mceDefaultSkin .mceProgress:after{content:"";display:block;border:.25rem solid rgba(0,0,0,.3);border-left-color:#444;border-radius:50%;width:2rem;height:2rem;animation:donut-spin 1.2s linear infinite;z-index:10001;position:absolute;top:50%;left:50%;margin:-1rem 0 0 -1rem;box-sizing:border-box}.mceDefaultSkin .mcePlaceHolder{border:1px dotted gray}.mceDefaultSkin .mcePanel.mceContextPanel::after,.mceDefaultSkin .mcePanel.mceContextPanel::before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mceDefaultSkin .mcePanel.mceContextPanel::before{top:-9px;border-bottom-color:rgba(0,0,0,.2);border-width:0 9px 9px;margin-left:-9px}.mceDefaultSkin .mcePanel.mceContextPanel::after{top:-8px;border-bottom-color:#fff;border-width:0 8px 8px;margin-left:-8px}.mceDefaultSkin.mceArrowDown .mcePanel.mceContextPanel::before{bottom:-9px;border-top-color:rgba(0,0,0,.2);border-width:9px 9px 0;margin-left:-9px;top:initial}.mceDefaultSkin.mceArrowDown .mcePanel.mceContextPanel::after{bottom:-8px;border-top-color:#fff;border-width:8px 8px 0;margin-left:-8px;top:initial}.mceDefaultSkin .mceMenu div[class*=mceFontSize]{margin:.125em}.mceCharacterMap{padding:0}.mceCharacterMap>div{flex:1}.mceModal .mceModalBody[dir=rtl] .mceCharacterMap>div{text-align:right}.mceCharacterMap>div+div{max-width:11em;border:1px solid #ddd;display:flex;flex-direction:column}.mceModal .mceModalContent .mceCharacterMap button{background:#fff;width:1.5em;min-width:inherit;height:1.5em;padding:0;line-height:1rem;vertical-align:middle;appearance:none;cursor:pointer;font-size:16px;text-align:center;border:1px solid #ddd;display:inline-block;margin:0 1px 1px 0}.mceModal .mceModalContent .mceModalRow.mceCharacterMap{align-items:inherit}.mceModal .mceModalContent .mceCharacterMap button:focus,.mceModal .mceModalContent .mceCharacterMap button:hover{border:1px solid #ccc;background-color:#e6e6e6}.mceCharacterMapDescription h1{line-height:2;font-size:5em;height:2em;text-align:center;vertical-align:middle;flex:1}.mceCharacterMapDescription h3{line-height:2em;font-size:1.25em;height:2em;text-align:center}.mceCharacterMapDescription h4{line-height:1.5em;font-size:1em;text-align:center;color:#888}.mceCharacterMapDescription{font-size:1em}.mceCharacterMap ul li:hover,.mceCharacterMap ul li:hover button{background:#f5f5f5;color:#444;text-decoration:none}input::placeholder,textarea::placeholder{margin:0 .5em}.mceDefaultSkin .mceNotationMenu{white-space:normal;display:flex;flex-wrap:wrap;align-items:center;max-width:14em;justify-content:space-between;gap:.25em}.mceDefaultSkin .mceNotationMenu button:focus,.mceDefaultSkin .mceNotationMenu button:hover{background:#eee;border-radius:3px}.mceDefaultSkin .mceNotationMenu .mce_notation_icon{display:inline-block;font-family:"Apple Symbols","Segoe UI Symbol",FreeSerif,serif;font-size:32px;line-height:1em;width:1em;height:1em;text-align:center;cursor:pointer;user-select:none;appearance:none;background:#fff}themes/advanced/skins/default/src/toolbar.css000060400000002761152456730070015327 0ustar00.mceToolbarFixed .mceToolbar{position:fixed;left:0;top:0;right:0;border:1px solid #ddd;border-right:0;border-left:0;z-index:9999}.mceDefaultSkin .mceLayout{border:1px solid #ddd}.mceDefaultSkin .mceToolbar{background:#f5f5f5;padding:2px;width:auto!important;border-bottom:1px solid #ddd}.mceDefaultSkin .mceToolbarRow{white-space:normal;display:flex;flex-wrap:wrap;align-items:center}.mceDefaultSkin.mceRtl .mceToolbarRow{justify-content:right;flex-direction:row-reverse}.mceDefaultSkin .mceLeft .mceToolbarRow{justify-content:flex-start}.mceDefaultSkin .mceRight .mceToolbarRow{justify-content:flex-end}.mceDefaultSkin .mceCenter .mceToolbarRow{justify-content:center}.mceDefaultSkin .mceToolbarRow>button,.mceDefaultSkin .mceToolbarRow>div{margin:1px 0 1px 2px}.mceDefaultSkin .mceIframeContainer{position:relative}.mceDefaultSkin .mceToolbar:last-child{border-bottom:0 none;border-top:1px solid #ddd}.mceDefaultSkin .mceToolbar:nth-child(2):not(:last-child){border-bottom:0}.mceDefaultSkin .mceIframeContainer:first-child{border-bottom:1px solid #ddd}.mceDefaultSkin .mceIframeContainer:last-child{border-top:1px solid #ddd}.mceDefaultSkin .mceIframeContainer:nth-child(2){border-top-width:0}.mceDefaultSkin .mceSeparator{width:1px;height:26px;margin:0 3px 0 2px;background:#ddd;display:block}.mceDefaultSkin .mceFlex{display:flex}.mceDefaultSkin .mceFlexAuto{flex:auto}.mceDefaultSkin .mceToolbar.mceDisabled::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.5);z-index:1}themes/advanced/skins/default/src/button.css000060400000002141152456730070015170 0ustar00.mceDefaultSkin .mceButton{border:1px solid #ddd;padding:4px;min-width:32px;min-height:32px;appearance:none;cursor:pointer;outline:0;overflow:visible;text-transform:none;box-sizing:border-box;text-decoration:none;text-align:center;border-radius:2px;line-height:1}.mceDefaultSkin .mceButton .mceIcon{display:flex;align-items:center;justify-content:center;margin:auto;max-width:20px}.mceDefaultSkin .mceButton:hover{border:1px solid #ccc;background-color:#fafafa}.mceDefaultSkin .mceButton:focus{border:1px solid #ccc;background-color:#fff;outline:0}.mceDefaultSkin .mceButtonActive,.mceDefaultSkin .mceButtonSelected{border:1px solid #ccc;background-color:#ddd}.mceDefaultSkin .mceButtonDisabled .mceIcon{opacity:.38}.mceDefaultSkin .mceButtonLabeled{width:auto}.mceDefaultSkin .mceButtonLabeled .mceIcon{float:left}.mceDefaultSkin .mceButtonLabel{display:block;font-size:14px;padding:4px 8px 0 24px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.mceDefaultSkin .mceButtonDisabled .mceButtonLabel{color:#888}.mceDefaultSkin button:disabled{cursor:not-allowed}.mceDefaultSkin button:disabled .mceIcon{opacity:.38}themes/advanced/skins/default/src/classbar.css000060400000002321152456730070015447 0ustar00.mceDefaultSkin .mceClassBar{display:flex;flex-direction:row;min-height:32px;align-items:center;padding:0 .25em}.mceDefaultSkin .mceToolbar+.mceClassBar{border-top:1px solid #ddd}.mceDefaultSkin .mceIframeContainer+.mceClassBar{border-bottom:1px solid #ddd}.mceDefaultSkin .mceClassBar .mceClassBarTags{display:flex;flex-direction:row;flex-wrap:wrap}.mceDefaultSkin .mceClassBar .mceButton{margin:.125em;position:relative;height:2em;min-width:5em;min-height:inherit;padding:0 1.25em 0 0;box-sizing:border-box;background:#eee;font-size:12px}.mceDefaultSkin .mceClassBar .mceButton label{padding:.25em;cursor:default;font-size:1em}.mceDefaultSkin .mceClassBar .mceButton::after{position:absolute;top:0;right:0;display:block;text-align:center;text-indent:0;content:"\00d7";color:#444;line-height:1.3;font-size:1.25em;font-weight:700;height:100%;width:1em}.mceDefaultSkin .mceClassBar .mceListBox{height:28px;display:flex;flex-direction:row;align-items:center;margin:0 2px}.mceDefaultSkin .mceClassBar .mceListBox input{width:100%;height:28px;padding:2px;border-radius:0;box-sizing:border-box;border:0}.mceDefaultSkin .mceClassBar .mceListBox .mceOpen{height:30px}.mceDefaultSkin .mceClassBar .mceListBox .mceOpen:after{line-height:30px}themes/advanced/skins/default/src/reset.css000060400000002504152456730070015002 0ustar00.mceDefaultSkin *,.mceMenu{color:#444;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;font-weight:400;cursor:inherit;vertical-align:baseline;width:auto;border-collapse:separate;text-align:left;box-sizing:border-box;float:none;outline:0;position:relative;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;text-transform:none;min-height:auto}.mceDefaultSkin input[type],.mceDefaultSkin select,.mceDefaultSkin textarea{margin:0;line-height:1}.mceDefaultSkin input{cursor:text}.mceDefaultSkin button,.mceDefaultSkin input,.mceDefaultSkin label,.mceDefaultSkin select{font-size:14px}.mceDefaultSkin button{appearance:none}.mceDefaultSkin input[type=radio],.mceDefaultSkin input[type=checkbox]{cursor:inherit}.mceDefaultSkin>div{width:auto;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;direction:ltr;position:relative;top:0;left:0}.mceDefaultSkin a:active,.mceDefaultSkin a:hover,.mceDefaultSkin a:link,.mceDefaultSkin a:visited{text-decoration:none;font-weight:400;cursor:default;color:#000}.mceDefaultSkin iframe{display:block;width:100%}themes/advanced/skins/default/src/branding.css000060400000000702152456730070015442 0ustar00.mceDefaultSkin .mceLayout .mceBranding{width:100%;text-align:center;line-height:20px;background:#eee;padding:5px 0;display:block;box-sizing:border-box;border-bottom:1px solid #ddd;white-space:normal}.mceDefaultSkin .mceLayout .mceBranding a{font-weight:700;cursor:pointer}.mceDefaultSkin .mceLayout .mceBranding a:hover{text-decoration:underline}.mceDefaultSkin .mceLayout .mceBranding span{font-size:inherit;line-height:inherit;font-family:inherit}themes/advanced/skins/default/src/path.css000060400000001101152456730070014604 0ustar00.mcePathRow{overflow:hidden;width:100%}.mcePathHidden .mceText{display:none}.mcePathPath .mceText{font-size:12px;line-height:14px;max-width:3em;text-overflow:ellipsis;overflow:hidden;opacity:.75;cursor:default}.mcePathPath a .mceText{opacity:1;cursor:pointer}.mcePathPath a:not(:last-child):after{content:"\00bb";display:inline-block;text-decoration:none;margin:0 .25em}.mcePathHidden:after{content:"...";display:inline-block}.mcePathLabel{position:relative;display:inline-block;min-width:32px;margin:0 5px 0 0;font-size:14px;user-select:none}.mcePathPath{display:inline-block}themes/advanced/skins/default/src/formats.css000060400000001131152456730070015326 0ustar00.mceDefaultSkin .mce_formatPreview a{font-size:14px}.mceDefaultSkin .mce_address span.mceText{font-style:italic}.mceDefaultSkin .mce_pre span.mceText{font-family:monospace}.mceDefaultSkin .mce_h1 span.mceText{font-weight:bolder;font-size:2em}.mceDefaultSkin .mce_h2 span.mceText{font-weight:bolder;font-size:1.5em}.mceDefaultSkin .mce_h3 span.mceText{font-weight:bolder;font-size:1.17em}.mceDefaultSkin .mce_h4 span.mceText{font-weight:bolder;font-size:1em}.mceDefaultSkin .mce_h5 span.mceText{font-weight:bolder;font-size:.83em}.mceDefaultSkin .mce_h6 span.mceText{font-weight:bolder;font-size:.75em}themes/advanced/skins/default/src/splitbutton.css000060400000010000152456730070016235 0ustar00.mceDefaultSkin .mceSplitButton{position:relative}.mceDefaultSkin .mceSplitButton button{height:32px;display:inline-block;text-align:center;line-height:1;width:32px}.mceDefaultSkin .mceSplitButton .mceOpen,.mceDefaultSkin .mceSplitButton .mceText{display:inline-block;border:1px solid #ddd}.mceDefaultSkin .mceSplitButton .mceText{float:left;border-right:0;border-radius:2px 0 0 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;text-overflow:ellipsis}.mceDefaultSkin .mceSplitButton .mceAction{width:20px;background-image:url(../../img/icons.png?v=7c1b5ae6239f4f3b8116c6316bce0db9)}.mceDefaultSkin .mceSplitButton img.mceAction{background:0 0}.mceDefaultSkin .mceSplitButton .mceOpen{width:16px;text-align:center;height:32px;border-radius:0 2px 2px 0;cursor:pointer}.mceDefaultSkin .mceSplitButton .mceOpen:after{content:"\25BC";display:block;font-size:9px;line-height:32px;color:#444;text-align:center}.mceDefaultSkin .mceSplitButtonDisabled .mceOpen:after{color:#888}.mceDefaultSkin .mceSplitButton:focus .mceOpen,.mceDefaultSkin .mceSplitButton:focus .mceText,.mceDefaultSkin .mceSplitButton:hover .mceOpen,.mceDefaultSkin .mceSplitButton:hover .mceText{border-color:#ccc;background-color:#fafafa}.mceDefaultSkin .mceSplitButtonDisabled .mceAction{opacity:.3}.mceDefaultSkin .mceSplitButtonActive .mceText{border-color:#ccc;background-color:#ddd}.mceDefaultSkin .mceSplitButtonActive .mceOpen{border-left:0;border-color:#ccc;background-color:#ddd}.mceDefaultSkin .mceSplitButtonSelected::after{content:"";padding:2px 0;width:100%;position:absolute;left:0;bottom:-3px;background:#fff;box-sizing:border-box;z-index:700011;border:1px solid #ccc;border-top:0 none;border-bottom:0 none}.mceSplitButtonMenu{min-width:calc(48px * 3);margin:5px 0 0 1.5px;max-height:336px;overflow:visible;overflow-y:auto;max-width:20em}.mceDefaultSkin .mceMenuItemSub{box-shadow:inherit;border:0;margin:0}.mceDefaultSkin .mceSplitButtonMenu .mceMenuItem{margin:2px}.mceSplitButtonMenu .mceMenuItems .mceSelected{background-color:#ddd}.mceDefaultSkin .mceColorSplitMenu{display:flex;flex-wrap:wrap;max-width:203px;gap:1px}.mceDefaultSkin .mceColorSplitMenu button{display:block;width:24px;height:24px;overflow:hidden;border:1px solid #ddd;text-align:center;cursor:pointer;outline:0}.mceDefaultSkin .mceColorSplitMenu button:focus,.mceDefaultSkin .mceColorSplitMenu button:hover{border-color:#444;outline:0}.mceDefaultSkin .mceColorSplitMenu .mceRemoveColor{color:#444;font-weight:700}.mceDefaultSkin .mceColorSplitMenu .mceMoreColors{width:100%;height:auto;text-align:center;line-height:32px;background:#fff;cursor:pointer}.mceDefaultSkin .mceColorSplitMenu .mceMoreColors:hover{border:1px solid #ccc;background-color:#fafafa}.mceDefaultSkin .mceColorPreview{width:20px;height:4px;overflow:hidden;background:#fafafa}.mceDefaultSkin .mce_backcolor .mceAction,.mceDefaultSkin .mce_forecolor .mceAction{overflow:hidden;height:15px}.mceTableSplitMenu{background:#fff;border:0;padding:0;margin:0;border-collapse:separate;box-sizing:border-box;border-spacing:inherit}.mceDefaultSkin .mceTableSplitMenu table{padding:2px}.mceDefaultSkin .mceTableSplitMenu td{background-color:#fff;text-align:center}.mceDefaultSkin .mceTableSplitMenu td a{width:24px;height:24px;display:block;border:1px solid #ddd;padding:0;margin:1px}.mceDefaultSkin .mceTableSplitMenu .selected a{background-color:#337ab7;border-color:#2e6da4}.mceDefaultSkin .mceTableSplitMenu .mceTableGridCount{background-color:#fff;text-align:center;line-height:32px}.mceDefaultSkin .mceSplitButtonSelected .mceText,.mceDefaultSkin .mceSplitButtonSelected:hover .mceText{background:#fff;border-color:#ccc;border-radius:2px 0 0}.mceDefaultSkin .mceSplitButtonSelected .mceOpen,.mceDefaultSkin .mceSplitButtonSelected:hover .mceOpen{background:#fff;border-color:#ccc;border-left:0 none;padding-left:1px;border-radius:0 2px 0 0}.mceDefaultSkin .mceColorSplitMenu{padding:2px;background:#fff}.mceDefaultSkin .mceColumns .mceTableSplitMenu{width:120px}.mceDefaultSkin .mceColumns .mceTableSplitMenu td a{width:24px;height:32px}themes/advanced/skins/default/src/source.css000060400000000164152456730070015160 0ustar00.mceDefaultSkin .mceToolbarSource{margin:0}.mceDefaultSkin .mceToolbarSource .mceFlex{justify-content:space-between}themes/advanced/skins/default/ui.css000060400000166073152456730070013522 0ustar00.mceDefaultSkin *,.mceDefaultSkin .mceAction,.mceDefaultSkin .mceIcon,.mceMenu,.mceModal .mceIcon{font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-transform:none}.mceDefaultSkin *,.mceMenu,.mceTableSplitMenu{border-collapse:separate;box-sizing:border-box}.mceDefaultSkin *,.mceMenu{color:#444;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:16px;border:0;margin:0;padding:0;white-space:nowrap;text-decoration:none;cursor:inherit;vertical-align:baseline;width:auto;text-align:left;float:none;outline:0;position:relative;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;min-height:auto}.mceDefaultSkin input[type],.mceDefaultSkin select,.mceDefaultSkin textarea{margin:0;line-height:1}.mceDefaultSkin input{cursor:text}.mceDefaultSkin button,.mceDefaultSkin input,.mceDefaultSkin label,.mceDefaultSkin select{font-size:14px}.mceDefaultSkin button{appearance:none}.mceDefaultSkin input[type=radio],.mceDefaultSkin input[type=checkbox]{cursor:inherit}.mceDefaultSkin>div{width:auto;font-size:100%;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;direction:ltr;position:relative;top:0;left:0}.mceDefaultSkin a:active,.mceDefaultSkin a:hover,.mceDefaultSkin a:link,.mceDefaultSkin a:visited{text-decoration:none;font-weight:400;cursor:default;color:#000}.mceDefaultSkin iframe{display:block;width:100%}.mceToolbarFixed .mceToolbar{position:fixed;left:0;top:0;right:0;border:1px solid #ddd;border-right:0;border-left:0;z-index:9999}.mceDefaultSkin .mceLayout{border:1px solid #ddd}.mceDefaultSkin .mceToolbar{background:#f5f5f5;padding:2px;width:auto!important;border-bottom:1px solid #ddd}.mceDefaultSkin .mceToolbarRow{white-space:normal;display:flex;flex-wrap:wrap;align-items:center}.mceDefaultSkin.mceRtl .mceToolbarRow{justify-content:right;flex-direction:row-reverse}.mceDefaultSkin .mceLeft .mceToolbarRow{justify-content:flex-start}.mceDefaultSkin .mceRight .mceToolbarRow{justify-content:flex-end}.mceDefaultSkin .mceCenter .mceToolbarRow{justify-content:center}.mceDefaultSkin .mceToolbarRow>button,.mceDefaultSkin .mceToolbarRow>div{margin:1px 0 1px 2px}.mceDefaultSkin .mceIframeContainer{position:relative}.mceDefaultSkin .mceToolbar:last-child{border-bottom:0 none;border-top:1px solid #ddd}.mceDefaultSkin .mceToolbar:nth-child(2):not(:last-child){border-bottom:0}.mceDefaultSkin .mceIframeContainer:first-child{border-bottom:1px solid #ddd}.mceDefaultSkin .mceIframeContainer:last-child{border-top:1px solid #ddd}.mceDefaultSkin .mceIframeContainer:nth-child(2){border-top-width:0}.mceDefaultSkin .mceSeparator{width:1px;height:26px;margin:0 3px 0 2px;background:#ddd;display:block}.mceDefaultSkin .mceFlex{display:flex}.mceDefaultSkin .mceFlexAuto{flex:auto}.mceDefaultSkin .mceToolbar.mceDisabled::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(255,255,255,.5);z-index:1}.mceDefaultSkin .mceStatusbar{font-size:9pt;line-height:32px;overflow:visible;color:#000;height:32px;padding:5px;background:#f5f5f5;box-sizing:border-box;display:flex;flex-direction:row;align-items:center;border:0 solid #ddd;justify-content:end}.mceDefaultSkin .mceStatusbar:first-child{border-bottom-width:1px}.mceDefaultSkin .mceStatusbar:last-child{border-top-width:1px}.defaultSkin .mceStatusbar:empty{line-height:inherit;height:inherit;padding:0;border:0}.defaultSkin .mceStatusbar div{margin:2px}.mceDefaultSkin .mceStatusbar .mceResize{cursor:se-resize;margin:0;order:3;display:flex}.mceDefaultSkin .mceStatusbar .mceResize span{background:url(../../img/icons.png?v=7c1b5ae6239f4f3b8116c6316bce0db9) -800px 0;display:block;width:20px;height:20px}.mceDefaultSkin .mceStatusbar a:hover{text-decoration:underline}.mceDefaultSkin .mceBlocker{position:absolute;left:0;top:0;z-index:1000;background:#fff;opacity:.8}@keyframes donut-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mceDefaultSkin .mceProgress{position:absolute;left:0;top:0;z-index:1001}.mceDefaultSkin .mceProgress:after{content:"";display:block;border:.25rem solid rgba(0,0,0,.3);border-left-color:#444;border-radius:50%;width:2rem;height:2rem;animation:donut-spin 1.2s linear infinite;z-index:10001;position:absolute;top:50%;left:50%;margin:-1rem 0 0 -1rem;box-sizing:border-box}.mceDefaultSkin .mcePlaceHolder{border:1px dotted gray}.mceDefaultSkin .mcePanel.mceContextPanel::after,.mceDefaultSkin .mcePanel.mceContextPanel::before{position:absolute;left:50%;display:block;width:0;height:0;border-style:solid;border-color:transparent;content:""}.mceDefaultSkin .mcePanel.mceContextPanel::before{top:-9px;border-bottom-color:rgba(0,0,0,.2);border-width:0 9px 9px;margin-left:-9px}.mceDefaultSkin .mcePanel.mceContextPanel::after{top:-8px;border-bottom-color:#fff;border-width:0 8px 8px;margin-left:-8px}.mceDefaultSkin.mceArrowDown .mcePanel.mceContextPanel::before{bottom:-9px;border-top-color:rgba(0,0,0,.2);border-width:9px 9px 0;margin-left:-9px;top:initial}.mceDefaultSkin.mceArrowDown .mcePanel.mceContextPanel::after{bottom:-8px;border-top-color:#fff;border-width:8px 8px 0;margin-left:-8px;top:initial}.mceDefaultSkin .mceMenu div[class*=mceFontSize]{margin:.125em}.mceCharacterMap{padding:0}.mceCharacterMap>div{flex:1}.mceModal .mceModalBody[dir=rtl] .mceCharacterMap>div{text-align:right}.mceCharacterMap>div+div{max-width:11em;border:1px solid #ddd;display:flex;flex-direction:column}.mceModal .mceModalContent .mceCharacterMap button{background:#fff;width:1.5em;min-width:inherit;height:1.5em;padding:0;line-height:1rem;vertical-align:middle;appearance:none;cursor:pointer;font-size:16px;text-align:center;border:1px solid #ddd;display:inline-block;margin:0 1px 1px 0}.mceModal .mceModalContent .mceModalRow.mceCharacterMap{align-items:inherit}.mceModal .mceModalContent .mceCharacterMap button:focus,.mceModal .mceModalContent .mceCharacterMap button:hover{border:1px solid #ccc;background-color:#e6e6e6}.mceCharacterMapDescription h1{line-height:2;font-size:5em;height:2em;text-align:center;vertical-align:middle;flex:1}.mceCharacterMapDescription h3{line-height:2em;font-size:1.25em;height:2em;text-align:center}.mceCharacterMapDescription h4{line-height:1.5em;font-size:1em;text-align:center;color:#888}.mceCharacterMapDescription{font-size:1em}.mceCharacterMap ul li:hover,.mceCharacterMap ul li:hover button{background:#f5f5f5;color:#444;text-decoration:none}input::placeholder,textarea::placeholder{margin:0 .5em}.mceDefaultSkin .mceNotationMenu{white-space:normal;display:flex;flex-wrap:wrap;align-items:center;max-width:14em;justify-content:space-between;gap:.25em}.mceDefaultSkin .mceNotationMenu button:focus,.mceDefaultSkin .mceNotationMenu button:hover{background:#eee;border-radius:3px}.mceDefaultSkin .mceNotationMenu .mce_notation_icon{display:inline-block;font-family:"Apple Symbols","Segoe UI Symbol",FreeSerif,serif;font-size:32px;line-height:1em;width:1em;height:1em;text-align:center;cursor:pointer;user-select:none;appearance:none;background:#fff}.mceMenu{position:absolute;left:0;top:0;z-index:700010!important;border:1px solid #ccc;direction:ltr;background-color:#fff;border-radius:2px;overflow:visible;overflow-y:auto;margin-top:3px;margin-left:1px;min-width:10em}.mceListBoxMenu,.mceSplitButtonMenu{border-radius:0 2px 2px}.mceMenu .mceMenuItems,.mceMenu .mceMenuItems span{display:block}.mceMenu .mceMenuItems .mceMenuItem{position:relative;padding:0;cursor:pointer;margin:1px 0;min-height:inherit;float:inherit;display:flex;align-items:center;justify-content:space-between}.mceMenu .mceMenuItems .mceMenuItem:has(.mceDescription){flex-direction:column}.mceMenu .mceMenuItems .mceMenuItem>div{width:100%}.mceMenu .mceMenuItems .mceText{position:relative;display:block;cursor:pointer;margin:0;padding:0 8px;overflow:hidden;width:100%;flex:1 0 100%;text-overflow:ellipsis}.mceMenu .mceMenuItems .mceIcon+.mceText{padding:0 32px 0 40px}.mceMenu .mceMenuItems .mcePreview,.mceMenu .mceMenuItems .mceText{font-size:14px;line-height:32px}.mceMenu .mceMenuItems .mceDescription,.mceMenu .mceMenuItems .mceMeta{font-size:12px;line-height:1.5;color:#666;max-width:20em;white-space:normal;overflow:hidden;padding:0 8px;width:100%;flex:1 0 100%}.mceMenu .mceMenuItems pre.mceText{font-family:Monospace}.mceMenu .mceMenuItems .mceIcon{position:absolute;top:6px;left:4px;width:20px}.mceMenu .mceMenuItems .mceImage{height:4rem;background-repeat:no-repeat;background-position:center;background-size:contain;margin-top:.5rem}.mceMenu .mceMenuItems .mceImage+.mceText{text-align:center}.mceMenu .mceToolbarFooter .mceToolbarItem,.mceRtl .mceMenuItem .mceText{text-align:right}.mceMenu .mceMenuItems{height:100%;overflow:visible;display:flex;flex-direction:column;margin:2px}.mceMenu .mceMenuFilter+.mceMenuItems{height:calc(100% - 40px);max-height:346px}.mceMenu .mceMenuItems .mceMenuItemHidden{display:none}.mceMenu .mceMenuItems .mceMenuItemActive,.mceMenu .mceMenuItems .mceMenuItemEnabled:focus,.mceMenu .mceMenuItems .mceMenuItemEnabled:hover{background-color:#eee}.mceMenu .mceMenuItems .mceMenuHtml:hover{background-color:#fff}.mceMenu .mceMenuItems .mceMenuItemEnabled:focus{outline:#ddd dashed 1px}.mceMenu .mceMenuItems .mceMenuItemEnabled .mceTableSplitMenu a:hover{background-color:transparent}.mceMenu .mceMenuItems .mceMenuItemTitle{border-bottom:1px solid #ddd;background-color:#f5f5f5}.mceMenu .mceMenuItems .mceMenuItemTitle:hover{background-color:#f5f5f5}.mceMenu .mceMenuItems .mceMenuItemFooter{border-top:1px solid #ddd}.mceMenu .mceMenuItems .mceMenuItemTitle .mceText{font-weight:700;cursor:default}.mceMenu .mceMenuItems .mceMenuItemSeparator{background:#ddd;height:1px;cursor:default}.mceMenu .mceMenuItems .mceMenuItem.mceDisabled{opacity:.5}.mceMenu .mceMenuItemsItemDisabled .mceText{color:#888}.mceMenu .mceNoIcons .mceMenuItemSelected .mceMenuItem{background:url(img/menu_arrow.gif) left center no-repeat}.mceMenu .mceMenuItemsItemSub .mceMenuItem{background:url(img/menu_arrow.gif) center right no-repeat}.mceMenu .mceMenuItems .mceMenuItemSub .mceText{margin-left:1em}.mceMenu .mceMenuItems .mceMenuHtml{position:relative;flex-direction:column}.mceMenu .mceMenuItems .mceMenuHtml .mceToolbarRow{position:relative;display:flex;flex-wrap:nowrap}.mceMenu .mceMenuItems .mceMenuHtml .mceToolbarColumn{position:relative;display:flex;flex-direction:column}.mceMenu .mceMenuItems .mceMenuHtml label{display:block;line-height:2;vertical-align:middle;width:96px}.mceMenu .mceMenuItems .mceMenuHtml input[type=text],.mceMenu .mceMenuItems .mceMenuHtml select,.mceMenu .mceMenuItems .mceMenuHtml textarea{height:32px;width:100%;padding:2px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;box-sizing:border-box;cursor:initial}.mceMenu .mceMenuItems .mceMenuHtml textarea{height:auto}.mceMenu .mceMenuItems .mceMenuHtml select:not([multiple]):not([size]){appearance:none;padding-right:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-repeat:no-repeat;background-position:100% 50%}.mceMenu .mceMenuItems .mceMenuHtml input[type=text]:focus{border-color:#66afe9;outline:0;background:#f5fbfe;color:#444;box-shadow:inherit}.mceMenu .mceLinkMenu{min-width:220px}.mceMenu .mceLinkMenu .mceMenuHtml input{margin-right:5px}.mceMenu .mceMenuItems .mceMenuHtml .mceButton{position:relative}.mceMenu .mceMenuItems .mceMenuHtml .mceButton .mceIcon{position:static}.mceMenu .mceButtonMenu{margin:2px 0 0 1px;border:1px solid #ddd;box-shadow:0 2px 5px rgba(0,0,0,.1)}.mceMenu .mceButtonMenu .mceMenuItem{margin:3px}.mceMenu .mceButtonMenu::before{content:"";display:block;padding:3px;position:absolute;width:40px;top:-6px;background:#fff;left:-1px;border-left:1px solid #ddd;border-right:1px solid #ddd}.mceMenu .mceModalContent .mceListBox .mceText{width:calc(100% - 32px)}.mceMenu .mceToolbarRow .mceToolbarItem{width:100%;display:flex;gap:4px}.mceMenu .mceToolbarRow .mceToolbarItem .mceTextBox{max-width:inherit}.mceMenu .mceToolbarRow .mceToolbarItem textarea{height:auto;white-space:pre-wrap;font-size:13px;line-height:2}.mceMenu .mceToolbarFooter .mceToolbarItem .mceButton{min-width:5em;height:32px;line-height:1;background:#fff;border-radius:2px;color:#444;border:1px solid #ddd;margin:0 0 0 4px;padding:0 8px}.mceMenu .mceToolbarFooter .mceToolbarItem .mceButton.mceButtonPrimary{background-color:#337ab7;border:1px solid rgba(0,0,0,.06);color:#fff}.mceDefaultSkin .mceButton{border:1px solid #ddd;padding:4px;min-width:32px;min-height:32px;appearance:none;cursor:pointer;outline:0;overflow:visible;text-transform:none;box-sizing:border-box;text-decoration:none;text-align:center;border-radius:2px;line-height:1}.mceDefaultSkin .mceButton .mceIcon{display:flex;align-items:center;justify-content:center;margin:auto;max-width:20px}.mceDefaultSkin .mceButton:hover{border:1px solid #ccc;background-color:#fafafa}.mceDefaultSkin .mceButton:focus{border:1px solid #ccc;background-color:#fff;outline:0}.mceDefaultSkin .mceButtonActive,.mceDefaultSkin .mceButtonSelected{border:1px solid #ccc;background-color:#ddd}.mceDefaultSkin .mceButtonDisabled .mceIcon{opacity:.38}.mceDefaultSkin .mceButtonLabeled{width:auto}.mceDefaultSkin .mceButtonLabeled .mceIcon{float:left}.mceDefaultSkin .mceButtonLabel{display:block;font-size:14px;padding:4px 8px 0 24px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif}.mceDefaultSkin .mceButtonDisabled .mceButtonLabel{color:#888}.mceDefaultSkin button:disabled{cursor:not-allowed}.mceDefaultSkin button:disabled .mceIcon{opacity:.38}.mceDefaultSkin .mceListBox{display:flex;flex-direction:row}.mceDefaultSkin .mceListBox .mceText{padding:0 4px;min-width:96px;height:32px;text-align:left;border:1px solid #ddd;border-right:0;background:#fff;line-height:2;overflow:hidden;border-radius:2px 0 0 2px;cursor:pointer}.mceDefaultSkin .mceListBox .mceOpen{width:16px;height:32px;border:1px solid #ddd;text-align:center;border-radius:0 2px 2px 0;cursor:pointer}.mceDefaultSkin .mceListBox .mceOpen,.mceDefaultSkin .mceListBox .mceText{float:left}.mceDefaultSkin .mceListBox:focus .mceOpen,.mceDefaultSkin .mceListBox:hover .mceOpen{border-color:#ccc;background-color:#fafafa}.mceDefaultSkin .mceListBox:focus .mceText,.mceDefaultSkin .mceListBox:hover .mceText{border-color:#ccc}.mceDefaultSkin .mceListBox .mceOpen:after{content:"\25BC";display:block;font-size:9px;line-height:32px;color:#444;text-align:center}.mceDefaultSkin .mceListBox .mceComboBox{position:relative;display:flex;flex-direction:row;width:100%;min-width:50%;flex:1;flex-wrap:wrap;align-items:center;border:1px solid #ddd;border-radius:2px}.mceDefaultSkin .mceListBox .mceComboBox .mceText{height:30px;line-height:32px;background:#fff;cursor:text;padding:4px;box-sizing:border-box;border:0;outline:0;width:100%;min-width:25%;flex:1}.mceDefaultSkin .mceListBox .mceComboBox .mceOpen{border:0}.mceDefaultSkin .mceListBoxSelected .mceText{border:1px solid #ccc;border-right:0;background:#fff;border-radius:2px 0 0}.mceDefaultSkin .mceListBoxSelected .mceOpen{background-color:#fff;border:1px solid #ccc;border-left:0;padding-left:1px;border-radius:0 2px 0 0}.mceDefaultSkin .mceListBoxSelected:focus .mceOpen,.mceDefaultSkin .mceListBoxSelected:hover .mceOpen{background-color:#fff}.mceDefaultSkin .mceListBoxSelected::after{content:"";padding:2px 0;width:100%;position:absolute;left:0;bottom:-3px;background:#fff;box-sizing:border-box;z-index:700011;border:1px solid #ccc;border-top:0 none;border-bottom:0 none}.mceDefaultSkin .mceListBoxDisabled .mceOpen:after{color:gray}.mceDefaultSkin .mceListBoxDisabled .mceText{color:gray;background-color:transparent}.mceListBoxMenu{min-width:calc(113px * 2);min-height:68px;height:auto;max-height:386px;margin-top:3px;overflow:hidden}.mceListBoxMenu .mceMenuItems .mceText{padding:0 8px 0 24px}.mceListBoxMenu .mceMenuItems .mceSelected{outline:#ddd dashed 1px;background-color:#eee}.mceListBoxMenu .mceMenuItems .mceHasIcon.mceSelected:before{left:inherit;right:.5em}.mceListBoxMenu .mceMenuItems{overflow:hidden;overflow-y:auto;max-height:386px}select.mceNativeListBox{font-size:7pt;background:#fafafa;border:1px solid gray;margin-right:2px}.mceListBoxMenu .mceMenuFilter{border:1px solid #ddd;width:auto;margin:.125em;position:relative;display:flex;flex-direction:row;flex-wrap:wrap;border-radius:2px;align-items:center;padding:0;box-sizing:border-box;transition:all .2s linear;transition-property:all;transition-property:border,background;cursor:text}.mceListBoxMenu .mceMenuFilter .mceMenuFilterInput{position:relative;display:flex;flex-direction:row;width:100%;min-width:50%;flex:1}.mceListBoxMenu .mceMenuFilter input{height:32px;line-height:32px;width:100%;background:#fff;cursor:text;padding:4px;box-sizing:border-box;border:0;outline:0}.mceListBox .mceComboBox .mceButton,.mceListBoxMenu .mceMenuFilter .mceButton{margin:.125em;position:relative;display:flex;justify-content:space-around;align-items:center;height:2em;min-width:5em;min-height:inherit;padding:0;box-sizing:border-box;background:#eee}.mceListBox .mceComboBox .mceButton{margin:1px;min-width:3em;padding:0 1px 0 0}.mceListBox .mceComboBox .mceButton label,.mceListBoxMenu .mceMenuFilter .mceButton label{padding:.25em;cursor:default}.mceListBox .mceComboBox .mceButton label{min-width:3em;width:auto;font-size:12px;line-height:1.75em}.mceListBox .mceComboBox .mceButton::after,.mceListBoxMenu .mceMenuFilter .mceButton::after{position:relative;top:0;right:0;display:block;text-align:center;text-indent:0;content:"\00d7";color:#444;line-height:1.4;font-size:1.25em;font-weight:700;height:100%;width:1em}.mceListBox[role=combobox]>button.mceOpen{position:absolute;right:0;height:30px;border-width:1px 1px 0 0}.mceListBoxMenu .mceMenuFilter svg{position:absolute;right:14px;top:14px;fill:#888;width:14px;height:14px;vertical-align:middle}.mceRtl .mceDefaultSkin .mceListBox .mceText{text-align:right;padding:0 4px 0 0}.mceDefaultSkin .mceTextBox{height:32px;line-height:2;max-width:100%;padding:2px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;box-sizing:border-box;cursor:text;width:auto}.mceDefaultSkin .mceTextBox:focus{box-shadow:inherit;border-color:#66afe9;outline:0;background:#f5fbfe;color:#444}.mceDefaultSkin .mceTextBoxDisabled{color:#888;background-color:#eee;cursor:not-allowed}.mceDefaultSkin .mceTextBox+.mceTextBoxDescription{font-size:.75em;color:#666;line-height:2;display:inline-block;width:100%}.mceDefaultSkin .mceToolbarRow .mceTextBox{margin:1px 0 1px 2px;max-width:10em}.mceDefaultSkin .mceSplitButton{position:relative}.mceDefaultSkin .mceSplitButton button{height:32px;display:inline-block;text-align:center;line-height:1;width:32px}.mceDefaultSkin .mceSplitButton .mceOpen,.mceDefaultSkin .mceSplitButton .mceText{display:inline-block;border:1px solid #ddd}.mceDefaultSkin .mceSplitButton .mceText{float:left;border-right:0;border-radius:2px 0 0 2px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;text-overflow:ellipsis}.mceDefaultSkin .mceSplitButton .mceAction{width:20px;background-image:url(../../img/icons.png?v=7c1b5ae6239f4f3b8116c6316bce0db9)}.mceDefaultSkin .mceSplitButton img.mceAction{background:0 0}.mceDefaultSkin .mceSplitButton .mceOpen{width:16px;text-align:center;height:32px;border-radius:0 2px 2px 0;cursor:pointer}.mceDefaultSkin .mceSplitButton .mceOpen:after{content:"\25BC";display:block;font-size:9px;line-height:32px;color:#444;text-align:center}.mceDefaultSkin .mceSplitButtonDisabled .mceOpen:after{color:#888}.mceDefaultSkin .mceSplitButton:focus .mceOpen,.mceDefaultSkin .mceSplitButton:focus .mceText,.mceDefaultSkin .mceSplitButton:hover .mceOpen,.mceDefaultSkin .mceSplitButton:hover .mceText{border-color:#ccc;background-color:#fafafa}.mceDefaultSkin .mceSplitButtonDisabled .mceAction{opacity:.3}.mceDefaultSkin .mceSplitButtonActive .mceText{border-color:#ccc;background-color:#ddd}.mceDefaultSkin .mceSplitButtonActive .mceOpen{border-left:0;border-color:#ccc;background-color:#ddd}.mceDefaultSkin .mceSplitButtonSelected::after{content:"";padding:2px 0;width:100%;position:absolute;left:0;bottom:-3px;background:#fff;box-sizing:border-box;z-index:700011;border:1px solid #ccc;border-top:0 none;border-bottom:0 none}.mceSplitButtonMenu{min-width:calc(48px * 3);margin:5px 0 0 1.5px;max-height:336px;overflow:visible;overflow-y:auto;max-width:20em}.mceDefaultSkin .mceMenuItemSub{box-shadow:inherit;border:0;margin:0}.mceDefaultSkin .mceSplitButtonMenu .mceMenuItem{margin:2px}.mceSplitButtonMenu .mceMenuItems .mceSelected{background-color:#ddd}.mceDefaultSkin .mceColorSplitMenu{display:flex;flex-wrap:wrap;max-width:203px;gap:1px}.mceDefaultSkin .mceColorSplitMenu button{display:block;width:24px;height:24px;overflow:hidden;border:1px solid #ddd;text-align:center;cursor:pointer;outline:0}.mceDefaultSkin .mceColorSplitMenu button:focus,.mceDefaultSkin .mceColorSplitMenu button:hover{border-color:#444;outline:0}.mceDefaultSkin .mceColorSplitMenu .mceRemoveColor{color:#444;font-weight:700}.mceDefaultSkin .mceColorSplitMenu .mceMoreColors{width:100%;height:auto;text-align:center;line-height:32px;background:#fff;cursor:pointer}.mceDefaultSkin .mceColorSplitMenu .mceMoreColors:hover{border:1px solid #ccc;background-color:#fafafa}.mceDefaultSkin .mceColorPreview{width:20px;height:4px;overflow:hidden;background:#fafafa}.mceDefaultSkin .mce_backcolor .mceAction,.mceDefaultSkin .mce_forecolor .mceAction{overflow:hidden;height:15px}.mceTableSplitMenu{background:#fff;border:0;padding:0;margin:0;border-spacing:inherit}.mceDefaultSkin .mceTableSplitMenu table{padding:2px}.mceDefaultSkin .mceTableSplitMenu td{background-color:#fff;text-align:center}.mceDefaultSkin .mceTableSplitMenu td a{width:24px;height:24px;display:block;border:1px solid #ddd;padding:0;margin:1px}.mceDefaultSkin .mceTableSplitMenu .selected a{background-color:#337ab7;border-color:#2e6da4}.mceDefaultSkin .mceTableSplitMenu .mceTableGridCount{background-color:#fff;text-align:center;line-height:32px}.mceDefaultSkin .mceSplitButtonSelected .mceText,.mceDefaultSkin .mceSplitButtonSelected:hover .mceText{background:#fff;border-color:#ccc;border-radius:2px 0 0}.mceDefaultSkin .mceSplitButtonSelected .mceOpen,.mceDefaultSkin .mceSplitButtonSelected:hover .mceOpen{background:#fff;border-color:#ccc;border-left:0 none;padding-left:1px;border-radius:0 2px 0 0}.mceDefaultSkin .mceColorSplitMenu{padding:2px;background:#fff}.mceDefaultSkin .mceColumns .mceTableSplitMenu{width:120px}.mceDefaultSkin .mceColumns .mceTableSplitMenu td a{width:24px;height:32px}@font-face{font-family:wfeditor;src:url(../../../../../fonts/wfeditor.woff) format('woff');font-weight:400;font-style:normal}.mceDefaultSkin .mceAction,.mceDefaultSkin .mceIcon,.mceModal .mceIcon{font-family:wfeditor;font-style:normal;font-variant:normal;line-height:1.25em;font-size:16px;text-align:center;vertical-align:middle;background:0 0;position:relative;color:#444}.mceDefaultSkin .mceAction,.mceDefaultSkin .mceIcon{display:inline-block;min-width:20px;height:20px;line-height:20px}.mceDefaultSkin .mceIcon{background:url(../../img/icons.png?v=7c1b5ae6239f4f3b8116c6316bce0db9) 20px 20px no-repeat}.mceDefaultSkin .mceIcon img{vertical-align:middle;min-width:16px;height:auto;cursor:inherit;margin:auto}.mceDefaultSkin .mceIcon svg{width:1em;height:1em;fill:#444}.mceDefaultSkin img[src$=".svg"].mceAction,.mceDefaultSkin img[src$=".svg"].mceIcon{width:18px;height:16px}.mceDefaultSkin .mceIconImage{display:flex;background:0 0}.mceDefaultSkin span.mce_bold{background-position:0 0}.mceDefaultSkin span.mce_italic{background-position:-60px 0}.mceDefaultSkin span.mce_underline{background-position:-140px 0}.mceDefaultSkin span.mce_strikethrough{background-position:-120px 0}.mceDefaultSkin span.mce_source_undo,.mceDefaultSkin span.mce_undo{background-position:-160px 0}.mceDefaultSkin span.mce_redo,.mceDefaultSkin span.mce_source_redo{background-position:-100px 0}.mceDefaultSkin span.mce_cleanup{background-position:-40px 0}.mceDefaultSkin span.mce_bullist{background-position:-20px 0}.mceDefaultSkin span.mce_numlist,.mceDefaultSkin span.mce_source_linenumbers{background-position:-80px 0}.mceDefaultSkin span.mce_justifyleft{background-position:-460px 0}.mceDefaultSkin span.mce_justifyright{background-position:-480px 0}.mceDefaultSkin span.mce_justifycenter{background-position:-420px 0}.mceDefaultSkin span.mce_justifyfull{background-position:-440px 0}.mceDefaultSkin span.mce_anchor{background-position:-200px 0}.mceDefaultSkin span.mce_indent,.mceDefaultSkin span.mce_source_format{background-position:-400px 0}.mceDefaultSkin span.mce_outdent{background-position:-540px 0}.mceDefaultSkin span.mce_link,.mceDefaultSkin span.mce_lnk{background-position:-500px 0}.mceDefaultSkin span.mce_unlink{background-position:-640px 0}.mceDefaultSkin span.mce_sub{background-position:-600px 0}.mceDefaultSkin span.mce_sup{background-position:-620px 0}.mceDefaultSkin span.mce_removeformat{background-position:-580px 0}.mceDefaultSkin span.mce_newdocument{background-position:-520px 0}.mceDefaultSkin span.mce_image{background-position:-380px 0}.mceDefaultSkin span.mce_help{background-position:-340px 0}.mceDefaultSkin span.mce_code,.mceDefaultSkin span.mce_source{background-position:-260px 0}.mceDefaultSkin span.mce_hr{background-position:-360px 0}.mceDefaultSkin span.mce_visualaid{background-position:-660px 0}.mceDefaultSkin span.mce_charmap{background-position:-240px 0}.mceDefaultSkin span.mce_paste{background-position:-560px 0}.mceDefaultSkin span.mce_copy{background-position:-700px 0}.mceDefaultSkin span.mce_cut{background-position:-680px 0}.mceDefaultSkin span.mce_blockquote{background-position:-220px 0}.mceDefaultSkin .mce_forecolor span.mceAction{background-position:-720px 0}.mceDefaultSkin .mce_backcolor span.mceAction{background-position:-760px 0}.mceDefaultSkin span.mce_forecolor{background-position:-720px 0}.mceDefaultSkin span.mce_backcolor{background-position:-760px 0}.mceDefaultSkin span.mce_forecolorpicker{background-position:-720px 0}.mceDefaultSkin span.mce_backcolorpicker{background-position:-760px 0}.mceDefaultSkin span.mce_readmore{background-position:-920px 0}.mceDefaultSkin span.mce_pagebreak{background-position:-940px 0}.mceDefaultSkin span.mce_advhr{background-position:0 -20px}.mceDefaultSkin span.mce_ltr{background-position:-20px -20px}.mceDefaultSkin span.mce_rtl{background-position:-40px -20px}.mceDefaultSkin span.mce_emotions{background-position:-60px -20px}.mceDefaultSkin span.mce_fullpage{background-position:-80px -20px}.mceDefaultSkin span.mce_fullscreen,.mceDefaultSkin span.mce_source_fullscreen{background-position:-100px -20px}.mceDefaultSkin span.mce_iespell{background-position:-120px -20px}.mceDefaultSkin span.mce_insertdate{background-position:-140px -20px}.mceDefaultSkin span.mce_inserttime{background-position:-160px -20px}.mceDefaultSkin span.mce_layerabsolute{background-position:-180px -20px}.mceDefaultSkin span.mce_insertlayer{background-position:-240px -20px}.mceDefaultSkin span.mce_layerbackward{background-position:-200px -20px}.mceDefaultSkin span.mce_layerforward{background-position:-220px -20px}.mceDefaultSkin span.mce_media,.mceDefaultSkin span.mce_video{background-position:-320px -20px}.mceDefaultSkin span.mce_nonbreaking{background-position:-340px -20px}.mceDefaultSkin span.mce_pastetext{background-position:-360px -20px}.mceDefaultSkin span.mce_pasteword{background-position:-380px -20px}.mceDefaultSkin span.mce_selectall{background-position:-400px -20px}.mceDefaultSkin span.mce_preview{background-position:-420px -20px}.mceDefaultSkin span.mce_print{background-position:-440px -20px}.mceDefaultSkin span.mce_cancel{background-position:-460px -20px}.mceDefaultSkin span.mce_save{background-position:-480px -20px}.mceDefaultSkin span.mce_replace,.mceDefaultSkin span.mce_source_replace{background-position:-500px -20px}.mceDefaultSkin span.mce_search{background-position:-520px -20px}.mceDefaultSkin span.mce_style,.mceDefaultSkin span.mce_styleprops{background-position:-560px -20px}.mceDefaultSkin span.mce_table,.mceDefaultSkin span.mce_table_insert{background-position:-580px -20px}.mceDefaultSkin span.mce_cell_props{background-position:-600px -20px}.mceDefaultSkin span.mce_delete_table{background-position:-620px -20px}.mceDefaultSkin span.mce_delete_col{background-position:-640px -20px}.mceDefaultSkin span.mce_delete_row{background-position:-660px -20px}.mceDefaultSkin span.mce_col_after{background-position:-680px -20px}.mceDefaultSkin span.mce_col_before{background-position:-700px -20px}.mceDefaultSkin span.mce_row_after{background-position:-720px -20px}.mceDefaultSkin span.mce_row_before{background-position:-740px -20px}.mceDefaultSkin span.mce_merge_cells{background-position:-760px -20px}.mceDefaultSkin span.mce_table_props{background-position:-980px -20px}.mceDefaultSkin span.mce_row_props{background-position:-780px -20px}.mceDefaultSkin span.mce_split_cells{background-position:-800px -20px}.mceDefaultSkin span.mce_template{background-position:-820px -20px}.mceDefaultSkin span.mce_visualchars{background-position:-840px -20px}.mceDefaultSkin span.mce_abbr{background-position:-860px -20px}.mceDefaultSkin span.mce_acronym{background-position:-880px -20px}.mceDefaultSkin span.mce_attribs{background-position:-900px -20px}.mceDefaultSkin span.mce_cite{background-position:-920px -20px}.mceDefaultSkin span.mce_del{background-position:-940px -20px}.mceDefaultSkin span.mce_ins{background-position:-960px -20px}.mceDefaultSkin span.mce_source_highlight{background-position:-140px -40px}.mceDefaultSkin span.mce_source_wrap{background-position:-100px -40px}.mceDefaultSkin span.mce_source_search_previous{background-position:-440px -40px}.mceDefaultSkin span.mce_source_search_next{background-position:-460px -40px}.mceDefaultSkin span.mce_source_replace_all{background-position:-480px -40px}.mceDefaultSkin span.mce_source_search_regex{background-position:-500px -40px}.mceDefaultSkin span.mce_columns{background-position:-520px -40px}.mceDefaultSkin span.mce_columns_add{background-position:-560px -40px}.mceDefaultSkin span.mce_columns_add_before{background-position:-660px -40px}.mceDefaultSkin span.mce_columns_delete{background-position:-580px -40px}.mceDefaultSkin span.mce_source_search_wholeword{background-position:-680px -40px}.mceDefaultSkin span.mce_source_search_matchcase{background-position:-700px -40px}.mceDefaultSkin span.mce_joomla{background-position:-600px -40px}.mceDefaultSkin span.mce_upload{background-position:-620px -40px}.mceDefaultSkin span.mce_langcode{background-position:-640px -40px}.mceDefaultSkin span.mce_restoredraft{background-position:-20px -40px}.mceDefaultSkin span.mce_spellchecker{background-position:-540px -20px}.mceDefaultSkin span.mce_autosave{background-position:-20px -40px}.mceDefaultSkin span.mce_imgmanager{background-position:-380px 0}.mceDefaultSkin span.mce_article{background-position:-920px 0;width:40px}.mceDefaultSkin span.mce_textcase{background-position:-40px -40px}.mceDefaultSkin span.mce_visualblocks{background-position:-160px -40px}.mceDefaultSkin span.mce_kitchensink{background-position:-180px -40px}.mceDefaultSkin span.mce_mediamanager,.mceDefaultSkin span.mce_video{background-position:-320px -40px}.mceDefaultSkin span.mce_imgmanager_ext{background-position:-420px -40px}.mceDefaultSkin span.mce_templatemanager{background-position:-380px -40px}.mceDefaultSkin span.mce_iframe{background-position:-400px -40px}.mceDefaultSkin span.mce_filemanager{background-position:-360px -40px}.mceDefaultSkin span.mce_caption_add{background-position:-280px -40px}.mceDefaultSkin span.mce_caption_delete{background-position:-300px -40px}.mceDefaultSkin span.mce_microdata{background-position:-340px -40px}.mceDefaultSkin span.mce_plus{background-position:-200px -40px}.mceDefaultSkin span.mce_cross,.mceDefaultSkin span.mce_delete,.mceDefaultSkin span.mce_trash{background-position:-220px -40px}.mceDefaultSkin span.mce_check{background-position:-540px -40px}.mceDefaultSkin .mce_list_default:before,.mceDefaultSkin .mce_list_disc:before{content:"●";line-height:1;display:inline-block}.mceDefaultSkin .mce_list_circle:before{content:"○";line-height:1;display:inline-block}.mceDefaultSkin .mce_list_square:before{content:"□";line-height:1;display:inline-block}.mceDefaultSkin .mce_list_lower_alpha::before,.mceDefaultSkin .mce_list_lower_greek::before,.mceDefaultSkin .mce_list_lower_roman::before,.mceDefaultSkin .mce_list_upper_alpha::before,.mceDefaultSkin .mce_list_upper_roman::before{font-size:1em;font-family:"times new roman,times";line-height:1.25}.mceDefaultSkin .mce_list_lower_alpha::before{content:"a."}.mceDefaultSkin .mce_list_lower_greek::before{content:"\03b1."}.mceDefaultSkin .mce_list_lower_roman::before{content:"iv."}.mceDefaultSkin .mce_list_upper_alpha::before{content:"A."}.mceDefaultSkin .mce_list_upper_roman::before{content:"IV."}.mceDefaultSkin .mce_spinner{background:url(img/load.gif?v=7c1b5ae6239f4f3b8116c6316bce0db9) no-repeat}.mceDefaultSkin .mce_none[class*=icon-]:before{font-family:"Font Awesome 6 Free","Font Awesome 5 Free",IcoMoon;font-weight:900}.mceDefaultSkin .mcePanel{position:relative;left:0;top:0;z-index:1000;border:1px solid #ddd;direction:ltr;background:#fafafa;padding:0;font-family:-apple-systrem,BlinkMacSystremFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;font-size:16px;box-shadow:0 2px 4px rgba(0,0,0,.3);box-sizing:border-box}.mceDefaultSkin .mcePanelButtonActive{background-color:#eee;border-color:#ddd}.mceDefaultSkin .mcePanelButtonSelected,.mceDefaultSkin .mcePanelButtonSelected:hover{background-color:#fff;border-color:#ddd}.mceDefaultSkin .mcePanelButtonSelected .mceOpen,.mceDefaultSkin .mcePanelButtonSelected:hover .mceOpen{border-left-color:transparent}.mceDefaultSkin .mcePanel h4{font-size:14px;color:#444;font-weight:700;margin:0 0 8px}.mceDefaultSkin .mcePanel .mcePanelContent{background-color:#fff;font-size:14px;padding:4px;white-space:normal}.mceDefaultSkin .mcePanel .mcePanelContent .mceToolbarRow{display:flex}.mceDefaultSkin .mcePanel .mcePanelContent label{display:block;line-height:2;vertical-align:middle}.mceDefaultSkin .mcePanel input[type=text],.mceDefaultSkin .mcePanel select,.mceDefaultSkin .mcePanel textarea{height:32px;width:100%;padding:2px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;box-sizing:border-box}.mceDefaultSkin .mcePanel input[type=text],.mceDefaultSkin .mcePanel textarea{min-width:12em;cursor:text}.mceDefaultSkin .mcePanel textarea{height:auto}.mceDefaultSkin .mcePanel select:not([multiple]):not([size]){appearance:none;padding-right:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-repeat:no-repeat;background-position:100% 50%}.mceDefaultSkin .mcePanel input[type=text]:focus{border-color:#66afe9;outline:0;background:#f5fbfe;color:#444;box-shadow:inherit}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButton{appearance:none;margin:0 0 0 5px;border:none;overflow:visible;color:#444;text-transform:none;display:inline-block;box-sizing:border-box;padding:0 12px;background:#fff;vertical-align:middle;line-height:26px;min-height:32px;text-decoration:none;text-align:center;border:1px solid rgba(0,0,0,.12);border-radius:2px;cursor:pointer}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonPrimary{background-color:#337ab7;color:#fff;box-shadow:inset 0 0 5px rgba(0,0,0,.05);text-shadow:0 -1px 0 rgba(0,0,0,.1)}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButton:focus,.mceDefaultSkin .mcePanel .mcePanelFooter .mceButton:hover{background-color:#fafafa;color:#444;outline:0;text-decoration:none;border-color:rgba(0,0,0,.16)}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonDisabled,.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonDisabled:focus,.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonDisabled:hover{background:#eee;color:#888}.mceDefaultSkin .mcePanel .mcePanelFooter .mceButtonPrimary:hover{background-color:#35b3ee;color:#fff;border-color:rgba(0,0,0,.21)}.mceDefaultSkin .mcePanel .mcePanelFooter{text-align:right;background-color:#f5f5f5;padding:10px;border-top:1px solid #ddd}.mceDefaultSkin .mcePanel:before{content:"";display:block;position:absolute;width:30px;background-color:#fff;height:6px;left:-1px;top:-6px;border-left:1px solid #ddd;border-right:1px solid #ddd;box-sizing:content-box}.mceDefaultSkin.mcePanelSplitButton .mcePanel::before{width:46px;height:8px;top:-8px}.mceDefaultSkin.mce_search .mcePanel .mcePanelFooter .mceButton,.mceDefaultSkin.mce_search .mcePanel label{min-width:70px}.mceDefaultSkin.mce_search .mcePanel input.search_error{border-color:red}.mceDefaultSkin .mcePanelButtonSelected .mceSplitButton .mceText button{border-right-color:transparent}.mceDefaultSkin .mcePanelButtonSelected .mceSplitButton .mceOpen button{border-left-color:transparent}.mceDefaultSkin .mcePanelButtonActive .mceOpen button,.mceDefaultSkin .mcePanelButtonActive .mceText button{border-color:#ccc;background-color:#ddd}.mceDefaultSkin .mceLayout .mceBranding{width:100%;text-align:center;line-height:20px;background:#eee;padding:5px 0;display:block;box-sizing:border-box;border-bottom:1px solid #ddd;white-space:normal}.mceDefaultSkin .mceLayout .mceBranding a{font-weight:700;cursor:pointer}.mceDefaultSkin .mceLayout .mceBranding a:hover{text-decoration:underline}.mceDefaultSkin .mceLayout .mceBranding span{font-size:inherit;line-height:inherit;font-family:inherit}.mceDefaultSkin .mce_emotions_icon{display:inline-block;font-size:16px;line-height:2em;width:auto;height:auto;min-width:2em;min-height:2em;text-align:center;cursor:pointer;user-select:none;appearance:none;background:#fff}.mceDefaultSkin .mceEmoticonsMenu{max-width:16.75em;white-space:normal;display:flex;flex-wrap:wrap;justify-content:center}.mceDefaultSkin .mce_emotions_icon img{padding:5px;cursor:pointer}.mce_emotions_icon:focus,.mce_emotions_icon:hover{background:#eee;border-radius:3px}.mcePathRow{overflow:hidden;width:100%}.mcePathHidden .mceText{display:none}.mcePathPath .mceText{font-size:12px;line-height:14px;max-width:3em;text-overflow:ellipsis;overflow:hidden;opacity:.75;cursor:default}.mcePathPath a .mceText{opacity:1;cursor:pointer}.mcePathPath a:not(:last-child):after{content:"\00bb";display:inline-block;text-decoration:none;margin:0 .25em}.mcePathHidden:after{content:"...";display:inline-block}.mcePathLabel{position:relative;display:inline-block;min-width:32px;margin:0 5px 0 0;font-size:14px;user-select:none}.mcePathPath{display:inline-block}.mceDefaultSkin .mceClassBar{display:flex;flex-direction:row;min-height:32px;align-items:center;padding:0 .25em}.mceDefaultSkin .mceToolbar+.mceClassBar{border-top:1px solid #ddd}.mceDefaultSkin .mceIframeContainer+.mceClassBar{border-bottom:1px solid #ddd}.mceDefaultSkin .mceClassBar .mceClassBarTags{display:flex;flex-direction:row;flex-wrap:wrap}.mceDefaultSkin .mceClassBar .mceButton{margin:.125em;position:relative;height:2em;min-width:5em;min-height:inherit;padding:0 1.25em 0 0;box-sizing:border-box;background:#eee;font-size:12px}.mceDefaultSkin .mceClassBar .mceButton label{padding:.25em;cursor:default;font-size:1em}.mceDefaultSkin .mceClassBar .mceButton::after{position:absolute;top:0;right:0;display:block;text-align:center;text-indent:0;content:"\00d7";color:#444;line-height:1.3;font-size:1.25em;font-weight:700;height:100%;width:1em}.mceDefaultSkin .mceStatusbar .mceWordCount,.mceDefaultSkin .mceStatusbar .mceWordCount .mceText,.mceDefaultSkin .mce_formatPreview a{font-size:14px}.mceDefaultSkin .mceClassBar .mceListBox{height:28px;display:flex;flex-direction:row;align-items:center;margin:0 2px}.mceDefaultSkin .mceClassBar .mceListBox input{width:100%;height:28px;padding:2px;border-radius:0;box-sizing:border-box;border:0}.mceDefaultSkin .mceClassBar .mceListBox .mceOpen{height:30px}.mceDefaultSkin .mceClassBar .mceListBox .mceOpen:after{line-height:30px}.mceDefaultSkin .mceStatusbar .mceWordCount .mceText:before{content:attr(title);display:inline-block;margin:0 5px}.mceDefaultSkin .mceWordCountLimit{font-weight:700;color:#c00}.mceDefaultSkin .mce_address span.mceText{font-style:italic}.mceDefaultSkin .mce_pre span.mceText{font-family:monospace}.mceDefaultSkin .mce_h1 span.mceText{font-weight:bolder;font-size:2em}.mceDefaultSkin .mce_h2 span.mceText{font-weight:bolder;font-size:1.5em}.mceDefaultSkin .mce_h3 span.mceText{font-weight:bolder;font-size:1.17em}.mceDefaultSkin .mce_h4 span.mceText{font-weight:bolder;font-size:1em}.mceDefaultSkin .mce_h5 span.mceText{font-weight:bolder;font-size:.83em}.mceDefaultSkin .mce_h6 span.mceText{font-weight:bolder;font-size:.75em}.mceDefaultSkin .mceToolbarSource{margin:0}.mceDefaultSkin .mceToolbarSource .mceFlex{justify-content:space-between}.mceModal .mceIcon{vertical-align:baseline;line-height:1}.mceModal .mce_arrow-up:before{content:"\edcc"}.mceModal .mce_arrow-down:before{content:"\edd0"}.mceModal button:disabled .mceIcon{color:#888}.mceModal{position:absolute;z-index:700000;width:100%;height:100%;top:0;left:0}.mceModal *{box-sizing:border-box;white-space:normal}.mceModal .mceModalOverlay{position:fixed;cursor:pointer;background-color:#000;width:100%;height:100%;opacity:.6;z-index:700001}.mceModal .mceLoading .mceModalContent:after,.mceModal .mceLoading .mceModalContent:before{content:"";z-index:700003;position:absolute;box-sizing:border-box}.mceModal .mceModalFrame{box-sizing:border-box;height:100%;left:0;position:absolute;text-align:center;top:0;width:100%;padding:8px}.mceModal .mceModalFrame:after{content:"";display:inline-block;height:100%;vertical-align:middle}.mceModal .mceLoading .mceModalContent:before{width:100%;height:100%;left:0;top:0;background:#fff;opacity:.8}@keyframes donut-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mceModal .mceLoading .mceModalContent:after{display:block;border:.25rem solid rgba(0,0,0,.3);border-left-color:#444;border-radius:50%;width:2.5rem;height:2.5rem;animation:donut-spin 1.2s linear infinite;top:50%;left:50%;margin:-3rem 0 0 -1rem}.mceModal .mceModalHeader{padding:8px;background-color:#fff;display:flex;align-items:center}.mceModal .mceModalHeader .mceModalLogo{width:1.25em;height:1.25em;margin:0 .5em 0 0}.mceModal .mceModalHeader .mceModalLogo:empty{display:none}.mceModal .mceModalHeader .mceModalLogo svg{width:100%;height:100%;fill:#fff;border-radius:2px;padding:.125em;text-align:center;display:inline-block;background-color:#444}.mceModal .mceModalHeader .mceModalLogo svg g{fill:#fff}.mceModal .mceModalHeader h5{font-size:18px;line-height:1;font-weight:700;pointer-events:none;width:100%;flex:1}.mceModal .mceModalBody[dir=rtl] .mceModalHeader h5{text-align:right}.mceModal .mceModalMove{cursor:move}.mceModalBody .mceModalContent{background:#fff;position:relative;height:auto}.mceModalBody .mceModalContentIframe{height:calc(100% - 48px)}.mceModalBody .mceModalAlert .mceModalContent,.mceModalBody .mceModalConfirm .mceModalContent,.mceModalBody .mceModalPrompt .mceModalContent{min-height:5em;display:flex;flex-direction:column;justify-content:center}.mceModalBody .mceModalFooter{margin:0;padding:8px;border-radius:0 0 2px;text-align:right;background-color:#fff}.mceModalBody .mceModalBody{cursor:default;display:block;margin:0 auto;position:absolute;text-align:left;width:100%;min-width:160px}.mceModalBody .mceModalContainer{overflow:hidden;max-width:100%;height:auto;line-height:0;border-radius:4px;border:1px solid rgba(0,0,0,.3);box-shadow:0 2px 4px rgba(0,0,0,.4);display:flex;flex-direction:column}.mceModalBody .mceModalClose{width:32px;height:32px;border-radius:2px;cursor:pointer;background:#fff}.mceModalBody .mceModalClose:focus,.mceModalBody .mceModalClose:hover{background:#e5e5e5;border:0}.mceModalBody .mceModalClose:after{color:#444;display:block;font-family:Arial,sans-serif;font-size:1.5em;font-weight:700;line-height:1;margin:0 0 0 1px;text-align:center;text-decoration:none;content:"\00d7"}.mceModalBody .mceModalContent>div,.mceModalBody .mceModalContent>form{height:auto;padding:8px;text-align:center;line-height:1}.mceModalBody .mceModalContent iframe{min-height:inherit;border:0;top:0;left:0;width:100%;height:100%;position:absolute}.mceModalBody .mceModalPlaceHolder{border:1px solid #000;background:#888;top:0;left:0;opacity:.5}.mceModalBody .mceButton{min-width:5em;height:32px;line-height:1;background:#fff;border-radius:2px;color:#444;border:1px solid #ddd;margin:0 0 0 4px;padding:0 8px}.mceModalBody .mceButton:focus,.mceModalBody .mceButton:hover{color:#444;outline:0;text-decoration:none;border-color:#888;background:#fff}.mceModalBody .mceButton:disabled,.mceModalBody .mceButton:focus:disabled,.mceModalBody .mceButton:hover:disabled{color:#888;background:#f5f5f5;border-color:#eee;cursor:not-allowed}.mceModalBody .mceModalFooter .mceButton{border-color:#ddd}.mceModalBody .mceModalFooter .mceButton:focus,.mceModalBody .mceModalFooter .mceButton:hover{border-color:#888;background:#fff}.mceModalBody .mceButtonDefault{border-color:#ddd}.mceModalBody .mceButtonDefault:focus,.mceModalBody .mceButtonDefault:hover{border-color:#888}.mceModalBody .mceModalFooter .mceButtonPrimary{background-color:#337ab7;border:1px solid rgba(0,0,0,.06);color:#fff}.mceModalBody .mceModalFooter .mceButtonPrimary:focus,.mceModalBody .mceModalFooter .mceButtonPrimary:hover{background-color:#286090;color:#fff;border-color:rgba(0,0,0,.21)}.mceModalAlert,.mceModalConfirm,.mceModalPrompt{min-height:160px}[class*=mce-modal-landscape-] .mceModalContentIframe{padding-bottom:calc(56.25% - 61px);height:0}[class*=mce-modal-portrait-] .mceModalContentIframe{padding-bottom:calc(133.33% - 61px)}.mceModal .mce-modal-landscape-128,.mceModal .mce-modal-landscape-xxsmall{max-width:128px}.mceModal .mce-modal-landscape-256,.mceModal .mce-modal-landscape-xsmall{max-width:256px}.mceModal .mce-modal-landscape-384,.mceModal .mce-modal-landscape-small,.mceModalAlert,.mceModalConfirm,.mceModalPrompt{max-width:384px}.mceModal .mce-modal-landscape-512,.mceModal .mce-modal-landscape-medium{max-width:512px}.mceModal .mce-modal-landscape-640,.mceModal .mce-modal-landscape-large{max-width:640px}.mceModal .mce-modal-landscape-768,.mceModal .mce-modal-landscape-xlarge{max-width:768px}.mceModal .mce-modal-landscape-896,.mceModal .mce-modal-landscape-xxlarge{max-width:896px}.mceModal .mce-modal-landscape-1024{max-width:1024px}.mceModal .mce-modal-landscape-full{width:calc(100% - 40px);height:calc(100vh - 20px);padding:0}.mceModal .mce-modal-portrait-128,.mceModal .mce-modal-portrait-xsmall{max-width:128px}.mceModal .mce-modal-portrait-256,.mceModal .mce-modal-portrait-small{max-width:256px}.mceModal .mce-modal-portrait-320{max-width:320px}.mceModal .mce-modal-portrait-384,.mceModal .mce-modal-portrait-medium{max-width:384px}.mceModal .mce-modal-portrait-512,.mceModal .mce-modal-portrait-large{max-width:512px}.mceModal .mce-modal-portrait-640,.mceModal .mce-modal-portrait-xlarge{max-width:640px}.mceModal .mce-modal-portrait-768,.mceModal .mce-modal-portrait-full{width:calc(100% - 40px);height:calc(100vh - 20px);max-height:768px;padding:0}.mceModal .mce-modal-portrait-full{max-width:1440px;max-height:810px}.mceModal .mce-modal-portrait-768{max-width:768px}.mceModal .mce-modal-landscape-full .mceModalContainer,.mceModal .mce-modal-portrait-768 .mceModalContainer,.mceModal .mce-modal-portrait-full .mceModalContainer{height:100%}.mceModal .mce-modal-landscape-full .mceModalContentIframe,.mceModal .mce-modal-portrait-full .mceModalContentIframe{padding:0;height:calc(100% - -48px)}.mceModal .mce-modal-portrait-full .mceModalContentIframe{height:100%}.mceModal .mce-modal-square-small{max-width:384px}.mceModal .mce-modal-square-medium{max-width:512px}.mceModal .mce-modal-square-large{max-width:640px}.mceModal .mce-modal-square-xlarge{max-width:896px}.mceModal .mce-modal-square-large .mceModalContentIframe,.mceModal .mce-modal-square-medium .mceModalContentIframe,.mceModal .mce-modal-square-small .mceModalContentIframe,.mceModal .mce-modal-square-xlarge .mceModalContentIframe{padding-bottom:calc(83.46% - 48px)}.mceModalBody .mceModalContent input[type=text],.mceModalBody .mceModalContent input[type=number],.mceModalBody .mceModalContent select,.mceModalBody .mceModalContent textarea{height:32px;width:100%;padding:4px;border:1px solid #ddd;background:#fff;color:#444;border-radius:2px;box-shadow:inherit;margin:inherit;line-height:1;font-size:inherit;font-size:14px}.mceModalBody .mceModalContent select{line-height:1.5}.mceModalBody .mceModalContent input[type]:disabled,.mceModalBody .mceModalContent select option:disabled,.mceModalBody .mceModalContent select:disabled,.mceModalBody .mceModalContent textarea:disabled{color:#888;background-color:#eee;cursor:not-allowed}.mceModalBody .mceModalContent button{min-width:32px;margin:0}.mceModalBody .mceModalContent textarea{height:auto;line-height:1.5;resize:vertical;white-space:pre-wrap}.mceModalBody .mceModalContent input[type]:focus,.mceModalBody .mceModalContent textarea:focus{border-color:#66afe9;outline:0;background-color:#f5fbfe;color:#444}.mceModalBody .mceModalContent input[type=radio]:focus{border-radius:100%}.mceModalBody .mceModalContent label{line-height:1.25;width:96px}.mceModalBody .mceModalContent .mceModalStack label{width:100%}.mceModalBody .mceModalContent input+label{display:inline-block}.mceModalBody .mceModalContent input[type=checkbox]+label{width:auto}.mceModalBody .mceModalContent input[disabled]+label{color:#888}.mceModalBody .mceModalContent .mceModalRow{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px}.mceModalBody .mceModalContent .mceModalControl{flex:1;margin:0;display:flex;align-items:center;gap:4px}.mceModalBody .mceModalContent .mceModalFlexNone{flex:inherit;display:flex}.mceModalBody .mceModalContent .mceModalControl button{margin-left:2px}.mceModalBody .mceListBox .mceOpen{min-width:24px}.mceModalBody .mceModalContent .mceModalControl iframe{position:relative;border:1px solid #ddd}.mceModalBody .mceModalContent .mceModalControlAppend input{padding-right:42px}.mceModalBody .mceModalContent .mceModalControlAppend input+span{position:absolute;right:4px;display:block;color:#888;font-size:14px;line-height:2rem}.mceModalBody .mceModalContent .mceModalControlAppend input+select{max-width:5em}.mceModalBody .mceModalContent p{margin:.5rem 0;font-size:14px;line-height:2rem}.mceModalBody .mceModalAlert .mceModalContent p,.mceModalBody .mceModalConfirm .mceModalContent p{margin:0;text-align:center}.mceModalBody .mceModalContent select:not([multiple]):not([size]){appearance:none;padding-right:20px;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-repeat:no-repeat;background-position:100% 50%}.mceFlexLayout{display:flex;flex-wrap:wrap}.mceGridLayout{display:flex;flex-wrap:nowrap;gap:5px}.mceSizes{gap:20px}.mceSizes input{text-align:center}.mceSizes .mceSeparator{margin:0;width:64px;height:32px;background:0 0}.mceSizes .mceSeparator::after{content:"x";display:block;text-align:center;line-height:32px;font-size:1em}@media (max-height:640px){.mceModalBody .mceModalHeader{padding:4px 8px}.mceModalBody .mceModalContentIframe{height:calc(100% - 40px)}.mceModal .mce-modal-portrait-full{height:768px;min-height:calc(100vh - 20px)}}.mceModalContent .mceButton.mceButtonPicker,.mceModalContent .mceButton.mceButtonUpload,.mceModalContent .mceButton.mceClear{position:absolute;right:0;top:0;z-index:1;background:0 0;border-color:transparent;min-width:inherit;display:flex;align-items:center;justify-content:center}.mceModalContent .mceButton.mceClear:after{display:block;font-family:Arial,sans-serif;font-size:1.25em;font-weight:700;line-height:1;margin:0 2px 0 0;text-align:center;text-decoration:none;content:"\00d7";color:#666}.mceModalContent .mceButton.mceButtonPicker .mceIcon,.mceModalContent .mceButton.mceButtonUpload .mceIcon{color:#666}.mceModalContent .mceButton.mceButtonUpload .mceIcon{margin:25% auto}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUpload[aria-busy=true]~.mceButtonUpload .mce_upload,.mceModalContent .mceButton.mceButtonUpload .mce_spinner{display:none}.mceForm,.mceFormRow,.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUpload[aria-busy=true]~.mceButtonUpload .mce_spinner{display:flex}.mceModalContent .mceButton.mceButtonPicker:hover,.mceModalContent .mceButton.mceButtonUpload:hover,.mceModalContent .mceButton.mceClear:hover{background-color:transparent;border-color:transparent;color:#444}.mceModalContent .mceButton.mceButtonPicker:hover .mceIcon,.mceModalContent .mceButton.mceButtonUpload:hover .mceIcon{color:#444}.mceModalContent .mceButton.mceButtonPicker+.mceButton.mceButtonUpload{right:32px}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxPicker,.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUpload{padding-right:32px}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxPicker.mceUrlBoxUpload{padding-right:64px}.mceModalBody .mceModalContent .mceFormControl .mceUrlBoxUploadHover{background-color:#eee}.mceModalContent .mceButton.mceButtonUpload{overflow:hidden}.mceModalContent .mceButton.mceButtonUpload input[type=file]{position:absolute;top:0;z-index:1;width:100%;height:100%;left:0;appearance:none;opacity:0;cursor:pointer;font-size:500px}.mceModalContent .mce-flex-25{flex-basis:25%}.mceModalContent .mce-flex-50{flex-basis:50%}.mceModalContent .mce-flex-75{flex-basis:75%}.mceForm{width:100%;height:100%;flex-direction:column;gap:4px}.mceFormRow{flex-direction:row;justify-content:start;align-items:flex-start;min-height:32px;width:100%}.mceRepeatable .mceRepeatableItem{flex-direction:row}.mceRepeatable .mceRepeatableItem .mceFormRow{gap:5px}.mceRepeatable .mceRepeatableItem .mceFormRow label{min-width:inherit}.mceRepeatableItem .mce_plus{display:none!important}.mceRepeatableItem .mce_trash,.mceRepeatableItem:first-child .mce_plus{display:inherit!important}.mceRepeatableItem:first-child .mce_trash{display:none!important}.mceFormControl{width:100%;position:relative;display:flex;align-items:center;gap:4px}.mceFormControl .mceListBox{width:100%}.mceFormControl .mceListBox .mceText{width:100%;align-self:flex-start}.mceForm .mceFormRow label{min-width:96px;padding:.5em 0}.mceFormControl .mceTextBox+.mceButton{position:absolute;right:0}.mceFormControl .mceListBox:focus .mceOpen,.mceFormControl .mceListBox:focus .mceText{border-color:#66afe9;background:#f5fbfe}.mceFormControl:has(.mceTextBoxDescription){flex-direction:column}.mceTooltip{position:relative;cursor:help;outline:0}.mceTooltip[data-title]::after{position:absolute;left:50%;bottom:100%;transform:translateX(-50%) translateY(-6px);padding:4px;border-radius:4px;background:#000;color:#fff;content:attr(data-title);white-space:normal;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .15s ease,transform .15s ease;font-size:12px;text-align:center;width:200px}.mceTooltip:not([data-title])[title]::after{content:attr(title)}.mceTooltip::before{content:'';position:absolute;left:50%;bottom:100%;transform:translateX(-50%) translateY(0);border-left:6px solid transparent;border-right:6px solid transparent;border-top:6px solid #000;opacity:0;visibility:hidden;transition:opacity .15s ease}.mceTooltip:focus-visible::after,.mceTooltip:focus-visible::before,.mceTooltip:hover::after,.mceTooltip:hover::before{opacity:1;visibility:visible;z-index:100000}.mceTooltip.wrap::after{white-space:normal;max-width:260px;text-align:center}@media (prefers-reduced-motion:reduce){.mceTooltip::after,.mceTooltip::before{transition:none}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.mceModalBody input[type],.mceModalBody select,.mceModalBody textarea{box-sizing:border-box;margin:0;border-radius:0;font:inherit}.mceModalBody input[type=radio]:checked{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23fff%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E")}.mceModalBody input[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}.mceModalBody input[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23fff%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E")}.mceModalBody input[type=radio]:disabled:checked{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Ccircle%20fill%3D%22%23999%22%20cx%3D%228%22%20cy%3D%228%22%20r%3D%222%22%20%2F%3E%0A%3C%2Fsvg%3E")}.mceModalBody input[type=checkbox]:disabled:checked{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2214%22%20height%3D%2211%22%20viewBox%3D%220%200%2014%2011%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23999%22%20points%3D%2212%201%205%207.5%202%205%201%205.5%205%2010%2013%201.5%22%20%2F%3E%0A%3C%2Fsvg%3E%0A")}.mceModalBody input[type=checkbox]:disabled:indeterminate{background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2216%22%20height%3D%2216%22%20viewBox%3D%220%200%2016%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Crect%20fill%3D%22%23999%22%20x%3D%223%22%20y%3D%228%22%20width%3D%2210%22%20height%3D%221%22%20%2F%3E%0A%3C%2Fsvg%3E")}.mceModalBody input[type=radio]:checked,.mceModalBody input[type=checkbox]:checked,.mceModalBody input[type=checkbox]:indeterminate{background-color:#337ab7;border-color:transparent}.mceModalBody input[type=radio]:focus,.mceModalBody input[type=checkbox]:focus{border-color:#66afe9;outline:0}.mceModalBody input[type=radio]:checked:focus,.mceModalBody input[type=checkbox]:checked:focus,.mceModalBody input[type=checkbox]:indeterminate:focus{background-color:#0e6dcd}.mceModalBody input[type=radio]:checked:disabled,.mceModalBody input[type=checkbox]:checked:disabled,.mceModalBody input[type=checkbox]:indeterminate:disabled{background-color:#eee;border-color:#ddd}.mceModalBody input[type=radio]:not(:disabled),.mceModalBody input[type=checkbox]:not(:disabled){cursor:pointer}.mceModalBody input[type=radio],.mceModalBody input[type=checkbox]{display:inline-block;height:1em;width:1em;overflow:hidden;vertical-align:middle;appearance:none;background-color:#fff;background-repeat:no-repeat;background-position:50% 50%;border:1px solid #ccc;transition:.2s ease-in-out;transition-property:background-color,border;margin-right:8px}.mceModalBody input[type=checkbox]:checked::before,.mceModalBody input[type=checkbox]:indeterminate::before{content:""}.mceModalBody input[type=radio]:checked::before{content:"";display:none}.mceModalBody input[type=radio]{border-radius:50%}.mceModalBody input[type=checkbox]{border-radius:2px}themes/advanced/skins/default/content.css000060400000046560152456730070014555 0ustar00body,html{margin:inherit;overflow:initial!important}html[dir]{height:inherit}html{color:#444;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;background:#fff;caret-color:auto}body{font-family:inherit;font-size:1rem;background:inherit;color:inherit}.mceContentBody{height:inherit;min-height:calc(100vh - 10px);min-width:90%;padding:.5rem;display:block}.mceContentBody img{display:inline}.mceContentBody img[data-mce-selected]:not([data-mce-type]),.mceContentBody table[data-mce-selected]{outline:#1e88e5 solid 3px;outline:var(--mce-control-selection) solid 3px}.mceContentBody .mce-item-selected,.mceContentBody .mceSelected,.mceContentBody td[data-mce-selected],.mceContentBody tr[data-mce-selected]{background-color:#b4d7ff;background-color:var(--mce-control-selection-bg)}.mceContentBody .mce-resizehandle{position:absolute;box-sizing:border-box;background-color:#1e88e5;background-color:var(--mce-control-selection);width:10px;height:10px;z-index:10000;padding:0;margin:-1px}.mceContentBody .mce-resizehandle-ne{cursor:ne-resize;margin:-1px 1px}.mceContentBody .mce-resizehandle-se{cursor:se-resize;margin:1px}.mceContentBody .mce-resizehandle-nw{cursor:nw-resize}.mceContentBody .mce-resizehandle-sw{cursor:sw-resize;margin:1px -1px}.mceContentBody .mce-clonedresizable{position:absolute;outline:#000 dashed 1px;opacity:.5;z-index:10000}.mceContentBody .mce-resize-helper{background-color:#555;background-color:rgba(0,0,0,.75);border-radius:3px;border:1px;color:#fff;display:none;font-family:sans-serif;font-size:12px;white-space:nowrap;line-height:14px;margin:5px 10px;padding:5px;position:absolute;z-index:10001}.mceContentBody img::selection{background-color:#b4d4ff}.mceContentBody .mce-visual-caret{position:absolute;background-color:currentcolor}.mceContentBody .mce-visual-caret-hidden{display:none}.mceContentBody [data-mce-caret]{position:absolute;left:-1000px;right:auto;top:0;margin:0;padding:0}.mceContentBody .mce-offscreen-selection{position:absolute;left:-9999999999px;max-width:1000000px}.mceContentBody [contentEditable=false]:not([data-mce-object]){cursor:default;max-width:99.8%}.mceContentBody [contentEditable=true]{cursor:text}.mceContentBody [contentEditable=false][data-mce-selected]{outline:#2d8ac7 solid 2px;outline:var(--mce-control-selection) solid 2px}body.mceContentReset{background:#fff!important;color:#000!important}body.mceContentReset ::selection{background:#ccc;color:#000}body.mceContentReset a,body.mceContentReset a:link{color:#00E}body.mceContentReset a:visited{color:#551A8B}body.mceContentReset a:active{color:#E00}body.mceContentReset h1,body.mceContentReset h2,body.mceContentReset h3,body.mceContentReset h4,body.mceContentReset h5,body.mceContentReset h6,body.mceContentReset p,body.mceContentReset td,body.mceContentReset th{color:#000}body.mceContentReset[dir=ltr]{text-align:left!important}[data-mce-root]{display:block}h1{font-size:2em}h2{font-size:1.5em}h3{font-size:1.17em}h4{font-size:1em}h5{font-size:.83em}h6{font-size:.75em}.mce-item-table caption,.mce-item-table td,.mce-item-table tr,.mce-item-table:not([border]),.mce-item-visualaid{border:1px dashed #757575;border-color:var(--mce-guidelines);border-collapse:separate;border-spacing:1px}span.mce-item-nbsp,span.mce-item-shy{background-color:linear-gradient(to bottom,var(--mce-visualchars),var(--mce-visualchars))}span.mce-item-shy:after{content:"▪︎";color:var(--mce-guidelines)}span.mce-item-shy img{border:0}.mce-item-anchor,hr,img,table{cursor:default}table{width:100%}table td,table th{cursor:text}ins{border-bottom:1px solid green;text-decoration:none;color:green}del{color:red;text-decoration:line-through}cite{border-bottom:1px dashed #00f}acronym{border-bottom:1px dotted #CCC;cursor:help}abbr{border-bottom:1px dashed #CCC;cursor:help}img:-moz-broken{-moz-force-broken-image-icon:1;width:24px;height:24px}font[face=mceinline]{font-family:inherit!important}[contentEditable]:focus{outline:0}span[data-mce-type=bookmark],span[data-mce-type=caret]{font-size:0;line-height:0}pre.mcePreformatted{margin:0;padding:0}[_moz_editor_bogus_node]{display:none}.mce-match-marker{background-color:#aaa;color:#fff}.mce-match-marker-selected{background-color:#1e88e5;background-color:var(--mce-control-selection);color:#fff}figure{display:table;margin-block-start:inherit;margin-block-end:inherit;margin-inline-start:inherit;margin-inline-end:inherit}figure figcaption{display:block;caption-side:bottom}figure figcaption:empty::after{content:"...";text-align:center;display:inline-block;width:100%;color:#757575;color:var(--mce-guidelines);pointer-events:none}figure figcaption:empty[data-mce-empty]::after{content:attr(data-mce-empty)}.mceNonEditable{cursor:not-allowed;position:relative;padding:.25rem}.mceEditable{cursor:initial}[data-mce-selected=inline-boundary]{background-color:#b4d7ff}.mce-item-hidden-spellword{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:red}.mce-item-hidden-grammar{text-decoration-line:underline;text-decoration-style:wavy;text-decoration-color:#add8e6}.mce-item-hidden-ins{border-bottom:1px solid green;text-decoration:none;color:green}.mce-item-hidden-del{color:red;text-decoration:line-through}.mceContentBody img:not([data-mce-selected]){padding-right:1pt}a.mce-item-anchor{width:11px!important;height:11px!important;background-image:url(img/anchor.svg);background-repeat:no-repeat;background-position:left center;background-size:12px;padding-left:14px;border:1px dashed #B4D4FF;text-decoration:none;font-weight:400;color:inherit;vertical-align:middle;-ms-user-select:all;-ms-user-modify:read-only;user-select:all;user-modify:read-only;-webkit-user-select:all;-webkit-user-modify:read-only;-moz-user-select:all;-moz-user-modify:read-only}a.mce-item-anchor::selection{background-color:#b4d4ff}a.mce-item-anchor.mce-item-selected{background-color:#b4d4ff}hr[class].mce-item-pagebreak,hr[class].mce-item-readmore{display:inline-block;padding:0 2px;margin:0;border:1px dashed #ccc;background-color:#fafafa;background-repeat:no-repeat;background-size:16px;background-position:center;height:20px;width:99%;font-size:0;line-height:0;letter-spacing:normal;word-spacing:normal;cursor:pointer;opacity:inherit}hr[class].mce-item-pagebreak.mce-item-selected,hr[class].mce-item-readmore.mce-item-selected{background-color:#d9edf7;border-color:#31708f}hr[class].mce-item-readmore{background-image:url(img/readmore.svg);clear:both}hr[class].mce-item-pagebreak{background-image:url(img/pagebreak.svg);clear:both}hr[class].mce-item-pagebreak:after{content:attr(title);color:#444;font-size:12px;line-height:20px;padding:0 5px;display:block;float:left}img.mce-object{border:1.5px dashed #707070}img.mce-object.mce-object-img{background-image:url(img/picture.svg);background-size:16px}.mceContentBody span[data-mce-code=php]:not([data-mce-type=placeholder]),.mceContentBody span[data-mce-code=shortcode]:not([data-mce-type=placeholder]){font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:14px;color:#444;background-color:#fafafa;background-color:var(--mce-placeholder);margin:2px 0;padding:2px;border:1px dashed #787679;border-color:var(--mce-guidelines);line-height:1;vertical-align:middle;max-width:inherit}.mceContentBody span[data-mce-code=php]:not([data-mce-type=placeholder]){background-color:#E2E4EF;color:#4F5B93}.mceContentBody div[data-mce-code],.mceContentBody pre[data-mce-code]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-decoration:none;cursor:inherit;vertical-align:baseline;border-collapse:separate;text-align:left;box-sizing:border-box;float:none;outline:0;position:relative;-webkit-border-radius:0;-moz-border-radius:0;text-transform:inherit;font-style:normal;letter-spacing:normal;box-shadow:inherit;transition:inherit;border:1px solid #787679;border-color:var(--mce-guidelines);width:100%;min-height:2rem;border-radius:0;background-color:#fff;overflow-y:auto;padding:8px;white-space:pre-wrap;word-wrap:normal;word-break:normal;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:14px;color:#444}.mceContentBody div[data-mce-code] textarea,.mceContentBody pre[data-mce-code] textarea{resize:none;width:100%;height:100%;border:none;background:0 0;padding:.5rem;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:14px;color:#444;line-height:1}.mceContentBody div[data-mce-code] textarea:focus,.mceContentBody pre[data-mce-code] textarea:focus{outline:0}.mceContentBody div[data-mce-code].mce-code-toggle,.mceContentBody pre[data-mce-code].mce-code-toggle{height:28px;overflow:hidden}.mceContentBody.mceVisualBlocks div[data-mce-code],.mceContentBody.mceVisualBlocks pre[data-mce-code]{border:1px solid #787679;border-color:var(--mce-guidelines);padding:8px}.mceContentBody div[data-mce-code]:before,.mceContentBody pre[data-mce-code]:before{display:block;position:inherit;content:attr(data-mce-code);background-color:#fafafa;background-color:var(--mce-placeholder);padding:4px;line-height:1;width:4rem;text-align:center;left:-8px;top:-8px;font-family:-apple-systrem,BlinkMacSystremFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;font-size:10px;font-weight:700;color:#787679;color:var(--mce-guidelines)}.mceContentBody img[data-mce-code],img.mce-object{background-position:center;background-repeat:no-repeat;background-color:#fafafa}.mceContentBody div[data-mce-code]:after,.mceContentBody pre[data-mce-code]:after{font-size:1.5em;color:#787679;color:var(--mce-guidelines);padding:0;margin:0;line-height:1.5em;width:32px;height:32px;cursor:pointer;position:absolute;display:flex;align-items:center;justify-content:center;right:0;top:0;content:"\25B4"}.mceContentBody pre[data-mce-code=php]:before,.mceContentBody.mceVisualBlocks pre[data-mce-code=php]:before{color:#4F5B93;background-color:#E2E4EF}.mceContentBody pre[data-mce-code].mce-code-toggle:after{content:"\25BE";height:26px}.mceContentBody img[data-mce-code]{display:block;position:inherit;background-color:var(--mce-placeholder);width:2.5rem;height:1.5rem;margin:1px 0;cursor:pointer;box-sizing:border-box}.mceContentBody img[data-mce-code][data-mce-selected]{border:1px solid #39f;border-color:var(--mce-control-selection)}.mceContentBody img[data-mce-code=php]{display:inline-block;background-image:url(img/code/php.svg);background-color:#E2E4EF}.mceContentBody img[data-mce-code=style]{background-image:url(img/code/style.svg)}.mceContentBody img[data-mce-code=script]{background-image:url(img/code/script.svg)}.mceContentBody img[data-mce-code=xml]{background-image:url(img/code/xml.svg)}.mceContentBody span[data-mce-code=php],.mceContentBody span[data-mce-code=shortcode]{display:inline-block}.mceContentBody span[data-mce-code=php]:not([data-mce-type=placeholder]):before,.mceContentBody span[data-mce-code=shortcode]:not([data-mce-type=placeholder]):before{content:"";display:none}.mceContentBody.mceVisualBlocks pre[data-mce-code]:before{content:attr(data-mce-code);width:6em;padding:8px;font-size:10px;line-height:1;text-align:center;margin:0}.mceContentBody.mceVisualBlocks pre[data-mce-label]:before{content:attr(data-mce-label)}img.mce-object{outline:#ccc dashed 1.5px;border-color:var(--mce-guidelines);background-size:16px;background-color:var(--mce-placeholder)}img.mce-object.mce-object-generic{min-width:50px;min-height:50px}img.mce-object.mce-object-embed,img.mce-object.mce-object-generic,img.mce-object.mce-object-object{background-image:url(img/media/generic.svg)}img.mce-object.mce-object-shockwave{background-image:url(img/media/shockwave.svg)}img.mce-object.mce-object-flash{background-image:url(img/media/swf.svg)}img.mce-object.mce-object-quicktime{background-image:url(img/media/quicktime.svg)}img.mce-object.mce-object-divx,img.mce-object.mce-object-silverlight{background-image:url(img/media/video.svg)}img.mce-object.mce-object-pdf,img.mce-object[data-mce-p-type="application/pdf"]{background-image:url(img/media/pdf.svg)}img.mce-object[data-mce-p-data$=".doc"],img.mce-object[data-mce-p-data$=".docx"]{background-image:url(img/media/word.svg)}img.mce-object[data-mce-p-data$=".xls"],img.mce-object[data-mce-p-data$=".xlsx"]{background-image:url(img/media/excel.svg)}img.mce-object.mce-object-iframe{background-image:url(img/media/iframe.svg);background-size:256px}img.mce-object.mce-object-audio{background-image:url(img/media/audio.svg);min-width:300px;height:54px}img.mce-object.mce-object-audio.mce-object-agent-gecko{min-width:270px;height:40px}img.mce-object.mce-object-audio.mce-object-agent-safari{min-width:250px;height:31px}img.mce-object.mce-object-video{background-image:url(img/media/video.svg);background-size:16px}.mce-object-preview{background-color:#fafafa;background-color:var(--mce-placeholder);box-sizing:content-box;display:inline-block;position:relative;max-width:100%;height:auto;line-height:0;cursor:not-allowed;outline:initial!important;margin:0 2px;border:1px solid #ccc;border-color:var(--mce-guidelines);font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:12px}.mce-object-preview.mce-object-preview-center{display:block;margin:0 auto}.mce-object-preview.mce-object-preview-left{float:left}.mce-object-preview.mce-object-preview-right{float:right}.mce-object-preview[data-mce-selected]{border:2px solid #39f;border-color:var(--mce-control-selection);background-color:#fafafa;background-color:var(--mce-placeholder);outline:0!important}.mce-object-preview[data-mce-selected]::after{display:none}.mce-object-preview audio,.mce-object-preview iframe,.mce-object-preview video{z-index:5;width:100%;height:100%;border:0}.mce-object-preview::after{content:attr(aria-details);left:1px;top:calc(50% - 2em);position:absolute;color:#fff;background:rgba(0,0,0,.3);height:4em;width:calc(100% - 2px);line-height:4;text-align:center;z-index:1;box-sizing:border-box;pointer-events:none;display:flex;justify-content:center;align-items:center}.mce-object-preview audio.mce-object-audio{min-width:300px;height:54px}.mce-object-preview audio.mce-object-agent-gecko{min-width:270px;height:40px}.mce-object-preview audio.mce-object-agent-safari{min-width:250px;height:31px}.mce-object-preview.mce-object-audio::after{font-size:.75em;line-height:1}.mce-object-shim{background:url(data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7) rgba(0,0,0,.5);height:100%;left:0;position:absolute;top:0;width:100%;z-index:1;display:block}[data-mce-object]{display:inline-block}[data-mce-selected].mce-object-preview:not(.mce-resizing) .mce-object-shim{display:none}.mce-item-hiddenspellword{background:url(../img/wline.gif) bottom left repeat-x;cursor:default}.mce-item-upload{border:1.5px dashed #ccc;border-color:var(--mce-guidelines);background-color:#fafafa;background-color:var(--mce-placeholder);background-repeat:no-repeat;background-position:center;max-width:600px;max-height:600px;display:inline-block}.mce-item-upload:after{content:"";display:block;border:.25rem solid rgba(0,0,0,.1);border-left-color:#888;border-radius:50%;width:32px;height:32px;animation:donut-spin 1.2s linear infinite;z-index:10001;position:absolute;top:50%;left:50%;margin:-16px 0 0 -16px;box-sizing:border-box}.mce-item-upload.mce-item-upload-marker{background-image:url(../img/picture.svg);background-repeat:no-repeat;background-size:24px;background-color:#fafafa;background-color:var(--mce-placeholder);min-width:240px;min-height:240px;max-width:100%;max-height:100%}.mce-item-upload.mce-item-upload-marker[data-progress]{background-image:none}.mce-item-upload.mce-item-upload-marker[data-progress]:before{content:attr(data-progress);display:block;width:32px;height:32px;z-index:10001;position:absolute;top:calc(50% - 16px);left:calc(50% - 16px);font-size:12px;text-align:center;line-height:32px;color:var(--mce-guidelines);font-family:apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif}@keyframes donut-spin{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.mceVisualBlocks address,.mceVisualBlocks article,.mceVisualBlocks aside,.mceVisualBlocks blockquote,.mceVisualBlocks dd,.mceVisualBlocks details,.mceVisualBlocks div:not([class*=mce-]):not([class*=wf-]):not([data-mce-type]),.mceVisualBlocks dl,.mceVisualBlocks dt,.mceVisualBlocks figure,.mceVisualBlocks footer,.mceVisualBlocks h1,.mceVisualBlocks h2,.mceVisualBlocks h3,.mceVisualBlocks h4,.mceVisualBlocks h5,.mceVisualBlocks h6,.mceVisualBlocks header,.mceVisualBlocks main,.mceVisualBlocks nav,.mceVisualBlocks ol,.mceVisualBlocks p,.mceVisualBlocks pre:not([class*=language-]),.mceVisualBlocks section,.mceVisualBlocks summary,.mceVisualBlocks ul{margin:2px 0;padding:2px;border:1px dashed #787679;border-color:var(--mce-guidelines);box-sizing:border-box}.mceVisualBlocks figcaption{border:1px dashed #787679;border-color:var(--mce-guidelines);padding:5px;margin:2px 0}.mceVisualBlocks dd,.mceVisualBlocks dt{margin-bottom:2px}.mceVisualBlocks ol,.mceVisualBlocks ul{padding:5px 40px}.mceVisualBlocks address:before,.mceVisualBlocks article:before,.mceVisualBlocks aside:before,.mceVisualBlocks blockquote:before,.mceVisualBlocks dd:before,.mceVisualBlocks details:before,.mceVisualBlocks div:not([class*=mce-]):not([class*=wf-]):not([data-mce-type]):before,.mceVisualBlocks dl:before,.mceVisualBlocks dt:before,.mceVisualBlocks figure:before,.mceVisualBlocks footer:before,.mceVisualBlocks h1:before,.mceVisualBlocks h2:before,.mceVisualBlocks h3:before,.mceVisualBlocks h4:before,.mceVisualBlocks h5:before,.mceVisualBlocks h6:before,.mceVisualBlocks header:before,.mceVisualBlocks main:before,.mceVisualBlocks nav:before,.mceVisualBlocks ol:before,.mceVisualBlocks p:before,.mceVisualBlocks pre:not([class*=language-]):before,.mceVisualBlocks section:before,.mceVisualBlocks summary:before,.mceVisualBlocks ul:before{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;border:0;white-space:nowrap;text-decoration:none;cursor:inherit;vertical-align:baseline;border-collapse:separate;text-align:left;box-sizing:border-box;float:none;outline:0;position:relative;border-radius:0;-webkit-border-radius:0;-moz-border-radius:0;text-transform:inherit;font-style:normal;letter-spacing:normal;display:block;font-weight:700;font-size:7pt;color:#787679;color:var(--mce-guidelines);padding:4px 0;margin:2px 0;line-height:0;font-family:-apple-systrem,BlinkMacSystremFont,"Segoe UI",Roboto,Oxygen-Sans,Ubuntu,Cantarell,"Helvetica Neue",Arial,sans-serif;width:100%}.mceVisualBlocks p:before{content:"P"}.mceVisualBlocks h1:before{content:"H1"}.mceVisualBlocks h2:before{content:"H2"}.mceVisualBlocks h3:before{content:"H3"}.mceVisualBlocks h4:before{content:"H4"}.mceVisualBlocks h5:before{content:"H5"}.mceVisualBlocks h6:before{content:"H6"}.mceVisualBlocks div:not([class*=mce-]):not([class*=wf-]):not([data-mce-type]):before{content:"DIV"}.mceVisualBlocks section:before{content:"SECTION"}.mceVisualBlocks article:before{content:"ARTICLE"}.mceVisualBlocks header:before{content:"HEADER"}.mceVisualBlocks footer:before{content:"FOOTER"}.mceVisualBlocks nav:before{content:"NAV"}.mceVisualBlocks main:before{content:"MAIN"}.mceVisualBlocks details:before{content:"DETAILS"}.mceVisualBlocks summary:before{content:"SUMMARY"}.mceVisualBlocks blockquote:before{content:"BLOCKQUOTE"}.mceVisualBlocks pre:not([class*=language-]):before{content:"PRE"}.mceVisualBlocks ul:before{content:"UL";left:-38px}.mceVisualBlocks ol:before{content:"OL";left:-38px}.mceVisualBlocks dl:before{content:"DL"}.mceVisualBlocks dt:before{content:"DT"}.mceVisualBlocks dd:before{content:"DD"}.mceVisualBlocks address:before{content:"ADDRESS"}.mceVisualBlocks aside:before{content:"ASIDE"}.mceVisualBlocks figure:before{content:"FIGURE"}themes/advanced/skins/default/ui_touch.css000060400000003612152456730070014711 0ustar00.mceDefaultSkinTouch .mceToolbar{background-color:#f5f5f5}.mceDefaultSkinTouch .mceLayout div:first-child,.mceDefaultSkinTouch .mceLayout div:last-child{background-color:#f5f5f5;border-color:#dcdcdc}.mceDefaultSkinTouch .mceIframeContainer{border-color:#dcdcdc}.mceDefaultSkinTouch .mceToolbar .mceButton{padding:9px;border-color:#dcdcdc;background-color:#fafafa}.mceDefaultSkinTouch .mceToolbar .mceListBox .mceText{line-height:40px;height:40px;border-color:#dcdcdc}.mceDefaultSkinTouch .mceToolbar .mceListBox .mceOpen,.mceDefaultSkinTouch .mceToolbar .mceSplitButton .mceOpen{height:40px;border-color:#dcdcdc;width:18px;background-color:#fafafa}.mceDefaultSkinTouch .mceToolbar .mceSplitButton .mceText{border-color:#dcdcdc;width:40px;height:40px;background-color:#fafafa}.mceDefaultSkinTouch .mceToolbar .mceListBox .mceOpen::after,.mceDefaultSkinTouch .mceToolbar .mceSplitButton .mceOpen::after{line-height:40px}.mceDefaultSkinTouch .mceToolbar .mceButtonActive,.mceDefaultSkinTouch .mceToolbar .mceButtonEnabled:hover,.mceDefaultSkinTouch .mceToolbar .mceButtonSelected{background-color:#E1F5FE;border-color:#81D4FA}.mceDefaultSkinTouch .mceToolbar .mceColorSplitMenu .mceMoreColors:hover{border-color:#81D4FA;background-color:#E1F5FE}.mceDefaultSkinTouch .mceToolbar .mceMenu .mceMenuItemActive,.mceDefaultSkinTouch .mceToolbar .mceMenu .mceMenuItemEnabled button:hover{background-color:#E1F5FE}.mceDefaultSkinTouch .mceToolbar .mceTableSplitMenu{width:135px}.mceDefaultSkinTouch .mceToolbar .mceTableSplitMenu table{padding:2px}.mceDefaultSkinTouch .mceToolbar .mceTableSplitMenu td{border-color:#dcdcdc}.mceDefaultSkinTouch .mceToolbar .mceTableSplitMenu .selected{background-color:#E1F5FE;border-color:#81D4FA}.mceDefaultSkinTouch .mceToolbar .mceSeparator{height:40px;background:#dcdcdc}.mceDefaultSkinTouch .mceSplitButtonDisabled .mceOpen:after{color:#dcdcdc}.mceDefaultSkinTouch .mceToolbar .mceTextBox{height:40px}themes/advanced/skins/o2k7/content.css000060400000000107152456730070013676 0ustar00@import url(../default/content.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);themes/advanced/skins/o2k7/ui_silver.css000060400000005406152456730070014234 0ustar00.mceO2k7SkinSilver .mceLayout{border-left:1px solid #bbb;border-right:1px solid #bbb}.mceO2k7SkinSilver .mceIframeContainer{border-top:1px solid #bbb;border-bottom:1px solid #bbb}.mceO2k7SkinSilver .mceStatusbar,.mceO2k7SkinSilver .mceToolbar{background:#eee}.mceO2k7Skin .mceListBox,.mceO2k7SkinSilver .mceToolbarRow .mceButton,.mceO2k7SkinSilver .mceToolbarRow .mceButton.mceButtonDisabled:hover,.mceO2k7SkinSilver .mceToolbarRow .mceSplitButton{background:linear-gradient(to bottom,rgba(255,255,255,1) 0,rgba(221,221,221,1) 51%,rgba(255,255,255,1) 100%)}.mceO2k7SkinSilver.mceListBoxMenu .mceMenu{border-color:#bbb}.mceO2k7SkinSilver .mceToolbarRow .mceButton{border-color:#bbb #eee #bbb #bbb}.mceO2k7SkinSilver .mceToolbarRow .mceButton:active,.mceO2k7SkinSilver .mceToolbarRow .mceButton:hover,.mceO2k7SkinSilver .mceToolbarRow .mceButtonActive,.mceO2k7SkinSilver .mceToolbarRow .mceButtonSelected{border-color:#FFD24E}.mceO2k7SkinSilver .mceToolbarRow .mceButtonDisabled:hover{border-color:#bbb #eee #bbb #bbb}.mceO2k7Skin .mceLinkMenu .mceMenuHtml input,.mceO2k7SkinSilver .mcePanel,.mceO2k7SkinSilver .mcePanel::before,.mceO2k7SkinSilver .mceSeparator,.mceO2k7SkinSilver .mceToolbarEnd,.mceO2k7SkinSilver .mceToolbarRow .mceListBox .mceOpen,.mceO2k7SkinSilver .mceToolbarRow .mceListBox .mceText,.mceO2k7SkinSilver .mceToolbarRow .mceListBoxDisabled .mceListBox:hover .mceOpen,.mceO2k7SkinSilver .mceToolbarRow .mceListBoxDisabled .mceListBox:hover .mceText,.mceO2k7SkinSilver .mceToolbarRow .mceSplitButton .mceOpen,.mceO2k7SkinSilver .mceToolbarRow .mceSplitButton .mceText,.mceO2k7SkinSilver .mceToolbarRow .mceSplitButtonDisabled .mceSplitButton:hover .mceOpen,.mceO2k7SkinSilver .mceToolbarRow .mceSplitButtonDisabled .mceSplitButton:hover .mceText,.mceO2k7SkinSilver .mceToolbarRow .mceSplitButtonMenu,.mceO2k7SkinSilver .mceToolbarStart{border-color:#bbb}.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItem:last-child .mceButton,.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItem:last-child .mceButton:hover{border-right-width:1px;border-radius:0 2px 2px 0;border-right-color:#bbb}.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItemEnd .mceButton,.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItemEnd .mceSplitButton .mceOpen{border-right-color:#bbb}.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItemStart .mceButton,.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItemStart .mceSplitButton .mceText{border-left-color:#bbb}.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItem:last-child .mceButton,.mceO2k7SkinSilver .mceToolbarRow .mceToolbarItem:last-child .mceButton:hover,.mceO2k7SkinSilver .mceToolbarRow>button:last-child,.mceO2k7SkinSilver .mceToolbarRow>button:last-child:hover{border-right-color:#bbb}.mceO2k7SkinSilver .mcePanel{background-color:#eee}.mceO2k7SkinSilver .mcePanel::before{background-color:#fff}themes/advanced/skins/o2k7/ui.css000060400000014124152456730070012645 0ustar00.mceO2k7Skin .mceStatusbar,.mceO2k7Skin .mceToolbar{background:#E5EFFD}.mceO2k7Skin .mceLayout{border-left:1px solid #ABC6DD;border-right:1px solid #ABC6DD}.mceO2k7Skin .mceIframeContainer{border-top:1px solid #ABC6DD;border-bottom:1px solid #ABC6DD}.mceO2k7Skin .mceToolbarRow .mceToolbarItem{margin:1px 0;border:0;height:auto}.mceO2k7Skin .mceToolbarRow .mceListBox .mceOpen,.mceO2k7Skin .mceToolbarRow .mceListBox .mceText,.mceO2k7Skin .mceToolbarRow .mceSplitButton .mceOpen,.mceO2k7Skin .mceToolbarRow .mceSplitButton .mceText{border-radius:0;border-color:#9FBBE2}.mceO2k7Skin .mceToolbarRow .mceToolbarItem:last-child .mceButton:last-child,.mceO2k7Skin .mceToolbarRow .mceToolbarItem:last-child .mceButton:last-child:hover,.mceO2k7Skin .mceToolbarRow>button:last-child,.mceO2k7Skin .mceToolbarRow>div:last-child{border-right-width:1px;border-right-color:#9FBBE2;border-radius:0 2px 2px 0}.mceO2k7Skin .mceToolbarRow .mceToolbarItemListBox{margin:1px}.mceO2k7Skin.mceListBoxMenu .mceMenu{border-color:#ABC6DD}.mceO2k7Skin .mceToolbarItem{margin:1px -1px}.mceO2k7Skin .mceToolbarRow .mceButton{margin:0;border-left-width:0;border-color:#9FBBE2 #E0E9F6 #9FBBE2 #9FBBE2;border-radius:0;-moz-border-radius:0;-webkit-border-radius:0}.mceO2k7Skin .mceToolbarRow>button,.mceO2k7Skin .mceToolbarRow>div{margin:1px 0}.mceO2k7Skin .mceToolbarRow .mceButton,.mceO2k7Skin .mceToolbarRow .mceListBox,.mceO2k7Skin .mceToolbarRow .mceSplitButton{background:linear-gradient(to bottom,rgba(229,239,253,1) 0,rgba(193,212,238,1) 50%,rgba(229,239,253,1) 100%)}.mceO2k7Skin .mceToolbarRow .mceButton:active,.mceO2k7Skin .mceToolbarRow .mceButton:hover,.mceO2k7Skin .mceToolbarRow .mceButtonActive,.mceO2k7Skin .mceToolbarRow .mceButtonSelected{border-color:#FFD24E;background-color:#FFD24E;border-left-width:0}.mceO2k7Skin .mceToolbarRow .mceButton.mceButtonActive,.mceO2k7Skin .mceToolbarRow .mceButton.mceButtonSelected,.mceO2k7Skin .mceToolbarRow .mceButton:active,.mceO2k7Skin .mceToolbarRow .mceButton:hover,.mceO2k7Skin .mceToolbarRow .mceButtonEnabled:hover,.mceO2k7Skin .mceToolbarRow .mceSplitButton:active,.mceO2k7Skin .mceToolbarRow .mceSplitButtonSelected .mceSplitButton{background:linear-gradient(to bottom,rgba(254,246,202,1) 0,rgba(255,211,78,1) 50%,rgba(255,251,233,1) 100%)}.mceO2k7Skin .mceToolbarRow .mceButton.mceButtonDisabled:hover{background:linear-gradient(to bottom,rgba(229,239,253,1) 0,rgba(193,212,238,1) 50%,rgba(229,239,253,1) 100%)}.mceO2k7Skin .mceToolbarRow .mceSplitButton:hover .mceOpen,.mceO2k7Skin .mceToolbarRow .mceSplitButton:hover .mceText,.mceO2k7Skin .mceToolbarRow .mceSplitButtonSelected .mceSplitButton .mceOpen,.mceO2k7Skin .mceToolbarRow .mceSplitButtonSelected .mceSplitButton .mceText{background:linear-gradient(to bottom,rgba(254,246,202,1) 0,rgba(255,211,78,1) 50%,rgba(255,251,233,1) 100%);border-color:#FFD24E}.mceO2k7Skin .mceToolbarRow .mceListBox.mceListBoxSelected .mceOpen,.mceO2k7Skin .mceToolbarRow .mceListBox.mceListBoxSelected .mceText,.mceO2k7Skin .mceToolbarRow .mceListBox:hover .mceOpen,.mceO2k7Skin .mceToolbarRow .mceListBox:hover .mceText{border-color:#FFD24E}.mceO2k7Skin .mceToolbarRow .mceListBox.mceListBoxSelected .mceOpen,.mceO2k7Skin .mceToolbarRow .mceListBox:hover .mceOpen{background:linear-gradient(to bottom,rgba(254,246,202,1) 0,rgba(255,211,78,1) 50%,rgba(255,251,233,1) 100%)}.mceO2k7Skin .mceToolbarRow .mceSplitButtonDisabled .mceSplitButton:hover .mceOpen,.mceO2k7Skin .mceToolbarRow .mceSplitButtonDisabled .mceSplitButton:hover .mceText{background:inherit;border-color:#9FBBE2}.mceO2k7Skin .mceToolbarRow .mceListBoxDisabled .mceListBox:hover .mceOpen,.mceO2k7Skin .mceToolbarRow .mceListBoxDisabled .mceListBox:hover .mceText{border-color:#9FBBE2}.mceO2k7Skin .mceToolbarRow .mceListBoxDisabled .mceListBox:hover .mceOpen{background:inherit}.mceO2k7Skin .mceToolbarRow .mceToolbarItem:first-child{margin-left:2px;border-radius:2px 0 0 2px}.mceO2k7Skin .mceToolbarRow .mceToolbarItem:first-child .mceButton:first-child,.mceO2k7Skin .mceToolbarStart .mceToolbarItem:first-child .mceButton:first-child:hover{border-left-width:1px;border-radius:2px 0 0 2px}.mceO2k7Skin .mceToolbarRow>button:first-child,.mceO2k7Skin .mceToolbarRow>div:first-child{border-left-width:1px;margin-left:2px;border-radius:2px 0 0 2px}.mceO2k7Skin .mceToolbarRow .mceToolbarItemListBox+.mceToolbarItemListBox,.mceO2k7Skin .mceToolbarRow .mceToolbarItemStart{margin-left:1px}.mceO2k7Skin .mceToolbarRow .mceToolbarItem:last-child{border-radius:0 2px 2px 0}.mceO2k7Skin .mceToolbarRow .mceToolbarItemEnd{margin-right:1px}.mceO2k7Skin .mceToolbarRow .mceToolbarItemEnd .mceButton,.mceO2k7Skin .mceToolbarRow .mceToolbarItemEnd .mceSplitButton .mceOpen{border-right-color:#ABC6DD}.mceO2k7Skin .mceToolbarRow .mceToolbarItemEnd .mceSplitButton .mceOpen{border-right-width:1px}.mceO2k7Skin .mceToolbarRow .mceToolbarItemStart .mceButton,.mceO2k7Skin .mceToolbarRow .mceToolbarItemStart .mceSplitButton .mceText{border-left-color:#ABC6DD;border-left-width:1px}.mceO2k7Skin .mceSeparator{width:2px}.mceO2k7Skin .mceSeparator,.mceO2k7Skin .mceToolbarEnd,.mceO2k7Skin .mceToolbarStart{border-width:0 1px;border-style:solid;border-color:#9FBBE2;margin:0 0 0 -2px;height:32px;background:0 0}.mceO2k7Skin .mceToolbarEnd{border-left-width:1px;width:2px;border-right-width:0;box-sizing:border-box}.mceO2k7Skin .mceToolbarStart{border-width:0 0 0 1px;box-sizing:border-box}.mceO2k7Skin .mceToolbarRow .mceSplitButton .mceText{border-left-width:0}.mceO2k7Skin .mceToolbarRow .mceSplitButton button.mceAction{border-width:1px 0}.mceO2k7Skin .mceToolbarRow .mceListBox .mceOpen:hover{border-color:#FFD24E}.mceO2k7Skin .mceToolbarRow .mceSplitButtonMenu{border-color:#9FBBE2}.mceO2k7Skin .mceToolbarRow .mceSplitButton{margin:0}.mceO2k7Skin .mceToolbarRow .mceSplitButtonDisabled .mceAction{opacity:.3}.mceO2k7Skin .mcePanel{background-color:#E5EFFD;border-color:#ABC6DD;left:0}.mceO2k7Skin .mcePanel::before{background-color:#E5EFFD;border-color:#ABC6DD;height:5px;left:-1px;top:-5px}.mceO2k7Skin .mceToolbarRow .mceColorSplitMenu .mceMoreColors button:hover{border-color:#E0E9F6;background-color:#FFD24E}.mceO2k7Skin .mceLinkMenu .mceMenuHtml input{border-color:#9FBBE2;border-radius:2px 0 0 2px}themes/advanced/skins/o2k7/ui_black.css000060400000006647152456730070014014 0ustar00.mceO2k7SkinBlack .mceLayout{border-left:1px solid #535353;border-right:1px solid #535353}.mceO2k7SkinBlack .mceIframeContainer{border-top:1px solid #535353;border-bottom:1px solid #535353}.mceO2k7SkinBlack .mceStatusbar,.mceO2k7SkinBlack .mceToolbar{background:#535353}.mceO2k7SkinBlack .mceLayout .mceFirst{border-top-color:#535353}.mceO2k7SkinBlack .mceLayout .mceLast{border-bottom-color:#535353}.mceO2k7SkinBlack .mceStatusbar .mcePathRow button,.mceO2k7SkinBlack .mceStatusbar .mcePathRow span,.mceO2k7SkinBlack .mceStatusbar div,.mceO2k7SkinBlack .mceWordCount .mceText{color:#fff}.mceO2k7SkinBlack.mceListBoxMenu .mceMenu{border-color:#535353}.mceO2k7SkinBlack .mceToolbarRow .mceButton,.mceO2k7SkinBlack .mceToolbarRow .mceButtonDisabled:hover{border-bottom-color:#989FA9;background:#535353;border-right-color:transparent;border-top-color:#CBCFD4}.mceO2k7SkinBlack .mceToolbarRow .mceButton,.mceO2k7SkinBlack .mceToolbarRow .mceButton.mceButtonDisabled:hover,.mceO2k7SkinBlack .mceToolbarRow .mceListBox .mceOpen,.mceO2k7SkinBlack .mceToolbarRow .mceSplitButton{background:linear-gradient(to bottom,rgba(203,207,212,1) 0,rgba(152,159,169,1) 100%)}.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItem:first-child .mceButton,.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItem:first-child .mceButton:hover{border-left-width:1px;border-radius:2px 0 0 2px;border-left-color:#B0B6BE}.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItem:last-child .mceButton,.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItem:last-child .mceButton:hover,.mceO2k7SkinBlack .mceToolbarRow>button:last-child,.mceO2k7SkinBlack .mceToolbarRow>button:last-child:hover{border-right-width:1px;border-radius:0 2px 2px 0;border-right-color:#B0B6BE}.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItemEnd .mceButton,.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItemEnd .mceSplitButton .mceOpen{border-right-color:#B0B6BE}.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItemStart .mceButton,.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItemStart .mceSplitButton .mceText{border-left-color:#B0B6BE}.mceO2k7SkinBlack .mceToolbarRow .mceListBoxDisabled .mceListBox:hover .mceOpen,.mceO2k7SkinBlack .mceToolbarRow .mceListBoxDisabled .mceListBox:hover .mceText,.mceO2k7SkinBlack .mceToolbarRow .mceSplitButtonDisabled .mceSplitButton:hover .mceOpen,.mceO2k7SkinBlack .mceToolbarRow .mceSplitButtonDisabled .mceSplitButton:hover .mceText{border-color:#CBCFD4 transparent #989FA9 #B0B6BE}.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItem:last-child .mceButton:last-child,.mceO2k7SkinBlack .mceToolbarRow .mceToolbarItem:last-child .mceButton:last-child:hover{border-right-color:transparent}.mceO2k7SkinBlack .mceSeparator,.mceO2k7SkinBlack .mceToolbarEnd,.mceO2k7SkinBlack .mceToolbarStart{border-color:#B0B6BE;background:#535353}.mceO2k7SkinBlack .mceToolbarRow .mceSplitButton .mceOpen,.mceO2k7SkinBlack .mceToolbarRow .mceSplitButton .mceText{border-color:#CBCFD4 transparent #989FA9}.mceO2k7SkinBlack .mceToolbarRow .mceSplitButton .mceOpen{border-left-color:#B0B6BE}.mceO2k7SkinBlack .mceToolbarRow .mceListBox .mceOpen,.mceO2k7SkinBlack .mceToolbarRow .mceListBox .mceText{border-color:#B0B6BE}.mceO2k7SkinBlack .mceToolbarRow .mceSplitButtonMenu{border-color:#535353}.mceO2k7SkinBlack .mcePanel{background-color:#535353;border-color:#535353}.mceO2k7SkinBlack .mcePanel::before{background-color:#B0B6BE;border-color:#535353}.mceO2k7Skin .mceSplitButtonMenu{border-color:#535353}.mceO2k7Skin .mceLinkMenu .mceMenuHtml input{border-color:#989FA9}themes/advanced/skins/o2k7/ui.admin.css000060400000007165152456730070013743 0ustar00@import url(ui.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);@import url(ui_silver.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);@import url(ui_black.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);.mceO2k7Skin .mceToolbar{border:0}.mceO2k7Skin .mceLayout,.mceO2k7Skin .mceLayout .mceToolbar{border:0!important;background:#fff}.mceO2k7Skin .mceToolbarItem div{display:inline-block}.mceO2k7Skin .mceToolbarItem .mceListBox,.mceO2k7Skin .mceToolbarItem .mceSplitButton{border:1px solid #ABC6DD;box-sizing:border-box;border-radius:0;position:relative;cursor:move}.mceO2k7Skin .mceToolbarItem .mceListBox{width:94px;border-radius:2px}.mceO2k7Skin .mceToolbarItem .mceSplitButton{width:42px;padding:5px 2px;border-left-width:0}.mceO2k7Skin .mceToolbarItem .mceSplitButton .mceIcon{margin:0}.mceO2k7Skin .mceToolbarItemStart .mceSplitButton{border-left-width:1px}.mceO2k7Skin .mceToolbarItemEnd .mceSplitButton{border-right-width:1px;border-right-color:#E5EFFD}.mceO2k7Skin .mceToolbarItem .mceSplitButton+.mceSplitButton{margin-left:0;border-left-width:0}.mceO2k7Skin .mceToolbarRow .mceToolbarItem .mceButton+.mceButton{border-left-width:0}.mceO2k7Skin .mceToolbarItem .mceListBox .mceIcon{width:76px;height:auto}.mceO2k7Skin .mceToolbarItem .mceListBox .mceIcon:before{display:inline-block;background:#fff;font-size:12px;width:76px;line-height:24px;padding:0 3px;box-sizing:border-box}.mceO2k7Skin .mceToolbarItem .mceListBox:after,.mceO2k7Skin .mceToolbarItem .mceSplitButton:after{display:block;position:absolute;right:0;top:0;border-left:1px solid #ABC6DD}.mceO2k7Skin .mceToolbarItem .mceSplitButton:after{line-height:30px}.mceO2k7Skin .mceLayout .mceStatusbar{border:1px solid #ABC6DD;border-top-width:0}.mceO2k7Skin .mceLayout .mceLast{border-color:#ABC6DD}.mceO2k7Skin .mceLayout .mceIframeContainer{background:#fff;width:100%;position:relative;padding:5px;box-sizing:border-box;white-space:pre-line;border:1px solid #ABC6DD;margin:0}.mceO2k7Skin .mceLayout .mceToolbarRow{background-color:#E5EFFD;border-color:#ABC6DD}.mceO2k7Skin .mceToolbarItem .mceListBox:after,.mceO2k7Skin .mceToolbarItem .mceSplitButton:after{background:linear-gradient(to bottom,rgba(229,239,253,1) 0,rgba(193,212,238,1) 50%,rgba(229,239,253,1) 100%)}.mceO2k7Skin.mceO2k7SkinSilver .mceToolbarItem .mceListBox,.mceO2k7Skin.mceO2k7SkinSilver .mceToolbarItem .mceSplitButton{border-color:#bbb}.mceO2k7Skin.mceO2k7SkinSilver .mceToolbarItem .mceListBox:after,.mceO2k7Skin.mceO2k7SkinSilver .mceToolbarItem .mceSplitButton:after{border-color:#bbb;background:linear-gradient(to bottom,rgba(255,255,255,1) 0,rgba(221,221,221,1) 51%,rgba(255,255,255,1) 100%)}.mceO2k7Skin.mceO2k7SkinSilver .mceLayout .mceIframeContainer,.mceO2k7Skin.mceO2k7SkinSilver .mceLayout .mceLast,.mceO2k7Skin.mceO2k7SkinSilver .mceLayout .mceStatusbar{border-color:#bbb}.mceO2k7SkinSilver .mceLayout .mceToolbarRow{background-color:#eee;border-color:#bbb}.mceO2k7Skin.mceO2k7SkinBlack .mceToolbarItem .mceListBox,.mceO2k7Skin.mceO2k7SkinBlack .mceToolbarItem .mceSplitButton{border-color:#B0B6BE}.mceO2k7Skin.mceO2k7SkinBlack .mceToolbarItem .mceListBox:after,.mceO2k7Skin.mceO2k7SkinBlack .mceToolbarItem .mceSplitButton:after{border-color:#535353;background:linear-gradient(to bottom,rgba(203,207,212,1) 0,rgba(152,159,169,1) 100%)}.mceO2k7Skin.mceO2k7SkinBlack .mceLayout .mceIframeContainer,.mceO2k7Skin.mceO2k7SkinBlack .mceLayout .mceLast,.mceO2k7Skin.mceO2k7SkinBlack .mceLayout .mceStatusbar{border-color:#535353}.mceO2k7SkinBlack .mceLayout .mceToolbarRow{background-color:#535353;border-color:#535353}.mceO2k7SkinBlack .mceToolbarItem.sortableRowItem.ui-sortable-highlight{border-color:#fff}.mceEditor .mceToolbar .mceToolbarItem .mceListBox:before{display:block}themes/advanced/skins/o2k7/img/button_bg_black.png000060400000001134152456730070016114 0ustar00PNG  IHDRXBPLTESSSrv|ĻƻǼȾɿ?MPTW[^beimrv{ǀɄˉ͎uz߄8yOtRNS@fAIDATX햱 0$8HA_@|~M&mMRujAJ>!\5ͦRH"(vw''(i #odĦ+m"[S5Ķ*1zp#(LC7c}7ycK蓯) e&@,#+(B+gKH3'Ch]<~bE+Ŏv?fd2ʸhC|⛥T~zPŖΥD&AxPPg9"q7b7nȷqoe*DqMo&7jEĽIENDB`themes/advanced/skins/o2k7/img/button_bg.png000060400000004530152456730070014763 0ustar00PNG  IHDRXB IDATx͛o~:il]zoܯP_uJjj[D̫gG뇡2J0OEpqEq9 ] u!$GƵyemnAQ?`]qX; n0 o4%esΘGW<`\y<-j,v}p1-`qwKY .8 \0 |0VA^K<|S~x٦8΂+C'ImT LhҤ-?R|J19 .7k9Ȝ #ȅPw)C7p+R %sW;x+/w)ۇC߂_~8!qn5p!/r㹊 ¢cPq~)!zW]̂!aIƈ 湚;4_ #G-rlq8"𵑏B1OiZP`~\r.etw7W" VÞ  ; .3uc29'<Þ'.  \0`P HwcIXpCkC jⰲsh\0p#5`P/35"]j9C(0'~Q,x1K9> 3間 .$VwGQkN.vWZ`\RR~(rQ E="@Λ֗D' vzl (}]!<Dx y&_vʸ@Q7q@^0o/0lyoŠdi8|'* @hD=)x,q౬cZ`;3Ӧnݣ\!>Hph$53`y<>+]Nn(82V*oac l7$ׁ?s_ۮo.nћ 2߮r6[4XM11 _7`d#NPspky< YFFvy+ԫd#xDOE_cL55ςcuN)G8{O)5A]`,b67c~m4khQk1{lF机u9]omW{`-|dc%Yd7{(C(w` e ʏPCr5p΋`'01`^ b bz:((65Eܟg$uT= V+fы`]1_V 1Hm%F(X[!gSguQi>*c?58QVPsz>B~Tnjl!Z4U5/${*k4<*|v-&\t{%li Nѷ1AOg}tte:gͼ~92*h[=斊?cz?\w) ^0&۲ ݦ{9gB3x B/f )YH-ґKʠh>/A%WMC`bCJJ-W)oϻ ܍Ҁx屈+dyxU:r?{K_h>Jk {gJw|s7ɯY'w &[we`{ תՎ'8 X51s {;US(n1gk܍}9 v>73 YsTyꀛw ٚyֆu xY;Uٓ~h}!엂js=M[Xcq' ǦTsx;U 9A_q)UM9g!xwI?,@.Okoޑ_*]1h`BS5ގvW@%IENDB`themes/advanced/skins/modern/ui_touch.css000060400000001475152456730070014556 0ustar00.mceModernSkinTouch .mceToolbar .mceListBox .mceText,.mceModernSkinTouch .mceToolbar .mceSourceSearch .mceTextBox{line-height:40px;height:40px}.mceModernSkinTouch .mceToolbar .mceButton{padding:9px 11px}.mceModernSkinTouch .mceToolbar .mceListBox .mceOpen,.mceModernSkinTouch .mceToolbar .mceSplitButton .mceOpen{height:40px;width:20px}.mceModernSkinTouch .mceToolbar .mceSplitButton .mceText{height:40px}.mceModernSkinTouch .mceToolbar .mceSplitButtonMenu::before{width:42px;top:-4px}.mceModernSkinTouch .mceToolbar .mcePanelSplitButton .mcePanel::before{width:50px;top:-7px}.mceModernSkinTouch .mceToolbar .mceTableSplitMenu{width:135px}.mceModernSkinTouch .mceToolbar .mceTableSplitMenu table{padding:2px}.mceModernSkinTouch .mceToolbar .mceSeparator{height:40px}.mceModernSkinTouch .mceButton span.mce_visualblocks{left:-1px}themes/advanced/skins/modern/ui_dark.css000060400000021150152456730070014345 0ustar00@media (prefers-color-scheme:dark){body.admin .mceModernSkin{--wfe-bg:var(--template-bg-dark-90, #2B3035);--wfe-color:var(--body-color, #dee2e6);--wfe-modal-bg:var(--body-bg, #212529)}}.mceModernSkin{--wfe-bg:#2B3035;--wfe-bg-active:rgba(255, 255, 255, 0.2);--wfe-bg-hover:rgba(255, 255, 255, 0.1);--wfe-border-color:#444;--wfe-color:#dee2e6;--wfe-color-light:#fff;--wfe-modal-bg:#212529;--wfe-modal-border-color:rgba(255, 255, 255, 0.15);--wfe-modal-input-focus:#86b7fe}.mceModernSkin.mceModal .mceLoading .mceModalContent:before{background-color:var(--wfe-modal-bg)}.mceModernSkin .mce_spinner:before{border-color:var(--wfe-color)}.mceModernSkin .mceLayout,.mceModernSkin .mceStatusbar,.mceModernSkin .mceToolbar{border-color:var(--wfe-border-color)}.mceModernSkin .mceToolbar{background:var(--wfe-bg)}.mceModernSkin .mceToolbar.mceDisabled{background:rgba(0,0,0,.5)}.mceModernSkin .mceStatusbar{background:var(--wfe-bg);color:var(--wfe-color)}.mceModernSkin .mceButton .mceIcon,.mceModernSkin .mceStatusbar .mcePathLabel,.mceModernSkin .mceStatusbar .mcePathPath .mceText,.mceModernSkin .mceStatusbar .mcePathPath a:after,.mceModernSkin .mceStatusbar .mceResize span,.mceModernSkin .mceStatusbar .mceWordCount .mceText{color:var(--wfe-color)}.mceModernSkin .mceButton:focus,.mceModernSkin .mceButton:hover{border-color:transparent;background-color:var(--wfe-bg-hover);color:var(--wfe-color)}.mceModernSkin .mceButton span.mce_style:after{color:rgba(255,255,255,.3)}.mceModernSkin .mceButtonActive,.mceModernSkin .mceButtonSelected,.mceModernSkin .mcePanelButtonActive{border-color:var(--wfe-border-color);background-color:var(--wfe-bg-active)}.mceModernSkin .mceSplitButton .mceAction{color:var(--wfe-color)}.mceModernSkin .mceSplitButton .mceAction.mce_backcolor{color:var(--wfe-color-light);background-color:var(--wfe-bg-active)}.mceModernSkin .mceSplitButton .mceOpen{background-color:var(--wfe-bg);color:var(--wfe-color)}.mceModernSkin .mceSplitButton .mceOpen:after{color:var(--wfe-color)}.mceModernSkin .mceSplitButton:focus .mceOpen,.mceModernSkin .mceSplitButton:focus .mceText,.mceModernSkin .mceSplitButton:hover .mceOpen,.mceModernSkin .mceSplitButton:hover .mceText{border-color:var(--wfe-border-color);background-color:var(--wfe-bg-hover)}.mceModernSkin .mceListBox .mceComboBox .mceButton,.mceModernSkin.mceListBoxMenu .mceMenuFilter .mceButton{background-color:var(--wfe-bg-hover);color:var(--wfe-color)}.mceModernSkin .mceListBox .mceComboBox .mceButton label,.mceModernSkin .mceListBox .mceComboBox .mceButton:after,.mceModernSkin.mceListBoxMenu .mceMenuFilter .mceButton label,.mceModernSkin.mceListBoxMenu .mceMenuFilter .mceButton:after{color:var(--wfe-color)}.mceModernSkin .mceTextBox{border-color:var(--wfe-border-color);color:var(--wfe-color);background-color:var(--wfe-bg)}.mceModernSkin .mceTextBox:focus{background-color:var(--wfe-bg);color:var(--wfe-color);border-color:var(--wfe-modal-input-focus)}.mceModernSkin .mceListBox .mceButton,.mceModernSkin .mceListBox .mceOpen,.mceModernSkin .mceListBox .mceText{border-color:var(--wfe-border-color);background-color:var(--wfe-bg);color:var(--wfe-color)}.mceModernSkin .mceListBox .mceOpen:after{color:var(--wfe-color);background-image:none}.mceModernSkin .mceListBox:focus .mceOpen,.mceModernSkin .mceListBox:focus .mceText,.mceModernSkin .mceListBox:hover .mceOpen,.mceModernSkin .mceListBox:hover .mceText{border-color:transparent;background-color:var(--wfe-bg-hover)}.mceModernSkin.mceListBoxMenu{background-color:var(--wfe-bg);border-color:var(--wfe-border-color);color:var(--wfe-color)}.mceModernSkin.mceListBoxMenu .mceMenuItems .mceMenuItem .mceIcon,.mceModernSkin.mceListBoxMenu .mceMenuItems .mceMenuItem .mceText,.mceModernSkin.mceListBoxMenu .mceMenuItems .mceMenuItem:before{color:var(--wfe-color)}.mceModernSkin.mceListBoxMenu .mceMenuItems .mceMenuItem:hover{background-color:var(--wfe-bg-hover)}.mceModernSkin.mceListBoxMenu .mceMenuItems .mceMenuItem.mceMenuItemActive{background-color:var(--wfe-bg-active)}.mceModernSkin.mceListBoxMenu .mceMenuFilter{border-color:var(--wfe-border-color)}.mceModernSkin.mceListBoxMenu .mceMenuFilter input{background-color:var(--wfe-bg);color:var(--wfe-color)}.mceModernSkin.mceListBoxMenu.mceFormatListMenu .mceMenuItems,.mceModernSkin.mceListBoxMenu.mceStylesBoxMenu .mceMenuItems,.mceModernSkin.mceListBoxMenu.mceStylesListMenu .mceMenuItems{background-color:#fff}.mceModernSkin.mceListBoxMenu.mceFormatListMenu .mceMenuItems .mceMenuItem:hover,.mceModernSkin.mceListBoxMenu.mceStylesBoxMenu .mceMenuItems .mceMenuItem:hover,.mceModernSkin.mceListBoxMenu.mceStylesListMenu .mceMenuItems .mceMenuItem:hover{background-color:#eee}.mceModernSkin.mceSplitButtonMenu{background-color:var(--wfe-bg);border-color:var(--wfe-border-color);color:var(--wfe-color)}.mceModernSkin.mceSplitButtonMenu .mceMenuItems .mceSelected{background-color:var(--wfe-bg-active)}.mceModernSkin.mceMenu .mceMenuItems .mceMenuHtml input[type=text],.mceModernSkin.mceMenu .mceMenuItems .mceMenuHtml select,.mceModernSkin.mceMenu .mceMenuItems .mceMenuHtml textarea{border-color:var(--wfe-border-color);background-color:var(--wfe-bg);color:var(--wfe-color)}.mceModernSkin.mceMenu .mceMenuItems .mceMenuHtml:hover{background-color:transparent}.mceModernSkin.mceMenu .mceMenuItems .mceMenuItem .mceIcon,.mceModernSkin.mceMenu .mceMenuItems .mceMenuItem .mceText{color:var(--wfe-color)}.mceModernSkin.mceMenu .mceMenuItems .mceMenuItemEnabled:hover{background-color:var(--wfe-bg-hover)}.mceModernSkin .mceListBoxSelected::after,.mceModernSkin .mceSplitButtonSelected .mceOpen,.mceModernSkin .mceSplitButtonSelected .mceText,.mceModernSkin .mceSplitButtonSelected:after,.mceModernSkin .mceSplitButtonSelected:hover .mceText{background-color:var(--wfe-bg);border-color:var(--wfe-border-color)}.mceModernSkin span.mce_visualblocks:before{border-color:var(--wfe-border-color)}.mceModernSkin .mceTableSplitMenu{background-color:var(--wfe-bg);border-color:var(--wfe-border-color);color:var(--wfe-color)}.mceModernSkin .mceTableSplitMenu td{background-color:var(--wfe-bg)}.mceModernSkin .mceTableSplitMenu td a{border-color:var(--wfe-border-color)}.mceModernSkin .mceTableSplitMenu td.selected a{border-color:var(--wfe-border-color);background-color:var(--wfe-bg-active)}.mceModernSkin .mceTableSplitMenu .mceTableGridCount{background-color:var(--wfe-bg);color:var(--wfe-color)}.mceModernSkin.mceModal .mceModalBody .mceModalContent,.mceModernSkin.mceModal .mceModalBody .mceModalFooter,.mceModernSkin.mceModal .mceModalBody .mceModalHeader{background-color:var(--wfe-modal-bg);color:var(--wfe-color)}.mceModernSkin.mceModal .mceModalBody .mceModalContent *,.mceModernSkin.mceModal .mceModalBody .mceModalFooter *,.mceModernSkin.mceModal .mceModalBody .mceModalHeader *{color:var(--wfe-color)}.mceModernSkin.mceModal .mceModalBody .mceModalContent input[type],.mceModernSkin.mceModal .mceModalBody .mceModalContent select,.mceModernSkin.mceModal .mceModalBody .mceModalContent textarea{border-color:var(--wfe-border-color);background-color:var(--wfe-modal-bg);color:var(--wfe-color)}.mceModernSkin.mceModal .mceModalBody .mceModalClose{background-color:var(--wfe-modal-bg)}.mceModernSkin.mceModal .mceModalBody .mceModalClose:after{color:var(--wfe-color)}.mceModernSkin.mceModal .mceModalBody .mceButton:disabled,.mceModernSkin.mceModal .mceModalBody .mceButton:focus:disabled,.mceModernSkin.mceModal .mceModalBody .mceButton:hover:disabled,.mceModernSkin.mceModal .mceModalBody .mceModalFooter .mceButton:not(.mceButtonPrimary):focus,.mceModernSkin.mceModal .mceModalBody .mceModalFooter .mceButton:not(.mceButtonPrimary):hover{border-color:transparent;background-color:var(--wfe-bg-hover);color:var(--wfe-color)}.mceModernSkin.mceModal .mceModalContent .mceCharacterMap button{background-color:var(--wfe-bg);border-color:var(--wfe-border-color);color:var(--wfe-color)}.mceModernSkin.mceModal .mceListBox .mceOpen,.mceModernSkin.mceModal .mceListBox .mceText{border-color:var(--wfe-border-color);background-color:var(--wfe-modal-bg);color:var(--wfe-color)}.mceModernSkin.mceModal .mceListBox:focus .mceOpen,.mceModernSkin.mceModal .mceListBox:focus .mceText,.mceModernSkin.mceModal .mceListBox:hover .mceOpen,.mceModernSkin.mceModal .mceListBox:hover .mceText{border-color:var(--wfe-border-color);background-color:var(--wfe-bg-hover)}.mceModernSkin .mceColorSplitMenu,.mceModernSkin .mceColorSplitMenu button,.mceModernSkin .mceColorSplitMenu button.mceMoreColors{background-color:var(--wfe-bg)}.mceModernSkin.mceModal .mceListBox .mceComboBox{border-color:var(--wfe-border-color)}.mceModernSkin .mceColorSplitMenu button{border-color:var(--wfe-border-color);color:var(--wfe-color)}.mceModernSkin .mceColorSplitMenu button.mceMoreColors:hover{background-color:var(--wfe-bg-hover);border-color:var(--wfe-border-color)}themes/advanced/skins/modern/content.css000060400000000107152456730070014400 0ustar00@import url(../default/content.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);themes/advanced/skins/modern/fonts.css000060400000040454152456730070014070 0ustar00.mceModernSkin .mceMenuItem .mceIcon{position:absolute}.mceModernSkin .mceButton .mceIconImage{line-height:1}.mceIcon-xsmall{font-size:.5rem;line-height:.5rem}.mceIcon-small{font-size:.75rem;line-height:.75rem}.mceIcon-medium{font-size:1.25rem;line-height:1.25rem}.mceIcon-large{font-size:1.5rem;line-height:1.5rem}.mceModernSkin span.mce_bold:before,.mceModernSkin span.mce_italic:before,.mceModernSkin span.mce_strikethrough:before,.mceModernSkin span.mce_underline:before{font-family:"times new roman,times";font-size:1.25rem;line-height:1.25rem}.mceModernSkin span.mce_strikethrough:before{content:"S";text-decoration:line-through}.mceModernSkin span.mce_underline:before{content:"U";text-decoration:underline}.mceModernSkin span.mce_bold:before{content:"B";font-weight:800}.mceModernSkin span.mce_italic:before{content:"I";font-style:italic}.mceModernSkin span.mce_arrow-right:before{content:"\edcb"}.mceModernSkin span.mce_arrow-left:before{content:"\edcf"}.mceModernSkin .mceSplitButton .mce_backcolor .mceAction,.mceModernSkin .mceSplitButton .mce_forecolor .mceAction{line-height:1em;height:1.125em;margin-bottom:2px}.mceModernSkin .mceSplitButton .mce_backcolor .mceAction{background:#bbb}.mceModernSkin span.mce_backcolor:before,.mceModernSkin span.mce_forecolor:before{content:"A";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1rem;font-weight:700}.mceModernSkin span.mce_selectall::before{content:"";padding:.5rem;display:inline-block;background-color:#eee;border:1px dashed #aaa}.mceModernSkin .mceButton span.mce_style,.mceModernSkin .mceSplitButton span.mce_textcase{position:relative;width:1.25em;line-height:.75}.mceModernSkin span.mce_style:before{content:"A";font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:.75em;position:absolute;font-weight:700;top:0;left:0}.mceModernSkin span.mce_style:after{content:"A";font-family:georgia,palatino,serif;font-weight:700;font-size:1.25em;color:rgba(0,0,0,.6);font-style:italic;position:absolute;right:0;bottom:0}.mceModernSkin span.mce_textcase:after,.mceModernSkin span.mce_textcase:before{font-family:'Times New Roman',Times,serif;position:absolute;font-weight:700}.mceModernSkin span.mce_textcase:before{content:"a";font-size:1em;bottom:.25em;left:0}.mceModernSkin span.mce_textcase:after{content:"A";font-size:1.25em;right:0;bottom:0}.mceModernSkin .mceButton span.mce_visualblocks{display:block;height:20px;left:1px}.mceModernSkin span.mce_visualblocks:before{content:"P";font-size:8px;position:absolute;top:0;left:0;border:1px dashed rgba(0,0,0,.4);width:10px;height:10px;text-align:left;padding:4px;font-weight:700;font-family:"Helvetica Neue",Arial,sans-serif;box-sizing:content-box}.mceModernSkin span.mce_source_search_regex:before{content:".*";font-family:Tahoma,Arial,sans-serif;font-size:14px;font-weight:700;line-height:1}.mceModernSkin span.mce_source_search_matchcase:before{content:"Aa";font-family:Tahoma,Arial,sans-serif;font-size:14px;line-height:1}.mceModernSkin span.mce_source_search_wholeword:before{content:"ab";font-family:Tahoma,Arial,sans-serif;font-size:14px;line-height:1;text-decoration:underline}.mceModernSkin span.mce_cite:before,.mceModernSkin span.mce_q:before{font-family:'Times New Roman',Times,serif;font-size:.75em;font-weight:600}.mceModernSkin span.mce_cite:before{content:"\201C...\201D"}.mceModernSkin span.mce_q:before{content:"\201C\201D"}.mceModernSkin span.mce_abbr:before,.mceModernSkin span.mce_acronym:before{font-family:Tahoma,Arial,sans-serif;font-size:.5em;line-height:1;vertical-align:middle}.mceModernSkin span.mce_abbr:before{content:"ABBR";font-weight:700}.mceModernSkin span.mce_acronym:before{content:"A.B.C";font-weight:700}.mceModernSkin span.mce_del:before,.mceModernSkin span.mce_ins:before{content:"A";font-family:'Times New Roman',Times,serif;font-size:1.25em;font-weight:700;text-decoration:line-through rgba(0,0,0,.8);line-height:inherit}.mceModernSkin span.mce_ins:before{text-decoration:underline rgba(0,0,0,.8)}.mceModernSkin span.mce_hashtag:before{content:"#";font-family:Tahoma,Arial,sans-serif;font-weight:700}.mceModernSkin span.mce_microdata:before{content:"\ec1b"}.mceModernSkin span.mce_arrow-up:before{content:"\edcc"}.mceModernSkin span.mce_arrow-down:before{content:"\edd0"}.mceModernSkin span.mce_checkbox:before{content:"\e033"}.mceModernSkin span.mce_file-text:before,.mceModernSkin span.mce_file:before,.mceModernSkin span.mce_filemanager:before,.mceModernSkin span.mce_files:before{content:"\e9ad"}.mceModernSkin span.mce_file-aiff:before,.mceModernSkin span.mce_file-audio:before,.mceModernSkin span.mce_file-mp3:before,.mceModernSkin span.mce_file-oga:before,.mceModernSkin span.mce_file-wav:before,.mceModernSkin span.mce_file-wma:before{content:"\e9b1"}.mceModernSkin span.mce_file-avi:before,.mceModernSkin span.mce_file-m4v:before,.mceModernSkin span.mce_file-mov:before,.mceModernSkin span.mce_file-mp4:before,.mceModernSkin span.mce_file-ogg:before,.mceModernSkin span.mce_file-ogv:before,.mceModernSkin span.mce_file-video:before,.mceModernSkin span.mce_file-webm:before,.mceModernSkin span.mce_video:before{content:"\e9b5"}.mceModernSkin span.mce_email:before{content:"\ea32"}.mceModernSkin span.mce_backward:before{content:"\ed88"}.mceModernSkin span.mce_forward:before{content:"\ed89"}.mceModernSkin span.mce_first:before{content:"\ed8a"}.mceModernSkin span.mce_last:before{content:"\ed8b"}.mceModernSkin span.mce_sort-alpha-asc:before{content:"\ee4c"}.mceModernSkin span.mce_sort-alpha-desc:before{content:"\ee4d"}.mceModernSkin span.mce_sort-numeric-asc:before{content:"\ee4e"}.mceModernSkin span.mce_sort-numeric-desc:before{content:"\ee4f"}.mceModernSkin span.mce_thumbnail:before,.mceModernSkin span.mce_thumbnail_create:before{content:"\e93e"}.mceModernSkin span.mce_thumbnail_delete:before{content:"\e93f"}.mceModernSkin span.mce_caption_add:before{content:"\e942"}.mceModernSkin span.mce_caption_delete:before{content:"\e940"}.mceModernSkin span.mce_upload:before{content:"\ec7f"}.mceModernSkin span.mce_cloud_upload:before{content:"\f0ee"}.mceModernSkin span.mce_star:before{content:"\ece2"}.mceModernSkin span.mce_remove:before{content:"\ed6d"}.mceModernSkin span.mce_remove-small:before{content:"\ed6e"}.mceModernSkin span.mce_folder-open:before{content:"\e930"}.mceModernSkin span.mce_home:before{content:"\e901"}.mceModernSkin span.mce_edit:before{content:"\e914"}.mceModernSkin span.mce_quill:before{content:"\e91b"}.mceModernSkin span.mce_image:before,.mceModernSkin span.mce_imgmanager:before{content:"\e941"}.mceModernSkin span.mce_insertlayer:before{content:"\e92e"}.mceModernSkin span.mce_layerbackward:before{content:"\ea46"}.mceModernSkin span.mce_layerforward:before{content:"\ea47"}.mceModernSkin span.mce_layerabsolute:before{content:"\e908"}.mceModernSkin span.mce_imgmanager_ext:before{content:"\e93c"}.mceModernSkin span.mce_film:before,.mceModernSkin span.mce_media:before,.mceModernSkin span.mce_mediamanager:before{content:"\e95e"}.mceModernSkin span.mce_file-empty:before,.mceModernSkin span.mce_newdocument:before{content:"\e99d"}.mceModernSkin span.mce_file-plus:before{content:"\e9a1"}.mceModernSkin span.mce_file-bmp:before,.mceModernSkin span.mce_file-gif:before,.mceModernSkin span.mce_file-image:before,.mceModernSkin span.mce_file-jpeg:before,.mceModernSkin span.mce_file-jpg:before,.mceModernSkin span.mce_file-picture:before,.mceModernSkin span.mce_file-png:before,.mceModernSkin span.mce_file-svg:before,.mceModernSkin span.mce_file-tiff:before,.mceModernSkin span.mce_img:before{content:"\e9af"}.mceModernSkin span.mce_file-gz:before,.mceModernSkin span.mce_file-rar:before,.mceModernSkin span.mce_file-tar:before,.mceModernSkin span.mce_file-zip:before{content:"\e9b9"}.mceModernSkin span.mce_file-xml:before{content:"\e9bb"}.mceModernSkin span.mce_file-ppt:before,.mceModernSkin span.mce_file-pptx:before,.mceModernSkin span.mce_file-presentation:before{content:"\e9bf"}.mceModernSkin span.mce_file-spreadsheet:before,.mceModernSkin span.mce_file-xls:before,.mceModernSkin span.mce_file-xlsx:before{content:"\e9c5"}.mceModernSkin span.mce_copy:before{content:"\e9c7"}.mceModernSkin span.mce_paste:before{content:"\e9ca"}.mceModernSkin span.mce_pastetext:before{content:"\e9cb"}.mceModernSkin span.mce_folder:before{content:"\e9db"}.mceModernSkin span.mce_folder-plus:before{content:"\e9df"}.mceModernSkin span.mce_print:before{content:"\ea66"}.mceModernSkin span.mce_source_undo:before,.mceModernSkin span.mce_undo:before{content:"\eabc"}.mceModernSkin span.mce_redo:before,.mceModernSkin span.mce_source_redo:before{content:"\eabd"}.mceModernSkin span.mce_blockquote:before{content:"\eb18"}.mceModernSkin span.mce_searchreplace:before{content:"\eb2b"}.mceModernSkin span.mce_search:before{content:"\eb33"}.mceModernSkin span.mce_fullscreen:before,.mceModernSkin span.mce_source_fullscreen:before{content:"\eb3b"}.mceModernSkin span.mce_attribs:before,.mceModernSkin span.mce_cog:before{content:"\eb63"}.mceModernSkin span.mce_cleanup:before{content:"\ebf8"}.mceModernSkin span.mce_trash:before{content:"\ebfa"}.mceModernSkin span.mce_numlist:before,.mceModernSkin span.mce_source_linenumbers:before{content:"\ec55"}.mceModernSkin span.mce_bullist:before{content:"\ec57"}.mceModernSkin span.mce_grid:before{content:"\ec5f"}.mceModernSkin span.mce_list:before{content:"\ec6a"}.mceModernSkin span.mce_link:before,.mceModernSkin span.mce_lnk:before{content:"\ec98"}.mceModernSkin span.mce_unlink:before{content:"\ec99"}.mceModernSkin span.mce_anchor:before{content:"\eca0"}.mceModernSkin span.mce_preview:before{content:"\ecb3"}.mceModernSkin span.mce_help:before{content:"\ed56"}.mceModernSkin span.mce_plus-circle:before{content:"\ed5c"}.mceModernSkin span.mce_minus-circle:before{content:"\ed5d"}.mceModernSkin span.mce_cross:before{content:"\ed69"}.mceModernSkin span.mce_check:before,.mceModernSkin span.mce_checkmark:before{content:"\ed6c"}.mceModernSkin span.mce_spellchecker:before{content:"\ed71"}.mceModernSkin span.mce_refresh:before{content:"\eda7"}.mceModernSkin span.mce_caret-up:before{content:"\edc4"}.mceModernSkin span.mce_caret-right:before{content:"\edc5"}.mceModernSkin span.mce_caret-down:before{content:"\edc6"}.mceModernSkin span.mce_caret-left:before{content:"\edc7"}.mceModernSkin span.mce_arrow_right:before,.mceModernSkin span.mce_source_search_next:before{content:"\edcb"}.mceModernSkin span.mce_arrow_left:before,.mceModernSkin span.mce_source_search_previous:before{content:"\edcf"}.mceModernSkin span.mce_cut:before{content:"\ee83"}.mceModernSkin span.mce_charmap:before{content:"\ee9e"}.mceModernSkin span.mce_nonbreaking:before{content:"\eea0"}.mceModernSkin span.mce_readmore:before{content:"\eea2"}.mceModernSkin span.mce_sup:before,.mceModernSkin span.mce_superscript:before{content:"\eea3"}.mceModernSkin span.mce_sub:before,.mceModernSkin span.mce_subscript:before{content:"\eea4"}.mceModernSkin span.mce_pagebreak:before{content:"\eea9"}.mceModernSkin span.mce_removeformat:before{content:"\eeaa"}.mceModernSkin span.mce_template:before,.mceModernSkin span.mce_templatemanager:before{content:"\eead"}.mceModernSkin span.mce_visualchars:before{content:"\eeae"}.mceModernSkin span.mce_ltr:before{content:"\eeaf"}.mceModernSkin span.mce_rtl:before{content:"\eeb0"}.mceModernSkin span.mce_alignleft:before,.mceModernSkin span.mce_justifyleft:before{content:"\eeb8"}.mceModernSkin span.mce_aligncenter:before,.mceModernSkin span.mce_justifycenter:before{content:"\eeb9"}.mceModernSkin span.mce_alignright:before,.mceModernSkin span.mce_justifyright:before{content:"\eeba"}.mceModernSkin span.mce_alignjustify:before,.mceModernSkin span.mce_justifyfull:before{content:"\eebb"}.mceModernSkin span.mce_indent:before,.mceModernSkin span.mce_source_format:before{content:"\eebc"}.mceModernSkin span.mce_outdent:before{content:"\eebd"}.mceModernSkin span.mce_code:before{content:"\eeca"}.mceModernSkin span.mce_file-pdf:before{content:"\ef36"}.mceModernSkin span.mce_file-openoffice:before{content:"\ef37"}.mceModernSkin span.mce_file-word:before{content:"\ef38"}.mceModernSkin span.mce_file-excel:before{content:"\ef39"}.mceModernSkin span.mce_hr:before{content:"\e01c"}.mceModernSkin span.mce_emotions:before{content:"\e021"}.mceModernSkin span.mce_autosave:before,.mceModernSkin span.mce_restoredraft:before{content:"\e028"}.mceModernSkin span.mce_resize:before{content:"\e032"}.mceModernSkin span.mce_table:before,.mceModernSkin span.mce_table_insert:before,.mceModernSkin span.mce_table_props:before{content:"\e01b"}.mceModernSkin span.mce_row_props:before{content:"\e604"}.mceModernSkin span.mce_cell_props:before{content:"\e605"}.mceModernSkin span.mce_merge_cells:before{content:"\e607"}.mceModernSkin span.mce_col_before:before{content:"\e608"}.mceModernSkin span.mce_col_after:before{content:"\e609"}.mceModernSkin span.mce_row_before:before{content:"\e60a"}.mceModernSkin span.mce_row_after:before{content:"\e60b"}.mceModernSkin span.mce_split_cells:before{content:"\e60d"}.mceModernSkin span.mce_delete_table:before{content:"\e60e"}.mceModernSkin span.mce_delete_row:before{content:"\e800"}.mceModernSkin span.mce_delete_col:before{content:"\e801"}.mceModernSkin span.mce_drag:before{content:"\e908"}.mceModernSkin span.mce_minus:before{content:"\e939"}.mceModernSkin span.mce_plus:before{content:"\e93a"}.mceModernSkin span.mce_rotateleft:before{content:"\eaa8"}.mceModernSkin span.mce_rotateright:before{content:"\eaa9"}.mceModernSkin span.mce_flipv:before{content:"\eaaa"}.mceModernSkin span.mce_fliph:before{content:"\eaac"}.mceModernSkin span.mce_crop:before{content:"\ee78"}.mceModernSkin span.mce_save:before{content:"\e000"}.mceModernSkin span.mce_tag:before{content:"\e013"}.mceModernSkin span.mce_cloud-upload:before{content:"\f0ee"}.mceModernSkin span.mce_lightbox:before{content:"\eecb"}.mceModernSkin span.mce_lightbulb:before{content:"\ebfb";border:1px solid #bbb;padding:1px;margin:-1px 0 0 -2px}.mceModernSkin span.mce_loop:before,.mceModernSkin span.mce_source_replace_all:before{content:"\eda8"}.mceModernSkin span.mce_exchange:before,.mceModernSkin span.mce_source_replace:before{content:"\ee46"}.mceModernSkin span.mce_source_wrap:before{content:"\e902"}.mceModernSkin span.mce_kitchensink:before{content:"\ec6e"}.mceModernSkin span.mce_iframe:before{content:"\e903"}.mceModernSkin span.mce_visualaid:before{content:"\e904"}.mceModernSkin span.mce_highlight:before,.mceModernSkin span.mce_source_highlight:before{content:"\e924"}.mceModernSkin span.mce_columns:before{content:"\e905"}.mceModernSkin span.mce_columns_stack:before{content:"\e909"}.mceModernSkin span.mce_columns_delete:before{content:"\e906"}.mceModernSkin span.mce_columns_add:before{content:"\e907"}.mceModernSkin span.mce_columns_add_before:before{content:"\e91c"}.mceModernSkin span.mce_columns_layout_1_2:before{content:"\e909"}.mceModernSkin span.mce_columns_layout_2_1:before{content:"\e90a"}.mceModernSkin span.mce_columns_layout_1_1_1_2:before{content:"\e90b"}.mceModernSkin span.mce_columns_layout_1_1_2:before{content:"\e90c"}.mceModernSkin span.mce_columns_layout_1_1_3:before{content:"\e90d"}.mceModernSkin span.mce_columns_layout_1_2_1:before{content:"\e90e"}.mceModernSkin span.mce_columns_layout_1_3_1:before{content:"\e90f"}.mceModernSkin span.mce_columns_layout_1_3:before{content:"\e911"}.mceModernSkin span.mce_columns_layout_1_4:before{content:"\e912"}.mceModernSkin span.mce_columns_layout_2_1_1_1:before{content:"\e913"}.mceModernSkin span.mce_columns_layout_2_1_1:before{content:"\e915"}.mceModernSkin span.mce_columns_layout_2_3:before{content:"\e916"}.mceModernSkin span.mce_columns_layout_3_1_1:before{content:"\e917"}.mceModernSkin span.mce_columns_layout_3_1:before{content:"\e918"}.mceModernSkin span.mce_columns_layout_3_2:before{content:"\e919"}.mceModernSkin span.mce_columns_layout_4_1:before{content:"\e91a"}.mceModernSkin span.mce_columns_layout_2_2_1:before{content:"\e91d"}.mceModernSkin span.mce_columns_layout_2_1_2:before{content:"\e91e"}.mceModernSkin span.mce_columns_layout_1_2_2:before{content:"\e91f"}.mceModernSkin span[class*=mce_columns_layout_]:before{padding:2px;line-height:1.25}.mceModernSkin span.mce_joomla:before{content:"\eab5"}.mceModernSkin span.mce_file_link:before,.mceModernSkin span.mce_lnk:before{content:"\e910"}.mceModernSkin span.mce_langcode:before{content:"\e9c9"}.mceModernSkin span.mce_date:before{content:"\e94e"}.mceModernSkin span.mce_spinner:before{content:"";border:.125rem solid #444;border-radius:.75em;width:1em;height:1em;opacity:0;display:inline-block;animation:pulsate 1s ease-out;animation-iteration-count:infinite;vertical-align:top}@keyframes pulsate{0%{transform:scale(.1);opacity:0}50%{opacity:.8}100%{transform:scale(1.2);opacity:0}}themes/advanced/skins/modern/ui.css000060400000011755152456730070013356 0ustar00@import url(fonts.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);.mceModernSkin .mceToolbar{background:#fafafa}.mceModernSkin .mceToolbar.mceDisabled{background:rgba(255,255,255,.5)}.mceModernSkin .mceToolbarRow .mceToolbarItem{background-color:transparent;margin:2px}.mceModernSkin .mceToolbarRow .mceToolbarItem .mceTextBox{max-width:inherit}.mceModernSkin .mceToolbarRow .mceToolbarItem textarea{height:auto;white-space:pre-wrap;font-size:13px;line-height:2}.mceModernSkin .mceMenu .mceToolbarRow .mceToolbarItem{width:100%}.mceModernSkin .mceToolbarFooter .mceToolbarItem{text-align:right}.mceModernSkin .mceToolbarFooter .mceToolbarItem .mceButton{min-width:5em;height:32px;line-height:1;background:#fff;border-radius:2px;color:#444;border:1px solid #ddd;margin:0 0 0 4px;padding:0 8px}.mceModernSkin .mceToolbarFooter .mceToolbarItem .mceButtonPrimary{background-color:#337ab7;border:1px solid rgba(0,0,0,.06);color:#fff}.mceModernSkin .mceButton,.mceModernSkin .mceListBox .mceOpen,.mceModernSkin .mceListBox .mceText,.mceModernSkin .mceSplitButton .mceOpen,.mceModernSkin .mceSplitButton .mceText{border-color:transparent;color:rgba(0,0,0,.87);background-color:transparent}.mceModernSkin .mceButton .mceIcon,.mceModernSkin .mceMenuItem .mceIcon,.mceModernSkin .mceSplitButton .mceAction{color:rgba(0,0,0,.87);height:1em;line-height:1;text-align:center;min-width:1em;max-width:inherit;background:0 0}.mceModernSkin .mceButtonPrimary{color:#fff}.mceModernSkin button:disabled{cursor:not-allowed}.mceModernSkin button:disabled .mceIcon{opacity:.38}.mceModernSkin .mceButton:focus,.mceModernSkin .mceButton:hover{border:1px solid #ddd;background-color:#e6e6e6}.mceModernSkin .mceButtonPrimary:focus,.mceModernSkin .mceButtonPrimary:hover{background-color:#286090;color:#fff;border-color:rgba(0,0,0,.21)}.mceModernSkin .mceSplitButton:focus .mceOpen,.mceModernSkin .mceSplitButton:focus .mceText,.mceModernSkin .mceSplitButton:hover .mceOpen,.mceModernSkin .mceSplitButton:hover .mceText,.mceModernSkin .mceSplitButtonActive .mceOpen,.mceModernSkin .mceSplitButtonActive .mceText{border-color:#ccc;background-color:#e6e6e6}.mceModernSkin .mceSplitButtonActive .mceOpen{border-left:1px solid #ccc}.mceModernSkin .mceListBox .mceText{border-top-color:#ddd;border-bottom-color:#ddd;border-left-color:#ddd}.mceModernSkin .mceListBox .mceText::placeholder{color:#ddd;font-size:inherit}.mceModernSkin .mceListBox .mceOpen{background-color:transparent;border-top-color:#ddd;border-bottom-color:#ddd;border-right-color:#ddd}.mceModernSkin .mceListBox .mceOpen:after{color:transparent;background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg%20width%3D%2224%22%20height%3D%2216%22%20viewBox%3D%220%200%2024%2016%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%201%209%206%2015%206%22%20%2F%3E%0A%20%20%20%20%3Cpolygon%20fill%3D%22%23666%22%20points%3D%2212%2013%209%208%2015%208%22%20%2F%3E%0A%3C%2Fsvg%3E%0A");background-repeat:no-repeat;background-position:center}.mceModernSkin .mceButtonActive,.mceModernSkin .mceButtonSelected,.mceModernSkin .mcePanelButtonActive{background-color:#e6e6e6;border-color:#ddd}.mceModernSkin .mceButtonDialog::before{top:-6px}.mceModernSkin .mceColorPreview{outline:#e6e6e6 solid 1px}.mceModernSkin .mceListBox .mceMenuItems .mceIcon{top:0;width:32px;left:0;height:32px;line-height:2}.mceModernSkin .mceSplitButtonMenu{position:relative}.mceModernSkin .mcePanelButtonSelected,.mceModernSkin .mcePanelButtonSelected:hover{border-color:#ddd;background:#fff}.mceModernSkin .mcePanelButtonSelected .mceText,.mceModernSkin .mcePanelButtonSelected:hover .mceText{background:#fff;border-color:#ddd transparent #ddd #ddd;border-radius:2px 0 0}.mceModernSkin .mcePanelButtonSelected .mceOpen,.mceModernSkin .mcePanelButtonSelected:hover .mceOpen{background:#fff;border-color:#ddd #ddd #ddd transparent;border-radius:0 2px 0 0}.mceModernSkin .mceSplitButtonSelected .mceText,.mceModernSkin .mceSplitButtonSelected:hover .mceText{background:#fff;border-color:#ccc;border-radius:2px 0 0}.mceModernSkin .mceSplitButtonSelected .mceOpen,.mceModernSkin .mceSplitButtonSelected:hover .mceOpen{background:#fff;border-color:#ccc #ccc #ccc transparent;border-radius:0 2px 0 0}.mceModernSkin .mceColorSplitMenu{padding:2px;background:#fff}.mceModernSkin .mcePanel::before{background-color:#fff}.mceModernSkin .mceListBoxMenu{overflow:hidden}.mceModernSkin .mceListBox:hover .mceText,.mceModernSkin .mceListBoxSelected .mceText,.mceModernSkin .mceListBoxSelected:hover .mceText{background:#fff;border-color:#ccc;border-radius:2px 0 0}.mceModernSkin .mceDefaultSkin .mceListBoxSelected:hover .mceOpen,.mceModernSkin .mceListBox:hover .mceOpen,.mceModernSkin .mceListBoxSelected .mceOpen{background:#fff;border-color:#ccc #ccc #ccc transparent;border-radius:0 2px 0 0}.mceModernSkin .mceStatusbar .mceResize span{color:rgba(0,0,0,.87);text-align:right;display:inline-block;background:0 0;width:1em;height:1em}.mceModernSkin .mceModalContent .mceButtonUpload .mceIcon{font-size:1em;line-height:2.25;height:100%;margin:auto}themes/advanced/skins/modern/ui.admin.css000060400000007215152456730070014441 0ustar00@import url(ui.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);@import url(ui_touch.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);@import url(../default/ui.admin.css?v=7c1b5ae6239f4f3b8116c6316bce0db9);.mceModernSkin .mceToolbarItem .mceListBox::after,.mceModernSkin .mceToolbarItem .mceSplitButton::after{width:14px}.mceModernSkin .mceToolbarItem .mceSplitButton .mceIcon{width:30px;max-width:30px;line-height:2;vertical-align:middle;height:2em;margin:0}.nav-item .mceToolbarItem,.nav-item .mceToolbarItem .mceButton{display:flex;flex-wrap:wrap}.mceModernSkin .mceToolbarItem .mceButton:not(.mceListBox),.mceModernSkin .mceToolbarItem .mceSplitButton:after{border-color:transparent;background-color:transparent}.mceModernSkin .mceToolbarItem .mceButton:hover,.mceModernSkin .mceToolbarItem.ui-sortable-helper .mceButton,.nav-item .mceModernSkin .mceToolbarItem .mceButton{border-color:#ddd;background-color:#eee}.mceModernSkin .mceToolbarItem .mceSplitButton:hover:after,.mceModernSkin .mceToolbarItem.ui-sortable-helper .mceSplitButton:after{border-left-color:#ddd;background-color:#eee}.mceModernSkin .mceToolbarItem .mceSplitButton span.mce_backcolor,.mceModernSkin .mceToolbarItem .mceSplitButton span.mce_forecolor{line-height:1.5}.mceModernSkin .mceToolbarItem .mceSplitButton span.mce_backcolor:after,.mceModernSkin .mceToolbarItem .mceSplitButton span.mce_forecolor:after{content:"";width:16px;height:4px;outline:#eee solid 1px;display:block;margin:-3px auto}.mceModernSkin span.mce_forecolor:after{background-color:#000}.mceModernSkin span.mce_backcolor:after{background-color:#ff0}.mceModernSkin .mceToolbarItem .mceSplitButton span.mce_textcase{line-height:1.75}.mceModernSkin .mceToolbarItem .mceSplitButton span.mce_textcase:before{left:.25em}.mceModernSkin .mceToolbarItem .mceSplitButton span.mce_textcase:after{right:.25em}.mceModernSkinTouch .mceToolbarItem .mceListBox,.mceModernSkinTouch .mceToolbarItem .mceSplitButton{border-color:#dcdcdc;height:40px}.mceModernSkinTouch .mceLayout .mceToolbar .mceToolbarRow{min-height:40px}.mceModernSkinTouch .mceToolbarItem .mceButton{padding:11px;border-color:#dcdcdc;background-color:#fafafa}.mceModernSkinTouch .mceToolbarItem .mceListBox{width:112px;padding:0}.mceModernSkinTouch .mceToolbarItem .mceSplitButton{width:52px;padding:0;height:40px}.mceModernSkinTouch .mceToolbarItem .mceSplitButton .mceIcon{max-width:32px;height:36px;width:32px;line-height:2.25}.mceModernSkinTouch .mceToolbarItem .mceListBox .mceIcon{width:92px}.mceModernSkinTouch .mceToolbarItem .mceListBox .mceIcon:before{width:92px;line-height:34px}.mceModernSkinTouch .mceToolbarItem .mceListBox:after,.mceModernSkinTouch .mceToolbarItem .mceSplitButton:after{line-height:38px;width:18px}.mceModernSkinTouch .mceLayout .mceIframeContainer,.mceModernSkinTouch .mceLayout .mceStatusbar{border-color:#dcdcdc}.mceModernSkinTouch .mceLayout .mceToolbarRow{background-color:#fafafa;border-color:#dcdcdc}.mceModernSkinTouch .mceToolbar .sortableRowHandle{height:42px}.mceModernSkinTouch .mceToolbar .sortableRowHandle .uk-icon{margin:12px 0 0}.mceModernSkinTouch .mceToolbarItem .mceSeparator{height:34px;background:#dcdcdc}.mceModernSkinTouch .sortableList .mceToolbarRow.sortableListItem.ui-sortable-highlight{height:38px}.mceModernSkinTouch .sortableList .mceToolbarItem.sortableRowItem.ui-sortable-highlight{height:36px}.mceModernSkinTouch .mceLayout,.mceModernSkinTouch .mceLayout .mceToolbar{border:0!important;background:#fff}.mceModernSkinTouch .mceLayout .mceFirst,.mceModernSkinTouch .mceLayout .mceLast{background-color:#fff!important}.mceModernSkinTouch .mceLayout .mceStatusbar{background-color:#fafafa!important}.mceModernSkinTouch .mceToolbarItem .mceListBox::before{line-height:38px;width:90px}themes/none/skins/default/content.css000060400000000071152456730070013732 0ustar00@import url(../../../advanced/skins/default/content.css);themes/none/skins/default/ui.css000060400000000064152456730070012677 0ustar00@import url(../../../advanced/skins/default/ui.css);themes/none/theme.js000060400000007141152456730070010440 0ustar00/* This file includes original and modified code from various versions of TinyMCE, relicensed under GPL v2+ per LGPL 2.1 §3 where applicable. Source: https://github.com/widgetfactory/tinymce-muon; Copyright (c) Tiny Technologies, Inc. All rights reserved.; Copyright (c) 1999–2015 Ephox Corp. All rights reserved.; Copyright (c) 2009 Moxiecode Systems AB. All rights reserved.; Copyright (c) 2009–2025 Ryan Demmer. All rights reserved.; For a detailed history of modifications, refer to the Git commit history.; Licensed under the GNU General Public License version 2 or later (GPL v2+): https://www.gnu.org/licenses/gpl-2.0.html */ !function() { var DOM = tinymce.DOM; tinymce.create("tinymce.themes.NoSkin", { init: function(ed, url) { var s = ed.settings; function grabContent() { var se = ed.selection, n = ed.dom.add(ed.getBody(), "div", { id: "_mcePaste", style: "position:absolute;left:-1000px;top:-1000px" }, '
                ').firstChild, or = ed.selection.getRng(), r = ed.getDoc().createRange(); r.setStart(n, 0), r.setEnd(n, 0), se.setRng(r), window.setTimeout(function() { var h = (n = ed.dom.get("_mcePaste")).innerHTML, n = (ed.dom.remove(n), se.setRng(or), h = h.replace(/<\/?\w+[^>]*>/gi, ""), ed.dom.create("div", 0, h)); tinymce.each(ed.dom.select("span", n).reverse(), function(n) { if (ed.dom.getAttribs(n).length <= 1 && "" === n.className) return ed.dom.remove(n, 1); }), ed.execCommand("mceInsertContent", !1, ed.serializer.serialize(n, { getInner: 1 })); }, 0); } (this.editor = ed).onInit.add(function() { ed.onBeforeExecCommand.add(function(ed, cmd, ui, val, o) { return !(o.terminate = !0); }), ed.dom.loadCSS(url + "/skins/default/content.css"); }), ed.onKeyDown.add(function(ed, e) { (e.ctrlKey && 86 == e.keyCode || e.shiftKey && 45 == e.keyCode) && grabContent(); }), ed.onKeyDown.add(function(ed, e) { if (e.ctrlKey && 66 == e.keyCode || e.ctrlKey && 73 == e.keyCode || e.ctrlKey && 85 == e.keyCode) return tinymce.dom.Event.cancel(e); }), ed.settings.compress.css || DOM.loadCSS(s.editor_css ? ed.documentBaseURI.toAbsolute(s.editor_css) : url + "/skins/default/ui.css"); }, renderUI: function(o) { o.targetNode; var ic, sc, p, ed = this.editor, n = p = DOM.create("div", { role: "application", "aria-labelledby": ed.id + "_voice", id: ed.id + "_parent", class: "mceEditor mceDefaultSkin" + ("rtl" == ed.settings.directionality ? " mceRtl" : "") }); return DOM.add(n, "span", { class: "mceVoiceLabel", style: "display:none;", id: ed.id + "_voice" }, ed.settings.aria_label), sc = DOM.add(n, "div", { role: "presentation", id: ed.id + "_tbl", class: "mceLayout" }), ic = DOM.add(sc, "div", { class: "mceIframeContainer" }), n = o.targetNode, DOM.insertAfter(p, n), { iframeContainer: ic, editorContainer: ed.id + "_parent", sizeContainer: sc, deltaHeight: -20 }; } }), tinymce.ThemeManager.add("none", tinymce.themes.NoSkin); }();field/tinymcebuilder/setoptions.php000060400000001134152457216020013565 0ustar00 * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; extract($displayData); /** * Layout variables * ----------------- * @var JForm $form Form with extra options for the set * @var JLayoutFile $this Context */ ?>
                getGroup(null) as $field) : ?> renderField(); ?>